Jste zde

Jak rychle navrhnout a nasadit systémy inteligentního strojového vidění

Bez strojového vidění se neobejde žádná moderní bezpečnostní a dopravní kamera a roboti by bez něj nebylo schopni pracovat v autonomním režimu. Implementace strojového vidění do systému je složitá záležitost a vyžaduje integraci různých technologií a podsystémů náročných na výpočetní výkon. Existují ale platformy, které dokážou s touto problematikou výrazně pomoci.

Základním prvkem celého řetězce je snímání obrazu v dostatečné kvalitě. Následující proces analýzy obrazu je výpočetně náročná operace, a tak musí běžet na výkonném hardware jako jsou FPGA pole, SOM moduly nebo SoC čipy. Pro tyto účely existuje výkonná vývojová platforma, která zkracuje dobu uvedení na trh, snižuje vývojová rizika a zároveň nabízí vysokou míru flexibility. Tento článek se bude věnovat komplexní vývojové platformě Kria 26, do které patří sada Kria KV260 vision AI od AMD Xilinx.

Optimalizace datového typu

Ne každá aplikace strojového vidění potřebuje vysoce přesné výpočty. Běžně se používají datové typy s nižší přesností jako je INT8 nebo vlastní datové formáty. Systémy mohou datové typy optimalizovat, aby se zvýšila efektivita celého systému. Kria K26 SOM podporuje širokou škálu datových typů od FP32 po INT8. Používání nižších datových typů má za následek nižší celkovou spotřebu energie. Například operace určené pro datový typ INT8 spotřebují řádově méně energie ve srovnání s operacemi určené pro datový typ FP32 (obrázek 1).

Obrázek 1: Pro operace INT8 (8b Add) je potřeba řádově méně energie ve srovnání s operacemi FP32 (32b Add). (Zdroj obrázku: AMD Xilinx)

Optimální architektura pro zajištění minimální spotřeby energie

Rozložení spotřeby energie u více jádrové architektury může být následující:

  • 30 % pro jádro
  • 30 % pro vnitřní paměť (L1, L2, L3)
  • 40 % pro externí paměť (jako je DDR)

Časté přístupy k paměti DDR vyžadují obsluhu z GPU, a to snižuje celkový výkon systému. Architektura Zynq MPSoC použitá v Kria K26 SOM omezený nebo dokonce žádný přístup k externí paměti z GPU. Například v typické automobilové aplikaci vyžaduje komunikace mezi GPU a různými moduly vícenásobné přístupy k externí paměti DDR, zatímco řešení založené na Zynq MPSoC obsahuje pipeline navrženou tak, aby GPU nebo CPU nebylo těmito činnostmi vůbec zatěžováno (obrázek 2).

Obrázek 2: V typické automobilové aplikaci vyžaduje GPU vícenásobné přístupy k DDR pro komunikaci mezi různými moduly (vlevo), zatímco architektura pipeline Zynq MPSoC (vpravo) většina přístupů k DDR probíhá mimo CPU či GPU. (Zdroj obrázku: AMD Xilinx)

Prořezávání neboli Pruning

Výkon neuronových sítí na K26 SOM lze zvýšit pomocí optimalizačního nástroje umělé inteligence, který umožňuje tzv. prořezávání dat. Neuronové sítě jsou přeparametrizovány, a to vede k vysoké úrovni redundance, kterou lze optimalizovat pomocí prořezávání a následné kompresi dat.

AI Optimizer od Xilinx je schopen snížit až 50 ti násobně složitost modelu s minimálním dopadem na přesnost. Například single shot detektor (SSD) s konvoluční neuronovou architekturou sítě VGG (CNN) se 117 Giga Operacemi za sekundu (Gops) byl vylepšen 11 iteracemi prořezávání pomocí AI Optimizeru. Před optimalizací běžel model rychlostí 18 snímků za sekundu (FPS) na Zynq UltraScale+ MPSoC. Po 11 iteracích se složitost modelu snížila ze 117 Gops na 11,6 Gops (10 x se snížila složitost), výkon se zvýšil z 18 na 103 FPS (5 x se zvýšil) a přesnost klesla z 61,55 na 60,4 mAP (to je snížení o pouhé 1 %) (obrázek 3).

Obrázek 3: Po několika iteracích prořezávání snížilo složitost modelu (Gop) 10x a zlepšilo výkon (FPS) 5x, při snížení přesnosti (mAP) o pouhé 1%. (Zdroj obrázku: AMD Xilinx)

Příklad z reálného světa

Aplikace strojového učení pro detekci a rozpoznávání poznávací značky automobilů (ANPR - auto number plate recognition) byla vyvinuta na základě software pro analýzu vidění od Uncanny Vision. ANPR se používá v automatizovaných mýtných systémech, monitorování dálnic, zabezpečených vjezdech, parkovištích a dalších. Aplikace ANPR obsahuje pipeline založené na umělé inteligenci, které dekóduje video a předzpracovává obraz. Pak následuje strojové učení neboli mechanic learning ML a rozpoznávání znaků OCR (obrázek 4).

Obrázek 4: Typický řetězec zpracování obrazu pro aplikaci ANPR založenou na umělé inteligenci. (Zdroj obrázku: AMD Xilinx)

Implementace ANPR vyžaduje jeden nebo více H.264 nebo H.265 streamů v reálném čase (RTSP), které jsou již dekódované nebo jsou nekomprimované. Dekódované snímky videa jsou zmenšeny, oříznuty, převedeny, normalizovány (předzpracovány) a odeslány do algoritmu strojového učení ML. ANPR vyžaduje umělou inteligenci rozdělenou do několika fází.

