Jak rychle vytvořit a nasadit adaptabilní aplikace vidění v technologii edge s platformou připravenou na produkci

By Stephen Evanczuk

Contributed By DigiKey's North American Editors

Aplikace umělé inteligence („Artificial Intelligence“, AI) se v inteligentních kamerách založených na technologii edge rychle rozšířila v rostoucí řadě aplikací vestavěného vidění, jako je strojové vidění, zabezpečení, maloobchod a robotika. Zatímco rychlý nástup dostupných algoritmů strojového učení („Machine Learning“, ML) pomohl tento zájem o AI uvést, vývojáři se stále potýkají s napjatými plány projektů a zároveň poskytováním vysokého výkonu při nízké spotřebě pro aplikace založené na technologii edge.

Situaci dále komplikuje skutečnost, že i nově nasazená řešení mohou rychle přestat být optimální v důsledku rychle se měnící povahy požadavků na aplikace a neustálého zlepšování vyvíjejících se algoritmů.

V tomto článku je představeno flexibilní řešení SOM („System-On-Module“) od společnosti Xilinx, které mohou vývojáři použít k rychlé implementaci řešení inteligentních kamer pro nasazení s technologií edge. Ukážeme si zde, jak je možné tato řešení snáze přizpůsobit v reakci na měnící se potřeby, aniž by musely být ohroženy klíčové požadavky na latenci a výkon.

Zrychlení provádění aplikací vidění

Systém SOM Kria K26 společnosti Xilinx založený na na míru sestaveném multiprocesorového systému na čipu („Multiprocessor System-on-Chip“, MPSoC) Zynq UltraScale+ poskytuje robustní vestavěný procesorový systém zahrnující 64bitovou čtyřjádrovou aplikační procesorovou jednotku („Application Processing Unit“, APU) Arm Cortex-A53, 32bitovou dvoujádrovou procesorovou jednotku v reálném čase („Real-time Processing Unit“, RPU) Arm® Cortex®-R5F a 3D grafický procesor („Graphics Processing Unit“, GPU) Arm Mali-400MP2. Systém SOM kombinuje MPSoC se čtyřmi gigabajty 64bitové paměti DDR4 („double data rate 4“) a přidruženým paměťovým řadičem, stejně jako s více zařízeními s energeticky nezávislou pamětí (NVM) včetně 512 Mbit paměti QSPI („Quad Serial Peripheral Interface“), 16 GB paměti eMMC („embedded Multi-Media Card“) a 64 kbit elektricky mazatelné programovatelné paměti pouze ke čtení (EEPROM) (obrázek 1).

Schéma systému SOM Kria K26 společnosti Xilinx (kliknutím zvětšíte)Obrázek 1: Systém SOM Kria K26 společnosti Xilinx kombinuje rozsáhlé možnosti zpracování na míru sestaveného MPSoC Zynq UltraScale+ s funkcí TPM2 („Trusted Platform Module 2.0“) a dynamickou a energeticky nezávislou pamětí. (Zdroj obrázku: společnost Xilinx)

Společnost Xilinx doplňuje svůj sortiment procesorů a pamětí o rozsáhlý programovatelný logický systém obsahující 256 000 systémových logických buněk, 234 000 klopných obvodů konfigurovatelných logických bloků (CLB), 117 000 vyhledávacích tabulek (LUT) CLB a celkem 26,6 Mbit paměti v různých konfiguracích distribuované paměti s náhodným přístupem (RAM), blokové RAM a bloků ultraRAM. Programovatelný logický systém kromě toho zahrnuje 1 248 vrstev digitálních signálových procesorů („Digital Signal Processing“, DSP), čtyři transceivery a videokodek pro H.264 a H.265 schopný podporovat až 32 streamů simultánního kódování/dekódování až do celkového počtu 3 840 × 2 160 pixelů při 60 snímcích za sekundu. Dva 240pinové konektory systému SOM poskytují snadný přístup k funkčním blokům a periferním zařízením prostřednictvím uživatelsky konfigurovatelného vstupu/výstupu (I/O).

