Jak rychle navrhnout a nasadit systémy inteligentního strojového vidění
Contributed By DigiKey's North American Editors
2022-08-31
Potřeba strojového vidění roste v celé řadě aplikací, včetně bezpečnostních, dopravních a městských kamer, maloobchodních analýz, automatizované inspekce, řízení procesů a robotiky naváděné zrakem. Implementace strojového vidění je složitá a vyžaduje integraci různých technologií a podsystémů, včetně vysoce výkonného hardwaru a pokročilého softwaru umělé inteligence/strojového učení (AI/ML). Začíná optimalizací technologie zachycování videa a I/O pro vidění tak, aby vyhovovaly potřebám aplikace, a rozšiřuje se na více kanálů zpracování obrazu pro efektivní připojení. V konečném důsledku to závisí na umožnění systému vestavěného vidění provádět analýzy na bázi vidění v reálném čase pomocí vysoce výkonného hardwaru, jako jsou pole programovatelná hradlová pole (FPGA), systémy na modulech (SOM), systémy na čipech (SoC) a dokonce i víceprocesorové systémy na čipech (MPSoC) pro chod potřebného softwaru na zpracování a rozpoznávání obrazu AI/ML. Může se jednat o složitý, nákladný a časově náročný proces, který je vystaven mnoha příležitostem k překročení nákladů a zpoždění plánu.
Namísto začínání od nuly mohou konstruktéři využívat dobře připravenou, vysoce výkonnou vývojovou platformu, která urychluje dobu uvedení na trh, kontroluje náklady a snižuje vývojová rizika a zároveň podporuje vysokou míru flexibility a výkonu aplikací. Vývojová platforma založená na systémech SOM může poskytnout integrované hardwarové a softwarové prostředí, které vývojářům umožní soustředit se na přizpůsobení aplikací a ušetřit až devět měsíců času na vývoj. Kromě vývojového prostředí je k dispozici stejná architektura systému SOM v produkčně optimalizovaných konfiguracích pro komerční a průmyslová prostředí, což zvyšuje spolehlivost a kvalitu aplikací, dále snižuje rizika a zkracuje dobu uvedení na trh.
Tento článek začíná přehledem problematiky spojené s vývojem vysoce výkonných systémů strojového vidění, poté představuje komplexní vývojové prostředí, které nabízí startovací sada Kria KV260 vision AI od společnosti AMD Xilinx, a uzavírá uvedením příkladů produkčně připravených systémů SOM založených na platformě Kira 26 a navržených pro zapojení do nosné karty s periferiemi specifickými pro řešení.
Na začátku je optimalizace datového typu
Potřeby algoritmů hlubokého učení se vyvíjejí. Ne každá aplikace potřebuje vysoce přesné výpočty. Používají se datové typy s nižší přesností, jako je INT8, nebo vlastní datové formáty. Systémy založené na jednotkách GPU mohou být vystaveny pokusům o úpravu architektur optimalizovaných pro data s vysokou přesností, aby se efektivně přizpůsobily formátům dat s nižší přesností. Systém Kria K26 SOM je rekonfigurovatelný, což mu umožňuje podporovat širokou škálu datových typů od FP32 po INT8 a další. Rekonfigurovatelnost má také za následek nižší celkovou spotřebu energie. Například operace optimalizované pro datový typ INT8 spotřebují řádově méně energie ve srovnání s operací pro FP32 (obrázek 1).
Obrázek 1: Operace s datovými typy INT8 (8b Add) vyžadují řádově méně energie v porovnání s operacemi s datovými typy FP32 (32b Add). (Zdroj obrázku: AMD Xilinx)
Optimální architektura pro minimální spotřebu energie
Konstrukce implementované na základě vícejádrové architektury jednotek GPU nebo CPU mohou být díky typickým vzorcům spotřeby energie energeticky náročné:
- 30 % na jádra
- 30 % pro vnitřní paměť (L1, L2, L3)
- 40 % pro externí paměť (jako je DDR)
Časté přístupy k neefektivní paměti DDR vyžadují jednotku GPU pro podporu programovatelnosti a mohou představovat překážku pro výpočetní požadavky s velkou šířkou pásma. Architektura Zynq MPSoC použitá v systému Kria K26 SOM podporuje vývoj aplikací s malým nebo nulovým přístupem k externí paměti. Například v typické automobilové aplikaci vyžaduje komunikace mezi jednotkou GPU a různými moduly vícenásobné přístupy k externí paměti DDR, zatímco řešení s architekturou Zynq MPSoC obsahuje kanál navržený tak, aby bylo možné vyhnout se většině přístupů k paměti DDR (obrázek 2).
Obrázek 2: V této typické automobilové aplikaci vyžaduje jednotka GPU vícenásobné přístupy k paměti DDR pro komunikaci mezi různými moduly (vlevo), zatímco pipeline architektura Zynq MPSoC (vpravo) se většině přístupů k paměti DDR vyhýbá. (Zdroj obrázku: AMD Xilinx)
Vyřazování využívá výhod
Výkon neuronových sítí na systému K26 SOM lze zvýšit pomocí optimalizačního nástroje AI, který umožňuje optimalizaci a vyřazování dat. Je velmi běžné, že neuronové sítě jsou přeparametrizovány, což vede k vysoké úrovni redundance, kterou lze optimalizovat pomocí ořezávání dat a komprese modelu. Použití nástroje AI Optimizer od společnosti Xilinx může vést k 50násobnému snížení složitosti modelu jen s nepatrným dopadem na přesnost modelu. Například jednozáběrový detektor (SSD) s architekturou konvoluční neuronové sítě VGG (CNN) o výkonu 117 giga operací za sekundu (Gops) byl vylepšen během 11 iterací vyřazování pomocí nástroje AI Optimizer. Před optimalizací běžel model rychlostí 18 snímků za sekundu (FPS) na architektuře Zynq UltraScale+ MPSoC. Po 11 iteracích - 12. běhu modelu se složitost snížila ze 117 Gops na 11,6 Gops (10X), výkon se zvýšil z 18 na 103 FPS (5X) a přesnost klesla z 61,55 střední průměrné přesnosti (mAP) pro detekci objektů na 60,4 mAP (pouze o 1 % nižší) (obrázek 3).
Obrázek 3: Po relativně málo iteracích může vyřazování 10x snížit složitost modelu (Gop) a 5x zlepšit výkon (FPS) pouze s 1% snížením přesnosti (mAP). (Zdroj obrázku: AMD Xilinx)
Příklad aplikace v reálném světě
Aplikace strojového učení pro detekci a rozpoznávání poznávací značky automobilů, nazývaná také rozpoznávání poznávací značky (ANPR), byla vyvinuta na základě softwaru pro analýzu vidění od společnosti Uncanny Vision. Aplikace ANPR se používá v automatizovaných mýtných systémech, monitorování dálnic, zabezpečených vjezdech na bránu a parkoviště a dalších aplikacích. Tato aplikace ANPR obsahuje kanály na bázi AI, které dekódují video a předzpracují obraz, poté následuje detekce ML a rozpoznávání znaků technologií OCR (obrázek 4).
Obrázek 4: Typický tok zpracování obrazu pro aplikaci ANPR na bázi umělé inteligence. (Zdroj obrázku: AMD Xilinx)
Implementace aplikace ANPR vyžaduje jeden nebo více kanálů s protokolem pro přenos v reálném čase (RTSP) ve standardu H.264 nebo H.265, které se následně dekódují nebo dekomprimují. U dekódovaných snímků videa se provede zmenšení, oříznutí, převod barevného prostoru a normalizace (předzpracování), poté se odešlou do detekčního algoritmu ML. Vysoce výkonné implementace aplikace ANPR vyžadují vícestupňový kanál AI. 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 ke stanovení znaků na SPZ. Ve srovnání s jinými komerčními systémy SOM s jednotkami GPU nebo CPU běžela aplikace ANPR od společnosti Uncanny Vision na systému Kira KV260 SOM 2-3x rychleji a stála méně než 100 USD na jeden RTSP kanál.
Prostředí pro vývoj chytrého vidění
Konstruktéři aplikací chytrého vidění, například dopravních a městských kamer, maloobchodní analytiky, zabezpečení, průmyslové automatizace a robotiky, mohou využívat vývojové prostředí Kria K26 SOM AI Starter. Toto prostředí je vytvořeno pomocí architektury Zynq® UltraScale+™ MPSoC a obsahuje rostoucí knihovnu kurátorských aplikačních softwarových balíčků (obrázek 5). Systém 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. Systém SOM je dále osazen 4 GB paměti DDR4, integrovanými obvody 245 IO a výpočetním jednotkou AI o výkonu 1,4 tera operací podporující tvorbu vysoce výkonných AI aplikací vidění nabízejících více než 3x vyšší výkonn při nižší latenci a příkonu ve srovnání s jinými hardwarovými koncepcemi. 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)
S cílem pomoci nastartovat vývojový proces pomocí systému Kria K26 SOM nabízí společnost AMD Xilinx startovací soupravu KV260 vision AI, která obsahuje napájecí adaptér, ethernetový kabel, kartu microSD, kabel USB, kabel HDMI a kamerový modul (obrázek 6). Pokud není vyžadována celá startovací sada, mohou vývojáři jednoduše zakoupit volitelný napájecí adaptér a začít tak používat systém Kira K26 SOM.
Obrázek 6: Startovací sada KV260 vision AI obsahuje: (horní řada, zleva doprava) napájecí zdroj, ethernetový kabel, kartu microSD a (spodní řada, zleva doprava) kabel USB, kabel HDMI, kamerový modul. (Obrázek: AMD Xilinx)
Dalším faktorem, který urychluje vývoj, je komplexní řada funkcí, včetně bohatých 1,8V, 3,3V jednostranných a diferenčních I/O se čtyřmi 6Gb/s transceivery a čtyřmi 12,5Gb/s transceivery. Tyto funkce umožňují vývoj aplikací s vyšším počtem obrazových snímačů na systému SOM a mnoha variacemi rozhraní snímačů, jako jsou MIPI, LVDS, SLVS a SLVS-EC, které nejsou vždy podporovány standardními produkty specifickými pro aplikaci (ASSP) nebo jednotkami GPU. Vývojáři mohou také implementovat sandardy DisplayPort, HDMI, PCIe, USB2.0/3.0 a uživatelsky definované standardy s vestavěnou programovatelnou logikou.
A konečně, 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í systému K26 SOM s aplikacemi strojového vidění připravenými pro výrobu. Tyto aplikace pro vidění, které lze implementovat bez nutnosti návrhu hardwaru FPGA, umožňují vývojářům softwaru rychle integrovat vlastní modely umělé inteligence, aplikační kód a dokonce upravit kanál vidění. Jednotná platforma pro vývoj softwaru Vitis a knihovny od společnosti Xilinx podporují běžná vývojová prostředí, jako jsou frameworky TensorFlow, Pytorch a Café, a také více programovacích jazyků včetně C, C++, OpenCL™ a Python. K dispozici je také vestavěný obchod s aplikacemi pro okrajové aplikace využívající systém Kria SOM od společnosti Xilinx a jejích partnerů v ekosystému. Nabídky Xilinx jsou bezplatné, s otevřeným zdrojovým kódem a zahrnují sledování pomocí chytré kamery a detekci obličeje, zpracování přirozeného jazyka pomocí chytrého vidění a další.
Výrobně optimalizované Kira 26 SOM
Po dokončení vývojového procesu jsou k dispozici verze K26 SOM připravené pro sériovou výrobu navržené pro připojení do nosné karty s periferiemi specifickými pro řešení, které mohou urychlit přechod do výroby (obrázek 7). Základní systém K26 SOM je jednotkou komerční třídy s teplotou přechodu v rozsahu 0 °C až +85 °C, měřeno vnitřním teplotním čidlem. K dispozici je též průmyslová verze systému K26 SOM navržená pro provoz v rozsahu -40 °C až +100 °C.
Průmyslový trh vyžaduje dlouhou provozní životnost v náročných podmínkách. Systém Kria SOM průmyslové kvality je navržen na deset let provozu při 100 °C a 80 % relativní vlhkosti a výdrž až 40 g nárazu 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: Produkčně optimalizované moduly Kira 26 SOM pro průmyslová a komerční prostředí jsou navrženy na zasunutí do nosné karty s periferiemi specifickými pro dané řešení. (Obrázek: DigiKey)
Shrnutí
Konstruktéři aplikací strojového vidění, jako jsou bezpečnostní, dopravní a městské kamery, maloobchodní analytika, automatizovaná kontrola, řízení procesů a robotika naváděná zrakem, mohou využít startovací sadu Kria K26 SOM AI Starter k urychlení doby uvedení na trh, usnadnění řízení nákladů a snížení vývojových rizik. Tato vývojová platforma založená na systému SOM je integrované hardwarové a softwarové prostředí, které umožňuje vývojářům soustředit se na přizpůsobení aplikací a ušetřit až devět měsíců času na vývoj. Stejná architektura systému SOM je k dispozici v konfiguracích optimalizovaných pro výrobu pro komerční a průmyslová prostředí, což dále urychluje dobu uvedení na trh. Průmyslová verze má minimální výrobní dostupnost 10 let pro podporu dlouhých životních cyklů produktu.

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.