Intelligens gépi látórendszerek gyors tervezése és telepítése
Contributed By DigiKey's North American Editors
2022-08-31
A gépi látás iránti igény számos alkalmazási területen növekszik, beleértve a biztonsági, közlekedési és városi kamerákat, a kiskereskedelmi analitikát, az automatizált ellenőrzést, a folyamatirányítást és a látásvezérelt robotikát. A gépi látás megvalósítása összetett feladat, és ehhez különböző technológiák és alrendszerek integrációjára van szükség, beleértve a nagy teljesítményű hardvert és a korszerű mesterséges intelligencia/gépi tanulási szoftvereket. A folyamat a videofelvételi technológia és a képalkotási bemenetek/kimenetek optimalizálásával kezdődik, hogy ezek megfeleljenek az alkalmazás igényeinek, és egészen a több képfeldolgozási adatcsatorna használatára is kiterjed a hatékony csatlakoztathatóság érdekében. Megfelelő működése végső soron attól függ, hogy a beágyazott látórendszer képes-e valós időben látásalapú analízist végezni nagy teljesítményű hardverek, például FPGA-k (Field Programmable Gate Array), SOM-ok (Systems on Modules), SoC-ok (Systems on Chip), sőt, akár MPSoC-ok (többprocesszoros egylapkás rendszerek) segítségével a szükséges mesterséges intelligenciás illetve gépi látási képfeldolgozó és felismerő szoftverek futtatásához. Ez összetett, költséges és időigényes folyamat tud lenni, amelynek számos buktatója lehet a költségek túllépése és fejlesztési késések formájában.
Ahelyett, hogy a nulláról kezdenék a tervezők, egy jól összeállított, nagy teljesítményű fejlesztői platformhoz fordulhatnak, amely felgyorsítja a termékek piacra kerülési idejét, ellenőrzés alatt tartja a költségeket és csökkenti a fejlesztési kockázatokat, miközben nagyfokú alkalmazási rugalmasságot és működési teljesítményt biztosít. A SOM-alapú fejlesztési platformok integrált hardver- és szoftverkörnyezetet biztosíthatnak, lehetővé téve a fejlesztők számára, hogy más dolgok helyett az alkalmazás testreszabására összpontosítsanak, akár kilenc hónapnyi fejlesztési időt is megtakarítva ezzel. A fejlesztőkörnyezet mellett ugyanaz a SOM-architektúra gyártásra optimalizált konfigurációkban is elérhető kereskedelmi és ipari környezetekhez, ami növeli az alkalmazások megbízhatóságát és minőségét, tovább csökkenti a kockázatokat és lerövidíti a piacra kerülési időt.
Ez a cikk először a nagy teljesítményű gépi látórendszerek fejlesztésével kapcsolatos problémákat tekinti át, majd bemutatja az AMD Xilinx Kria KV260 vision AI nevű kezdőkészlete által kínált átfogó fejlesztési környezetet, és a Kira 26 platformon alapuló, megoldásspecifikus perifériákkal ellátott hordozó kártyára csatlakoztatható, gyártásra kész SOM-ok példáival zárul.
Minden az adattípus-optimalizálással kezdődik
A mélytanulási algoritmusok igényei folyamatosan változnak. Nem minden alkalmazásnál van szükség nagy pontosságú számításokra, ezért alacsonyabb pontosságú adattípusokat, például INT8, vagy egyéni adatformátumokat is használnak. A GPU-alapú rendszerek esetén problémát jelenthet, ha a nagy pontosságú adatokra optimalizált architektúrákat úgy kell módosítani, hogy azok hatékonyan alkalmazkodjanak az alacsonyabb pontosságú adatformátumokhoz. A Kria K26 SOM újrakonfigurálható, így az adattípusok széles skáláját támogatja az FP32-től az INT8-ig és másokig. Az újrakonfigurálhatóságnak köszönhetően az általános energiafogyasztás is alacsonyabb, például az INT8-ra optimalizált műveletek egy nagyságrenddel kevesebb energiát fogyasztanak az FP32 művelethez képest (1. ábra).
1. ábra: Az INT8 (8b Add) műveletekhez egy nagyságrenddel kevesebb energia szükséges, mint az FP32 (32b Add) műveletekhez (kép: AMD Xilinx)
Optimális architektúra minimális energiafogyasztáshoz
A többmagos GPU- vagy CPU-architektúrán alapuló kialakítások a tipikus energiafelhasználási jellemzők alapján energiaigényesek lehetnek. Az összesített fogyasztás a következőképpen bontható le:
- 30% magok;
- 30% belső memória (L1, L2, L3);
- 40% külső memória (pl. DDR).
A programozhatóság támogatásához a GPU-knak gyakran kell hozzáférniük a nem hatékony DDR-memóriához, ami a nagy sávszélességű számítási igények esetén lassíthatja a többi csatornán átmenő forgalmat. A Kria K26 SOM-on használt többprocesszoros Zynq MPSoC architektúra használatával olyan alkalmazások fejleszthetők ki, amelyeknél a külső memóriához való hozzáférésre csak kevésszer vagy egyáltalán nincs szükség. Egy tipikus autóipari alkalmazásban például a GPU-nak a különböző modulokkal való kommunikációhoz a külső DDR-memóriához való többszöri hozzáférésre van szükség, míg a Zynq MPSoC-alapú megoldás olyan adatforgalmi csatornát (pipeline) tartalmaz, amelyet úgy terveztek, hogy a legtöbb DDR-hozzáférés elkerülhető legyen (2. ábra).
2. ábra: Ebben a tipikus autóipari rendszerben a GPU számára a különböző modulok közötti kommunikációhoz (balra) többszörös DDR-hozzáférésre van szükség, míg a Zynq MPSoC-ben lévő pipeline architektúrának köszönhetően (jobbra) a legtöbb DDR-hozzáférés elkerülhető (kép: AMD Xilinx)
A metszés segít az előnyök kihasználásában
A K26 SOM neurális hálózatainak teljesítménye javítható egy adatoptimalizálásra és a hálózatok metszésére képes MI optimalizáló szoftverrel. Nagyon gyakori, hogy a neurális hálózatokat túlparaméterezik, ami nagyfokú redundanciához vezet, de ez metszési eljárással (pruning) és a modell tömörítésével optimalizálható. A Xilinx AI Optimizer használatával a modell összetettsége 50-szeresen csökkenhet, csupán névlegesen befolyásolva a modell pontosságát. Például egy 117 Gops teljesítményű single-shot detektort (SSD) és egy VGG konvolúciós neurális hálós (CNN) architektúrát 11 iterációs metszéssel finomították az AI Optimizer segítségével. Az optimalizálás előtt a modell sebessége 18 FPS (frame per second) volt egy Zynq UltraScale+ MPSoC-n. 11 iteráció – a modell 12. futtatása – után a komplexitás 117 Gops-ról 11,6 Gops-ra csökkent (10-szeresen), a teljesítmény 18-ról 103 FPS-re nőtt (5-szörösen), a pontosság pedig a 61,55 mAP (Mean Average Precision) értékről 60,4 mAP-ra csökkent (csak 1%-kos csökkenés) (3. ábra).
3. ábra: Viszonylag kevés iteráció után metszési eljárással a modell komplexitása (Gop) 10-szeresen csökkenthető, a teljesítmény (FPS) 5-szörösen javítható, a pontosság (mAP) mindössze 1%-os csökkenése mellett (kép: AMD Xilinx)
Valós alkalmazási példa
Egy olyan gépi tanulási alkalmazást fejlesztettek ki az Uncanny Vision látáselemző szoftverére alapozva, amely a gépjárművek rendszámtáblájának és a rajta lévő karakterek optikai felismerésére, vagyis automatikus rendszámfelismerésre (ANPR) képes. Az ANPR-t automatikus útdíjrendszerekben, autópálya-felügyeletben, biztonságos kapu- és parkolóházi beléptetésben és egyéb alkalmazásokban használják. Ez az ANPR-alkalmazás egy mesterséges intelligenciára épülő adatcsatornát tartalmaz, amely dekódolja a videót és előfeldolgozza a képet, majd következik a gépi tanulással végzett érzékelés és az optikai karakterfelismerés (OCR) (4. ábra).
4. ábra: Tipikus képfeldolgozási folyamat egy mesterséges intelligencia alapú ANPR-alkalmazásnál (kép: AMD Xilinx)
Az ANPR megvalósításához egy vagy több H.264 vagy H.265 kódolású Real-time Streaming Protocol (RTSP) segítségével továbbított adatfolyam dekódolására vagy kicsomagolására van szükség. A dekódolt videóképeket átméretezik, képrészletre vágják (crop), színtérbe konvertálják és normalizálják (előfeldolgozás), majd elküldik a gépi tanulást használó detektáló algoritmusnak. A nagy teljesítményű ANPR megvalósításoknál többlépcsős MI-csatornára van szükség. Az első szakaszban megtörténik a jármű felismerése a képen és lokalizálása, létrehozva a vizsgált területet (region of interest, ROI). Ugyanakkor más algoritmusok optimalizálják a képminőséget az OCR karakterfelismerő algoritmus általi későbbi felhasználásra, és több képkockán keresztül követik a jármű mozgását. A jármű ROI-jából további képrészletet vágnak ki a rendszámtábla ROI létrehozásához, amelyet az OCR algoritmus feldolgoz a rendszámtábla karaktereinek meghatározásához. Más kereskedelmi forgalomban kapható, GPU-n vagy CPU-n alapuló SOM-okkal összehasonlítva az Uncanny Vision ANPR alkalmazása 2-3-szor gyorsabban futott a Kira KV260 SOM-on, és RTSP csatornánként kevesebb mint 100 dollárba került.
Intelligens látásfejlesztési környezet
Az intelligens látási alkalmazások, mint például a közlekedési és városi kamerák, a kiskereskedelmi analitika, a biztonságtechnika, az ipari automatizálási és robotikai rendszerek tervezői a Kria K26 SOM AI Starter fejlesztői környezethez fordulhatnak. Ez a környezet a Zynq® UltraScale+™ MPSoC architektúrára épül, és egyre növekvő könyvtárral rendelkezik, amely előre elkészített alkalmazásszoftver-csomagokat tartalmaz (5. ábra). Az AI Starter SOM egy négymagos Arm Cortex-A53 processzort, több mint 250 ezer logikai cellát és egy H.264/265 videokodeket tartalmaz. A SOM továbbá 4 GB DDR4 memóriával, 245 IO-val és 1,4 TOPS (tera-ops) MI számítási kapacitással is rendelkezik a nagy teljesítményű látásalapú mesterséges intelligenciás alkalmazások létrehozásának támogatásához, valamint több mint háromszor nagyobb teljesítményt nyújt alacsonyabb késleltetés és energiafelhasználás mellett más hardveres megoldásokhoz képest. Az előre elkészített alkalmazásoknak köszönhetően alapszintű kialakítások már kevesebb mint egy óra alatt is elkészíthetők és futtathatók.
5. ábra: A Kria KV260 vision AI kezdőkészlet egy átfogó fejlesztőkörnyezet, amely a gépi látás területén használható (kép: AMD Xilinx)
A Kria K26 SOM-mal való fejlesztés gyors megkezdéséhez az AMD Xilinx a KV260 vision AI kezdőkészletet kínálja, amely egy hálózati adaptert, egy Ethernet-kábelt, egy microSD-kártyát, egy USB-kábelt, egy HDMI-kábelt és egy kameramodult tartalmaz (6. ábra). Ha nincs szükség a teljes kezdőkészletre, a fejlesztőknek elegendő csupán megvásárolni az opcionális hálózati adaptert a Kira K26 SOM-mal való munka megkezdéséhez.
6. ábra: A KV260 vision AI kezdőkészletben a következők találhatók: (felső sor, balról jobbra) tápegység, Ethernet kábel, microSD kártya, és (alsó sor, balról jobbra) USB kábel, HDMI kábel, kameramodul (kép: AMD Xilinx)
Egy másik tényező, amely felgyorsítja a fejlesztést az a funkciók nagy száma, beleértve a bőséges mennyiségben rendelkezésre álló 1,8 V-os és 3,3 V-os közös földpontú és differenciális bemeneteket/kimeneteket, és a négy 6 Gb/s-os és négy 12,5 Gb/s-os adó-vevőt. Ezeknek a funkcióknak köszönhetően SOM-onként nagyobb számú képérzékelőt tartalmazó alkalmazások fejleszthetők, valamint az érzékelő interfészek számos változata használható, például MIPI, LVDS, SLVS és SLVS-EC, amelyeket az alkalmazásspecifikus szabványos termékek (application specific standard product, ASSP) vagy GPU-k nem mindig támogatnak. A fejlesztők a beágyazott programozható logika segítségével DisplayPort, HDMI, PCIe, USB2.0/3.0 és felhasználó által meghatározott szabványok szerinti kommunikációt is megvalósíthatnak.
Végezetül, a mesterséges intelligencia használatán alapuló alkalmazások fejlesztése egyszerűsödött, és elérhetőbbé vált azáltal, hogy a K26 SOM széleskörű hardveres képességeit és szoftveres környezetét összekapcsolták gyártóüzemi használatra kész mesterséges látást biztosító alkalmazásokkal. Ezek a látási alkalmazások FPGA-hardverek tervezése nélkül is megvalósíthatók, és segítségükkel a szoftverfejlesztők saját MI-modelljeiket és az alkalmazáskódot gyorsan integrálni tudják sőt, akár a látási adatcsatornát is módosíthatják. A Vitis egységes szoftverfejlesztő platform és a Xilinx könyvtárai az elterjedt tervezési környezetekel együtt, például TensorFlow, Pytorch és Café keretrendszerekkel együtt használhatók, valamint több programozási nyelvet is támogatnak, köztük a C, C++, OpenCL™ és Python nyelveket. Rendelkezésre áll egy beágyazott alkalmazásbolt is a Xilinx által gyártott és partnerei által támogatott Kria SOM-okat használó peremhálózati alkalmazásokhoz. A Xilinx kínálata ingyenes és nyílt forráskódú, és többek között intelligens kamerakövetést és arcfelismerést, intelligens látással párosított természetes nyelvi feldolgozó motort (NLP) és még sok mást is tartalmaz.
Gyártásra optimalizált Kira 26 SOM-ok
A fejlesztési folyamat befejezése után rendelkezésre állnak a K26 SOM-ok gyártásra kész változatai, amelyeket úgy terveztek, hogy a megoldásspecifikus perifériákkal ellátott hordozó kártyákra lehessen őket csatlakoztatni, ami felgyorsíthatja a gyártásba való átmenetet (7. ábra). Az alapvető K26 SOM-ok kereskedelmi osztályú egységek, 0°C és +85°C közötti névleges hőmérséklettel (a csatlakozási pontoknál a belső hőmérséklet-érzékelő által mérve). Léteznek ipari osztályú K26 SOM-ok is, melyeknél a csatlakozásponti névleges hőmérséklet értéke -40°C és +100°C között van.
Az ipar területén a piac hosszú üzemi élettartamot követel meg zord környezetekben. Az ipari osztályú Kria SOM-okat tízéves élettartamra tervezték 100°C-os csatlakozásponti hőmérséklet és 80%-os relatív páratartalom mellett, valamint 40 g erősségű ütések és 5 g effektív gyorsulású rezgések tűrésére. A hosszú termékéletciklusok támogatásához az ipari változatok esetében azok legyárthatósága legalább tíz évre előre biztosított.
7. ábra: Az ipari és kereskedelmi környezetekhez tervezett, gyártásra optimalizált Kira 26 SOM-ok megoldásspecifikus perifériákat tartalmazó hordozó kártyákra csatlakoztathatók (kép: DigiKey)
Összegzés
A biztonsági, közlekedési és városi kamerákat, kiskereskedelmi analitikát, automatizált ellenőrzést, folyamatirányítást, látásvezérelt robotikát tartalmazó és a gépi látásra épülő más hasonló rendszerek tervezői a Kria K26 SOM AI Starter kezdőkészlethez fordulhatnak, hogy felgyorsítsák a piacra kerülési időt, ellenőrzés alatt tartsák a költségeket és csökkentsék a fejlesztési kockázatokat. Ez a SOM-alapú fejlesztési platform egy integrált hardver- és szoftverkörnyezet biztosít, lehetővé téve a fejlesztők számára, hogy más dolgok helyett az alkalmazás testreszabására összpontosítsanak, akár kilenc hónapnyi fejlesztési időt is megtakarítva ezzel. Ugyanez a SOM-architektúra kereskedelmi és ipari környezetekhez optimalizált gyártási konfigurációkban is elérhető, ami tovább gyorsítja a piacra kerülést. A hosszú termékéletciklusok támogatásához az ipari változatok esetében azok legyárthatósága legalább tíz évre előre biztosított.
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.