Tato kombinace procesorových jader, paměti a programovatelné logiky poskytuje jedinečnou úroveň flexibility a výkonu, která překonává klíčové nevýhody GPU používaných pro vysokorychlostní provádění algoritmů ML. Na rozdíl od pevného datového toku v GPU mohou vývojáři překonfigurovat datovou cestu SOM K26, aby optimalizovali propustnost a snížili latenci. Kromě toho je architektura SOM K26 zvláště vhodná pro druh rozptýlených sítí v centru rostoucího počtu aplikací ML.

Programovatelnost SOM K26 také řeší problémová místa v paměti, která zvyšují spotřebu a omezují výkon v aplikacích náročných na paměť, jako je ML postavené na konvenčních architekturách využívajících GPU, vícejádrových procesorech nebo dokonce pokročilých SoC. V jakékoli aplikaci navržené s těmito konvenčními zařízeními představuje externí paměť obvykle asi 40 % spotřeby energie systému, zatímco jádra procesoru a interní paměť tvoří obvykle každý asi 30 % spotřeby. Na rozdíl od toho mohou vývojáři využít interní paměťové bloky a rekonfigurovatelnost SOM K26 k implementaci návrhů, které vyžadují malý nebo žádný přístup k externí paměti. Výsledkem je zvýšený výkon a nižší spotřeba energie, než jsou možné u běžných zařízení (obrázek 2).

Schéma – systém Kria společnosti Xilinx využívá efektivní kanál vidění (kliknutím zvětšíte).Obrázek 2: Zatímco systémy založené na vestavěných CPU a typických SoC vyžadují ke spuštění svých aplikací několik energeticky náročných přístupů k paměti, systémy založené na SOM Kria společnosti Xilinx využívají efektivní kanál vidění, který lze navrhnout tak, aby se vyhnul jakýmkoli přístupům k DDR. (Zdroj obrázku: společnost Xilinx)

Spolu se svým vysokým výkonem, nízkou spotřebou energie a rozsáhlou rekonfigurovatelností pomáhá SOM K26 zajistit zabezpečení návrhů inteligentních kamer pro citlivé aplikace. Spolu s vestavěným zabezpečovacím zařízením TPM v SOM integruje MPSoC vyhrazenou konfigurační zabezpečovací jednotku („Configuration Security Unit“, CSU), která podporuje zabezpečené spouštění, monitorování neoprávněné manipulace, zabezpečené úložiště klíčů a kryptografickou hardwarovou akceleraci. CSU, interní paměť na čipu („On-Chip Memory“, OCM) a zabezpečené úložiště klíčů poskytují společně bezpečný základ pro zajištění hardwarové služby Root of Trust k implementaci zabezpečeného spouštění a důvěryhodné platformy pro spouštění aplikací.

Rozsáhlé možnosti dostupné s řešením SOM K26 poskytují silný základ pro implementaci náročných aplikací založených na technologii edge. Každá aplikace však přináší své vlastní požadavky na funkce a funkčnost spojené se sadou periferií a dalších komponent specifických pro příslušné aplikace. Ke zjednodušení implementace řešení specifických pro aplikace je SOM K26 navržen tak, aby byl zapojen do karty nosiče, která je hostitelem dalších periferií. Společnost Xilinx demonstruje tento přístup na své startovací sadě vidění AI KV260 založené na systému Kria 26.

Startovací sada zjednodušuje vývoj aplikací vidění

Startovací sada vidění AI KV260 společnosti Xilinx, která obsahuje SOM K26 zapojený do nosné desky zaměřené na vidění, poskytuje platformu okamžitě připravenou k používání a speciálně navrženou pro okamžité vyhodnocení a rychlý vývoj aplikací inteligentního vidění. Zatímco SOM K26 poskytuje požadované možnosti zpracování, nosná deska startovací sady poskytuje správu napájení, včetně sekvenčního zapnutí a resetu stejně jako možnosti rozhraní a konektory pro kameru, displej a kartu microSD (obrázek 3).