První fáze detekuje a lokalizuje vozidlo na snímku a vytváří oblast zájmu (ROI). Současně další algoritmy optimalizují kvalitu obrazu pro následné použití algoritmem rozpoznávání znaků OCR a sledují pohyb vozidla ve více snímcích. ROI vozidla se dále ořízne, aby se vygenerovala ROI SPZ zpracovaná algoritmem OCR k určení znaků na SPZ. Ve srovnání s jinými komerčními SOM běží aplikace ANPR od Uncanny Vision na Kira KV260 SOM 2-3 x rychleji.

Vývojové prostředí pro vývoj chytrého vidění

Dopravní a městské kamery, maloobchodní analýza, bezpečnostní aplikace, průmyslová automatizace a robotika, tam všude se uplatní vývojové prostředí Kria K26 SOM AI Starter. Toto prostředí je vytvořeno pomocí architektury Zynq UltraScale+MPSoC a má stále se rozšiřující knihovnu aplikačních softwarových balíčků (obrázek 5).

AI Starter SOM obsahuje čtyřjádrový procesor Arm Cortex-A53, přes 250 tisíc logických buněk a video kodek H.264/265. SOM má také 4 GB paměť DDR4, 245 IO a 1,4 tera-ops výpočetní výkon pro podporu vytváření vysoce výkonných algoritmy umělé inteligence pro strojové vidění. To je více než 3 x vyšší výkon při nižší latenci ve srovnání s jinými hardwarovými přístupy. Předpřipravené aplikace umožňují spuštění počátečních návrhů za méně než hodinu.

Obrázek 5: Startovací sada Kria KV260 vision AI je komplexní vývojové prostředí pro aplikace strojového vidění. (Zdroj obrázku: AMD Xilinx)

AMD Xilinx nabízí startovací sadu KV260 vision AI, která obsahuje napájecí adaptér, ethernetový kabel, microSD kartu, USB kabel, HDMI kabel a modul kamery (obrázek 6). Pokud není vyžadována celá startovací sada, lze jednoduše zakoupit AMD Xilinx HW-PSA01-SK-G a začít používat Kira K26 SOM.

Obrázek 6: Startovací sada KV260 vision AI obsahuje: napájecí zdroj, ethernetový kabel, kartu microSD, kabel USB, kabel HDMI a modul kamery. (Obrázek: AMD Xilinx)

Startovací sad obsahuje komplexní řadu funkcí, a to 1,8 V a 3,3 V single ended nebo diferenciálních I/O se čtyřmi 6 Gb/s transceivery a čtyřmi 12,5 Gb/s transceivery. Tyto funkce umožňují vývoj aplikací s vyšším počtem obrazových snímačů a mnoha variacemi rozhraní snímačů, jako jsou MIPI, LVDS, SLVS a SLVS-EC, které nejsou vždy podporovány standardními produkty (ASSP) nebo GPU. Lze také implementovat DisplayPort, HDMI, PCIe, USB2.0/3.0 a uživatelsky definované standardy s vestavěnou programovatelnou logikou.

Vývoj aplikací umělé inteligence byl zjednodušen a zpřístupněn propojením rozsáhlých hardwarových možností a softwarového prostředí K26 SOM s aplikacemi strojového vidění připravenými rovnou pro výrobu. Strojové vidění lze implementovat bez nutnosti návrhu hardware FPGA a lze jednoduše integrovat vlastní modely umělé inteligence a aplikační kód. Unifikovaná platforma Vitis pro vývoj software a knihovny od Xilinx jsou podporovány frameworky TensorFlow, Pytorch a Café, včetně C, C++, OpenCL a Python. K dispozici je také možnost si zakoupit hotové Edge aplikace využívající Kria SOM od společnosti Xilinx a jejích partnerů v ekosystému.

Optimalizované Kria 26 SOM pro produkci

Po dokončení vývojového procesu jsou k dispozici verze K26 SOM připravené pro sériovou výrobu. Jsou určeny pro vložení do „nosné desky“ s periferiemi pro konkrétní řešení (obrázek 7). Základní K26 SOM je jednotka komerční třídy s teplotním rozsahem 0°C až +85°C. K dispozici je také průmyslová verze K26 SOM určená pro provoz od -40 °C do +100 °C. Průmyslový trh vyžaduje dlouhou provozní životnost v náročných podmínkách. Kria SOM průmyslové kvality jsou navrženy pro deset let provozu při 100°C a 80% relativní vlhkosti. Zároveň jsou schopny vydržet až 40 g náraz a 5 g efektivní hodnoty vibrací (RMS). Dodává se také s minimální výrobní dostupností deset let, aby byla podpořena dlouhá životnost produktu.

Obrázek 7: Optimalizované Kira 26 SOM pro průmyslová a komerční prostředí jsou navrženy tak, aby byly zasunuty do nosné desky s konkrétními periferiemi. (Obrázek: Digi-Key)

Závěr

Pro bezpečnostní, dopravní a městské kamery, maloobchodní analýzu, automatizovanou kontrolu, řízení procesů a robotiku se strojovým viděním lze využít Kria K26 SOM AI Starter. Tato vývojová platforma výrazně zkracuje dobu uvedení produktu na trh. Stejná architektura SOM je k dispozici jak pro komerční, tak i v průmyslové prostředí, kde je zaručena výrobní dostupnost 10 let.

 

Článek vyšel v originále na webu DigiKey.com, autorem je Jeff Shepard.

Hodnocení článku: