Tento článek představí flexibilní řešení system-on-module (SOM) od Xilinx, které lze rychle implementovat do chytrých kamerových systémů, aniž by byla ohrožena latence a příslušný výkon.
Rychlé zpracování obrazu
SOM Xilinx Kria K26 je založen na zakázkově vyrobeném multiprocesorovém systému MPSoC Zynq UltraScale+. Tento systém obsahuje 64bitovou čtyřjádrovou aplikační procesorovou jednotku Arm Cortex-A53 (APU), 32- bitovou dvoujádrovou jednotku reálného času (RPU) Arm Cortex-R5F a jednotku 3D grafického zpracování (GPU) Arm Mali-400MP2.
SOM Kria K26 kromě MPSoC obsahuje 4 GB paměť DDR4 s šířkou 64bitů, přidružený paměťový řadič, NVM paměť 512 Mbits s rozhraním QSPI, 16 GB vestavěnou paměť eMMC a 64 Kbitů paměť EEPROM (obrázek 1).
Obrázek 1: Xilinx Kria K26 SOM kombinuje rozsáhlé možnosti zakázkově vyrobeného Zynq UltraScale+ MPSoC s platformou TPM2 a dynamickou a energeticky nezávislou pamětí. (Zdroj obrázku: Xilinx)
Xilinx je doplněn o rozsáhlý programovatelný logický systém obsahující 256 000 systémových logických buněk, 234 000 konfigurovatelných logických bloků (CLB) klopných obvodů, 117 000 CLB vyhledávacích tabulek (LUT) a celkem 26,6 megabitů paměti v různých konfiguracích – RAM, blokové RAM a blokové ultraRAM.
Programovatelný logický systém obsahuje dále 1248 segmentů digitálního zpracování signálu (DSP), čtyři transceivery a video kodek pro H.264 a H.265 schopný podporovat až 32 toků simultánního kódování/dekódování, až do celkového počtu 3840 x 2160 pixelů při 60 snímcích za sekundu. Dva 240 pinové konektory SOM poskytují snadný přístup k funkčním blokům a periferním zařízením prostřednictvím uživatelsky konfigurovatelných vstupů/výstupů.
Kombinace procesorových jader, paměti a programovatelné logiky poskytuje jedinečnou úroveň flexibility a výkonu, který je potřebný pro vysokorychlostní provádění algoritmů strojového učení. Na rozdíl od pevného datového toku v GPU mohou vývojáři překonfigurovat datovou cestu K26 SOM tak, aby optimalizovali propustnost a snížili latenci.
Programovatelnost SOM K26 ř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 strojové učení. Externí paměť obvykle představuje obvykle asi 40 % spotřeby energie systému, zatímco jádra procesoru a vnitřní paměť tvoří asi 30 %. Využití vnitřních paměťových bloků a flexibility SOM K26 se dosáhne vyššího výkonu a nižší spotřeby energie ve srovnání s běžnými výkonnými procesory (obrázek 2).
Obrázek 2: Zatímco systémy založené na vestavěných CPU a typických SoC vyžadují vícenásobné, energeticky náročné paměťové přístupy ke spuštění svých aplikací, systémy založené na Xilinx Kria používají efektivní video tunely, které nevyužívají externí paměti, a tím sníží spotřebu. (Zdroj obrázku: Xilinx)
Vysoký výkon, nízká spotřeba energie a vysoká flexibilita pomáhá SOM K26 zajistit bezpečnost v inteligentních kamerách pro citlivé aplikace. Integrovaný bezpečnostní prvek TPM MPSoC má vyhrazenou konfigurační bezpečnostní jednotku (CSU), která nabízí bezpečné spouštění, bezpečné ukládání klíčů, kryptografickou hardwarovou akceleraci a monitoring nežádoucí manipulace. CSU, interní paměť a bezpečné úložiště klíčů poskytují bezpečnostní základ pro zajištění tzv. hardwarového kořene důvěry – Hardware Root of Trust.
SOM K26 je navržen tak, aby mohl být zapojen jako karta, která nabízí další periferie. Xilinx toto řešení demonstruje v podobě startovací sady KV260 Vision AI, která je založena na Kria K26.
Startovací sada zjednodušuje vývoj Vision aplikace
Xilinx KV260 Vision AI Starter Kit obsahuje SOM K26 zapojený do nosné desky zaměřené na Vision aplikace. Zatímco SOM K26 poskytuje dostatečný výpočetní výkon pro zpracování obrazu, nosná deska poskytuje správu napájení a konektory pro kameru, displej a kartu microSD (obrázek 3).
Obrázek 3: Startovací kit Xilinx KV260 Vision AI poskytuje kompletní řešení chytrého vidění pomocí SOM K26 zapojeného do nosné desky. (Zdroj obrázku: Xilinx)
Kromě několika rozhraní poskytuje nosná deska podporu kamer prostřednictvím konektoru Raspberry Pi a páru rozhraní IAS. Jeden konektor je připojen ke 13 megapixelovém obrazovému procesoru AP1302 od onsemi, který je schopen zvládnout všechny funkce zpracování obrazu. Onsemi k této sadě nabízí komplexní sadu softwarových nástrojů a knihoven, kterou lze modifikovat dle potřeb uživatele.
Dostatečný výkon přináší rychlé zpracování obrazu
Xilinx nabízí několik předpřipravených aplikací jako je detekce obličeje pomocí chytré kamery, identifikace a sledování chodců nebo detekce defektů. Každá aplikace je k dispozici na Xilinx Kria App Store a poskytuje kompletní řešení pro konkrétní případ, a to i s doprovodnými nástroji a zdroji. Například aplikace pro detekci obličeje pomocí chytré kamery využívá vestavěnou kartu AR1335 na kartě KV260, obrazový snímač a AP1302 ISP pro získávání snímků. SOM K26 může být nakonfigurován tak, aby poskytoval strojové učení pro detekci obličeje, počítání lidí a další aplikace pro chytré kamery (obrázek 4).
Obrázek 4: K dispozici jsou ke stažení z Xilinx Kria App Store předem připravené aplikace k okamžitému spuštění na startovací sadě KV260. (Zdroj obrázku: Xilinx)
Díky kvalitní podpoře a předem sestavených aplikací z Xilinx App Store je možné sestavit prototyp za méně než jednu hodinu, i když vývojáři nemají zkušenosti s FPGA. Pro rozsáhlejší vývoj poskytuje Xilinx komplexní sadu vývojových nástrojů a knihoven.
Vývojové prostředí a nástroje pro umělou inteligenci
Pro vývoj aplikací s umělou inteligencí je tu k dispozici vývojové prostředí Vitis AI, knihovny a připravené modely, které slouží jako základ pro složitější systémy. K dispozici je také runtime operační prostředí se sadou Yocto-PetaLinux SDK, která poskytuje vše potřebné pro vývoj, testování a nasazení vestavěných systémů Linux. Uživatelé mohou také využít Ubuntu s balíčky Linuxu.
Vývojové prostředí Vitis AI je navrženo tak, aby i vývojáři bez zkušeností s FPGA ho uměli jednoduše používat a soustředili se jen na aplikační část strojového vidění. Prostředí Vitis AI je integrováno s open-source kompilátorem Deep Learning Apache Tensor Virtual Machine (TVM), který umožňuje kompilovat modely z frameworků pro různé procesory, GPU nebo akcelerátory. Pomocí Vitis AI s TVM lze vylepšit stávající návrhy a přesunout výpočetně náročné algoritmy do SOM Kria.
Pro optimalizaci modelů hlubokého učení může nástroj Xilinx AI Optimization optimalizovat neuronové sítě tak, aby se snížila složitost z hlediska počtu giga operací za sekundu (Gops), zvýšil se počet snímků za sekundu (fps) a snížil se počet použitých modelů. Tato komprese může být až 50 ti násobná a to s malým dopadem na přesnost mAP (obrázek 5).
Obrázek 5: Případová studie Xilinx Research ukázala, jak několik iterací „optimalizace“ pomocí nástroje Xilinx AI Optimization může 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: Xilinx)
Pro implementaci vlastních Vision aplikací jsou opem source knihovny Vitis Vision Libraries optimalizovány na vysoký výkon a poskytují známé rozhraní OpenCV. Pokud jde o analýzu tak aplikační framework Vitis Video Analytics SDK pomáhá vytvářet efektivnější kanály pro analýzu obrazu bez nutnosti hlubokých znalostí FPGA. Video Analytics SDK je založená na open source frameworku GStreamer, který umožňuje rychle vytvářet vlastní akcelerační jádra jako zásuvné moduly GStreamer pro integraci do rámce SDK.
Závěr
Výpočetně náročné algoritmy strojového učení pomohli technologii chytrého vidění dostat do více aplikací. Vision aplikace mají vysoké požadavky na výkon, nízkou spotřebu a flexibilitu. Kria K26 SOM od Xilinx poskytuje výkonný hardwarový základ bez překročení přísných energetických rozpočtů. Pomocí startovací sady KV260 Vision AI s předpřipravenými aplikacemi lze okamžitě začít zkoumat možnosti chytrého vidění a používat komplexní vývojové prostředí k vytváření vlastních edge řešení.
Článek vyšel v originále na webu DigiKey.com, autorem je Stephen Evanczuk.