Schéma startovací sady vidění AI KV260 společnosti XilinxObrázek 3: Startovací sada vidění AI KV260 společnosti Xilinx poskytuje kompletní řešení inteligentního vidění pomocí SOM K26 zapojeného do nosné desky zaměřené na vidění. (Zdroj obrázku: společnost Xilinx)

Kromě několika rozhraní poskytuje nosná deska podporu více kamer prostřednictvím konektoru Raspberry Pi a dvojice konektorů IAS („Image Access System“), z nichž jeden je připojen k vyhrazenému 13Mpx procesoru obrazového snímače („Image Sensor Processor“, ISP) AP1302 společnosti onsemi, který je schopen zvládnout všechny funkce zpracování obrazu.

Pro další urychlení implementace aplikací založených na vidění podporuje společnost Xilinx tuto předdefinovanou hardwarovou platformu pro vidění s řadou předpřipravených akcelerovaných aplikací vidění spolu s komplexní sadou softwarových nástrojů a knihoven pro vlastní vývoj.

Akcelerované aplikace poskytují okamžitá řešení

Pro okamžité vyhodnocení a rychlý vývoj akcelerovaných aplikací vidění nabízí společnost Xilinx několik předpřipravených aplikací, které demonstrují provádění několika oblíbených případů použití, včetně detekce obličeje v inteligentní kameře pomocí její programovatelné logiky, identifikace a sledování chodců, detekce defektů a párové vyhledávání klíčových slov pomocí systému zpracování MPSoC. Jednotlivé aplikace, které jsou k dispozici v obchodě Xilinx Kria App Store, poskytují kompletní řešení pro svůj konkrétní případ použití s doprovodnými nástroji a zdroji. Například aplikace pro detekci obličeje v inteligentní kameře využívá vestavěný obrazový snímač AR1335 karty nosiče KV260 a ISP AP1302 k získávání snímků a výstup HDMI nebo DisplayPort (DP) karty pro vykreslení výsledku. Pro zpracování detekce obličeje konfiguruje aplikace SOM K26 tak, aby poskytoval akcelerátor kanálu vidění a předpřipravený inferenční engine strojového učení pro detekci obličejů, počítání lidí a další aplikace inteligentních kamer (obrázek 4).

Obrázek předpřipravených akcelerovaných aplikací v obchodě Xilinx Kria App Store (kliknutím zvětšíte)Obrázek 4: Předpřipravené akcelerované aplikace jsou k dispozici ke stažení z obchodu Xilinx Kria App Store, jsou připraveny k okamžitému spuštění ve startovací sadě KV260 a poskytují kompletní řešení pro modely využívající vidění, jako je detekce obličeje. (Zdroj obrázku: společnost Xilinx)

Poskytnutím kompletní implementace a podpory umožňují předpřipravené akcelerované aplikace z obchodu Xilinx App Store vývojářům zprovoznit návrhy za méně než jednu hodinu, i když nemají s programovatelným hradlovým polem zkušenosti. Při vyhodnocování aplikace mohou k úpravě funkcí použít dodaný softwarový balík a prozkoumat alternativní řešení. Pro rozsáhlejší vlastní vývoj poskytuje společnost Xilinx komplexní sadu vývojových nástrojů a knihoven.

Vývojové prostředí a nástroje AI urychlují vlastní vývoj

Pro vlastní vývoj aplikací založených na AI poskytuje vývojové prostředí Vitis AI společnosti Xilinx optimalizované nástroje, knihovny a předem trénované modely, které mohou sloužit jako základ pro specializovanější vlastní modely. Pro běhové provozní prostředí poskytuje vestavěná sada Linux pro vývoj softwaru (SDK) PetaLinux založená na projektu Yocto společnosti Xilinx úplnou sestavu možností potřebných k sestavení, vývoji, testování a nasazení vestavěných linuxových systémů.

Prostředí Vitis AI, navržené pro odborníky i vývojáře bez zkušeností s programovatelným hradlovým polem, abstrahuje detaily základního křemíkového hardwaru a umožňuje vývojářům se soustředit na vytváření efektivnějších modelů ML. Prostředí Vitis AI je ve skutečnosti integrováno s open-source sestavou kompilátoru hlubokého učení Apache Tensor Virtual Machine (TVM), což vývojářům umožňuje kompilovat své modely z různých frameworků na procesor, GPU nebo akcelerátor. Pomocí Vitis AI s TVM mohou vývojáři vylepšit své stávající návrhy o akcelerované funkce vidění a přesunout výpočetně náročná pracovní zatížení vidění, jako jsou modely hlubokého učení, na SOM Kria. K tomu, aby vývojářům pomohl dále optimalizovat jejich modely hlubokého učení, může nástroj AI Optimization společnosti Xilinx ořezávat neuronové sítě, aby se snížila složitost, pokud jde o počet gigaoperací za sekundu, aby se zvýšil počet snímků za sekundu a redukovaly nadměrně parametrizované modely, tím, že je až 50× komprimuje s malým dopadem na přesnost ve smyslu průměrné přesnosti („mean Average Precision“, mAP) (obrázek 5).

Graf výzkumné případové studie společnosti Xilinx (kliknutím zvětšíte)Obrázek 5: Výzkumná případová studie společnosti Xilinx ukázala, jak může několik iterací ořezávání pomocí nástroje AI Optimization společnosti Xilinx rychle snížit složitost neuronové sítě, pokud jde o počet Gops, a zároveň zvýšit počet snímků za sekundu, to vše s malým dopadem na přesnost. (Zdroj obrázku: společnost Xilinx)

Pro implementaci vlastních aplikací vidění jsou open-source knihovny vidění Vitis společnosti Xilinx optimalizovány pro vysoký výkon a nízké využití zdrojů na platformách Xilinx a poskytují známé rozhraní založené na OpenCV. Efektivnější kanály pro analýzu vidění a videa bez nutnosti hlubokých znalostí programovaného hradlového pole pomáhá vývojářům budovat aplikační rámec Video Analytics SDK společnosti Xilinx pro analýzu. Sada Video Analytics SDK, založená na široce přijímaném open source frameworku GStreamer, umožňuje vývojářům rychle vytvářet vlastní akcelerační jádra jako moduly plug-in GStreamer pro integraci do rámce SDK.

Pomocí těchto nástrojů může typický vývojář vestavěných systémů snadno sestavit vlastní akcelerační kanály s nebo bez vlastních akceleračních jader.

Závěr

Výpočetně náročné algoritmy ML umožnily použití technologie inteligentního vidění ve více aplikacích běžících v technologii edge, ale při plnění požadavků na vysoký výkon, nízkou spotřebu a přizpůsobivost systémů vidění založených na technologii edge čelí vývojáři mnoha výzvám. Řešení SOM Kria K26 od společnosti Xilinx poskytuje hardwarový základ pro urychlení pokročilých algoritmů bez překročení přísných rozpočtů napájení. Pomocí startovací sady založené na systému Kria K26 s předpřipravenými aplikacemi mohou vývojáři okamžitě začít vyhodnocovat aplikace inteligentního vidění a používat komplexní vývojové prostředí k vytváření vlastních řešení zařízení edge.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

About this author

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk has more than 20 years of experience writing for and about the electronics industry on a wide range of topics including hardware, software, systems, and applications including the IoT. He received his Ph.D. in neuroscience on neuronal networks and worked in the aerospace industry on massively distributed secure systems and algorithm acceleration methods. Currently, when he's not writing articles on technology and engineering, he's working on applications of deep learning to recognition and recommendation systems.

About this publisher

DigiKey's North American Editors