Gépi látásra épülő, a számításokat helyben végző alkalmazkodó eszközök gyors létrehozása és üzembe helyezése gyártásra kész platformokkal

By Stephen Evanczuk

Contributed By DigiKey's North American Editors

A mesterséges intelligenciának (AI vagy MI) a számításokat helyben végző intelligens kamerákon történő használata gyorsan elterjedt a gépi látást megvalósító beágyazott eszközök egyre szélesebb körében, például a gépi látás, a biztonság, a kiskereskedelem és a robotika területén. Bár a hozzáférhető gépi tanulási (ML vagy GT) algoritmusok gyors megjelenése hozzájárult a mesterséges intelligencia iránti érdeklődéshez, a fejlesztők még mindig küzdenek a szoros projektütemtervek betartásával, miközben kis fogyasztású, ámde nagy teljesítményű, a számításokat helyben végző készülékeket mutatnak fel.

Tovább bonyolítja a helyzetet, hogy a használati követelmények gyorsan változó jellege és az algoritmusok folyamatos fejlődése miatt még az újonnan bevezetett megoldások is gyorsan elavulttá válhatnak. A fejlesztők azért küzdenek, hogy nem méretezhető technikákat felhasználva tegyék időtállóvá az eszközeiket ebben a gyorsan változó környezetben.

Ez a cikk a Xilinx rugalmas egykártyás rendszermodulra (SOM) épülő megoldását mutatja be, amellyel a fejlesztők gyorsan valósíthatnak meg intelligens kamerás rendszereket a számításokat helyben végző termékek kialakításához. Leírja, hogyan lehet ezeket a megoldásokat könnyebben hozzáigazítani a változó igényekhez anélkül, hogy a késleltetésre és a teljesítményre vonatkozó kulcsfontosságú követelmények sérülnének.

A gépi látásra épülő készülékek létrehozásának felgyorsítása

A Xilinx Kria K26 egykártyás rendszermodul egy egyedi fejlesztésű Zynq UltraScale+ többprocesszoros rendszerlapkára (MPSoC) épül. Maga a Xilinx Kria K26 egy nagy teljesítményű beágyazott adatfeldolgozó rendszert alkot, amely egy 64 bites, négymagos ARM Cortex-A53 célprocesszort (APU), egy 32 bites kétmagos ARM® Cortex®-R5F valós idejű processzort (RPU) és egy ARM Mali-400MP2 3D grafikai processzort (GPU) tartalmaz. Az egykártyás rendszermodul az MPSoC rendszerlapkát 4 GB 64 bites DDR4 (kétszeres adatátviteli sebességű) memóriával és a hozzá tartozó memóriavezérlővel, valamint több nem felejtő memóriás (NVM) eszközzel egészíti ki. Ennek része többek közt 512 MB QSPI (négy adatcsatornás soros perifériaillesztő) memória, 16 GB beágyazott eMMC (multimédiakártya-) memória és 64 kB EEPROM memória (villamosan törölhető programozható csak olvasható memória) (1. ábra).

A Xilinx K26 egykártyás rendszermodul blokkvázlata (nagyításhoz kattintson a képre)1. ábra: A Xilinx Kria K26 egykártyás rendszermodul egyesíti az egyedi fejlesztésű Zynq UltraScale+ MPSoC széleskörű adatfeldolgozási képességeit a TPM2 megbízható platformmodullal (2.0-s verzió), mindezt jelentős mennyiségű dinamikus és nem felejtő memóriával megtámogatva (kép: Xilinx)

A Xilinx a processzorait és a memóriáit egy kiterjedt programozható logikai rendszerrel egészíti ki, amelyet 256 kB rendszerlogikai cella, 234 kB programozható logikai blokkos (CLB) bistabil billenőáramkör (flip-flop), 117 kB CLB indextábla (LUT), valamint összesen 26,6 MB memória alkot, mely utóbbi különböző méretű RAM- (elosztott véletlen hozzáférésű memória), BRAM- (belső RAM vagy blokk-RAM) és URAM- (UltraRAM) tömbökből áll. A programozható logikai rendszer emellett 1248 digitális jelfeldolgozó (DSP) szeletet, négy adó-vevő egységet, valamint egy H.264 és H.265 videokódoló-dekódolót (codec) tartalmaz, amely akár 32 egyidejű kódolási és dekódolási folyamot is képes támogatni, összesen legfeljebb 3840 × 2160 képpontig és 60 képkocka/másodperc (fps) sebességig. Az egykártyás rendszermodul két 240 érintkezős csatlakozója a felhasználó által programozható be- és kimeneteken (I/O) keresztül biztosítja a funkcionális blokkokhoz és perifériákhoz való hozzáférést.

A processzormagok, a memória és a programozható logika ilyen kombinációja egyedülálló rugalmasságot és teljesítményt biztosít, amely kiküszöböli a gépi tanulási algoritmusok nagy sebességű végrehajtására használt grafikai processzorok (GPU) legjelentősebb hátrányait. A GPU-k állandó adatfolyamával ellentétben a K26 egykártyás rendszermodul adatútvonalát a fejlesztők az átviteli teljesítmény optimalizálása és a késleltetés csökkentése érdekében megváltoztathatják. Emellett a K26 architektúrája különösen alkalmas az olyan szellős hálózatokhoz (sparse network), amelyek az egyre növekvő számú gépi tanulási rendszerek alapját képezik.

A K26 egykártyás rendszermodul programozhatósága megoldást jelent a memória szűk keresztmetszeteire is, amelyek növelik az energiafogyasztást és korlátozzák a teljesítményt a memóriaigényes eszközökben, amilyenek például a GPU-kat, többmagos processzorokat vagy akár korszerű rendszerlapkákat (SoC) használó hagyományos architektúrákkal felépített gépi tanulási rendszerek. Az ilyen hagyományos eszközökből felépített készülékekben a külső memória a rendszer fogyasztásának jellemzően 40%-át, míg a processzormagok és a belső memória a fogyasztás 30–30%-át teszi ki. Ezzel szemben a K26 esetében a fejlesztők kihasználhatják annak belső memóriablokkjait és újraprogramozhatóságát olyan készülékek tervezéséhez, amelyek kevés külső memóriát igényelnek, vagy egyáltalán nincs szükségük külső memóriára. Az eredmény a hagyományos eszközökkel elérhetőnél nagyobb teljesítmény és kisebb fogyasztás (2. ábra).

A hatékony gépi látási futószalagot használó Xilinx Kria elvi rajza (nagyításhoz kattintson a képre)2. ábra: Míg a beágyazott CPU-kon és jellegzetes rendszerlapkákon (SoC) alapuló rendszerek sok energiaigényes memóriát igényelnek az alkalmazások futtatásához, addig a Xilinx Kria alapú rendszerek hatékony gépi látási futószalagot használnak, amely megtervezhető úgy is, hogy ne legyen szükség DDR-memóriára (kép: Xilinx)

Nagy teljesítménye, kis fogyasztása és széles körű újraprogramozhatósága mellett a K26 a biztonságot is segít garantálni a kényes felhasználási területekre szánt intelligens kamerák tervezésénél. A K26 egykártyás rendszermodul beépített megbízható platformmodult (TPM, trusted platform module) kínáló biztonsági eszköze mellett az MPSoC tartalmaz egy célirányos beállításvédő egységet (CSU, configuration security unit) is, amely támogatja a biztonságos rendszerindítást, az illetéktelen módosítások figyelését, a biztonságos kulcstárolást és a titkosítás hardveres gyorsítását. A CSU, a lapkán belüli belső memória (OCM) és a biztonságos kulcstároló együttesen biztosítják a biztonságos rendszerindítás megvalósításához elengedhetetlen hardveres megbízhatósági alappont (RoT, root of trust) kialakításához elvárt biztonságos alapot és az alkalmazások futtatásához szükséges megbízható platformot.

A K26 sokrétű képességei hatékony alapot kínálnak az igényes, helyi számításokon alapuló eszközök kialakításához. Minden felhasználási területnek megvannak azonban az alkalmazásspecifikus perifériákhoz és egyéb összetevőkhöz kapcsolódó funkciókra és szolgáltatásokra vonatkozó saját követelményei. Az alkalmazásspecifikus megoldások megvalósításának egyszerűsítése érdekében a K26 egykártyás rendszermodult úgy tervezték, hogy a többi perifériának is helyet adó alapkártyához lehessen csatlakoztatni. A Xilinx ezt a megoldást a Kria K26-ra épülő KV260 Vision AI Starter Kit mesterséges intelligenciás gépi látási indulókészlet segítségével szemlélteti.

Az indulókészlet egyszerűsíti a gépi látást megvalósító eszközök fejlesztését

A Xilinx KV260 Vision AI Starter Kit egy gépi látás megvalósítására készült alapkártyába bedugott K26 egykártyás rendszermodult tartalmaz, és olyan kész platformot kínál, amelyet kifejezetten a gépi látást megvalósító intelligens eszközök azonnali értékelésére és gyors fejlesztésére terveztek. Miközben a K26 biztosítja a szükséges adatfeldolgozási képességeket, az indulókészlet alapkártyája az energiagazdálkodást kezeli, beleértve a bekapcsolási és visszaállítási sorrendet, valamint biztosítja a kamera, a kijelző és a microSD kártya csatlakozóit és illesztőfelületeit (3. ábra).

A Xilinx KV260 Vision AI Starter Kit indulókészlet elvi rajza3. ábra: A Xilinx KV260 Vision AI Starter Kit egy gépi látás megvalósítására készült alapkártyába bedugott K26 egykártyás rendszermodult használva teljes körű intelligens gépi látási megoldást kínál (kép: Xilinx)

A sok illesztőfelület mellett az alapkártya a saját Raspberry Pi csatlakozóján keresztül többkamerás támogatást is kínál, valamint egy pár IAS-csatlakozót (image access system, képhozzáférési rendszer), melyek közül az egyik egy 13 megapixeles (MP) onsemi AP1302 képérzékelő processzorhoz (ISP) kapcsolódik, amely képes kezelni az összes képfeldolgozó funkciót.

A gépi látást megvalósító eszközök létrehozásának további felgyorsítása érdekében a Xilinx ezt az előre meghatározott gépi látási hardverplatformot egy sor készen kapható gyorsított gépi látási alkalmazással, valamint az egyedi fejlesztésekhez szükséges szoftvereszközök és könyvtárak kiterjedt készletével támogatja.

A gyorsított alkalmazások azonnali megoldásokat kínálnak

A gépi látásra épülő gyorsított alkalmazások azonnali értékeléséhez és gyors fejlesztéséhez a Xilinx többféle készen kapható eszközt kínál, amelyek számos népszerű felhasználási területen bevethetőek, beleértve a programozható logika segítségével végzett intelligens kamerás arcfelismerést, a gyalogosok azonosítását és követését, a hibák észlelését és az egyező kulcsszavak kiszúrását az MPSoC feldolgozórendszerének segítségével. A Xilinx Kria App Store áruházból beszerezhető alkalmazások mindegyike teljes megoldást kínál a saját felhasználási területén, a hozzá tartozó eszközökkel és erőforrásokkal együtt. Az intelligens kamerás arcfelismerő alkalmazás például a KV260 alapkártya beépített AR1335 képérzékelőjét és AP1302 képérzékelő processzorát (ISP) használja a képek rögzítéséhez, és a kártya HDMI vagy DisplayPort (DP) kimenetét az eredmény megjelenítéséhez. Az arcfelismerés feldolgozásához az alkalmazás úgy állítja be a K26 egykártyás rendszermodult, hogy az a gépi látás feldolgozását segítő futószalag-gyorsítót és készen kapható gépi tanulási következtetőmotort biztosítson az arcfelismeréshez, az emberek számolásához és más intelligens kameraalkalmazásokhoz (4. ábra).

A Xilinx Kria App Store áruházban készen kapható gyorsított alkalmazásokat szemléltető kép (nagyításhoz kattintson a képre)4. ábra: A Xilinx Kria App Store áruházból letölthető, készen kapható gyorsított alkalmazások azonnal futtathatók a KV260 indulókészleten, és teljes körű megoldásokat kínálnak a gépi látást használó alkalmazásokhoz, amilyen például az arcfelismerés (kép: Xilinx)

A Xilinx App Store áruházban készen kapható gyorsított alkalmazások teljes körű megvalósítást és támogatást nyújtanak, így a fejlesztők kevesebb mint egy óra alatt elkészíthetik a terveket, még akkor is, ha nincs FPGA-s tapasztalatuk. Az alkalmazás kiértékelése során a rendelkezésükre bocsátott szoftvercsomag segítségével módosíthatják a funkciókat, hogy másfajta megoldásokkal kísérletezzenek. A nagyobb volumenű egyedi fejlesztésekhez a Xilinx átfogó fejlesztői eszközkészletet és könyvtárcsomagot kínál.

A mesterséges intelligenciás fejlesztői környezet és eszközök felgyorsítják az egyéni fejlesztéseket

A mesterséges intelligenciára épülő alkalmazások egyedi fejlesztéséhez a Xilinx Vitis AI mesterséges intelligenciás fejlesztőkörnyezete optimalizált eszközöket, könyvtárakat és előre betanított modelleket kínál, amelyek aztán célirányosabb egyedi modellek alapjául szolgálhatnak. A futásidejű üzemi környezethez a Xilinx Yocto-alapú PetaLinux linuxos beágyazott szoftverfejlesztő készlet (SDK) biztosítja a beágyazott linuxos rendszerek létrehozásához, fejlesztéséhez, teszteléséhez és telepítéséhez szükséges képességek teljes körét. A felhasználók igénybe vehetik az Ubuntu with Linux-csomagokat is, hogy felgyorsítsák a mesterséges intelligenciás gépi látási platformok fejlesztését.

A szakértők és az FPGA-s tapasztalattal nem rendelkező fejlesztők számára egyaránt tervezett Vitis AI környezet elvonatkoztat a mögöttes szilíciumhardver részleteitől, lehetővé téve a fejlesztők számára, hogy hatékonyabb gépi tanulási modellek létrehozására összpontosítsanak. A Vitis AI környezet be van építve van a nyílt forráskódú Apache Tensor Virtual Machine (TVM) virtuális gép mélytanulási fordítócsomagjába, hogy a fejlesztők a különböző keretrendszerekben készült modelljeiket lefordíthassák processzoron, GPU-n vagy gyorsítón futtatható kódra. A Vitis AI és a TVM használatával a fejlesztők gyorsított gépi látási képességekkel bővíthetik meglévő eszközeiket, és áthelyezhetik a számításigényes gépi látási munkaterhelést, például a mélytanulási modelleket a Kria egykártyás rendszermodulra. Annak elősegítése érdekében, hogy a fejlesztők tovább tudják optimalizálni a gépi tanulási modelljeiket, a Xilinx AI Optimization eszköz képes a neurális hálózatok kitakarítására (a szükségtelen adatok és paraméterek törlésére), hogy csökkentse a rendszer bonyolultságát a milliárd művelet/másodperc (Gops) mérőszám tekintetében, növelje a másodpercenként rögzíthető és lejátszható képkockák számát (fps), és csökkentse a túlparaméterezett modellek méretét, akár 50-ed részükre tömörítve azokat, mindezt úgy, hogy az átlagos pontosságra (mAP) csak csekély hatást gyakoroljon (5. ábra).

A Xilinx Research esettanulmányának grafikonja (nagyításhoz kattintson a képre)5. ábra: A Xilinx Research esettanulmánya megmutatta, hogy a Xilinx AI Optimization eszközzel végzett néhány egymás követő takarítás hogyan képes gyorsan csökkenteni a neurális hálózat bonyolultságát a milliárd művelet/másodperc (Gops) mérőszám tekintetében, miközben növeli a másodpercenként rögzíthető és lejátszható képkockák számát (fps), mindezt úgy, hogy csekély hatást gyakorol a pontosságra (kép: Xilinx)

A gépi látást megvalósító egyedi eszközök létrehozása érdekében a Xilinx nyílt forráskódú Vitis Vision könyvtárai nagy teljesítményre és alacsony erőforrás-használatra vannak optimalizálva a Xilinx platformokon, és az OpenCV szoftverkönyvtáron alapuló ismerős felületet kínálnak. Az elemzés terén a Xilinx Video Analytics SDK alkalmazás-keretrendszer segíti a fejlesztőket, hogy hatékonyabb gépi látási és videóelemző futószalagokat hozhassanak létre anélkül, hogy mélyebb FPGA-s ismeretekre lenne szükségük. A széles körben elfogadott, nyílt forráskódú GStreamer keretrendszerre épülő Video Analytics SDK lehetővé teszi, hogy a fejlesztők gyorsan hozzanak létre egyéni gyorsító programmagokat (kernel) GStreamer beépülő modulok formájában az SDK keretrendszerbe történő beépítéshez.

Ezekkel az eszközökkel egy átlagos fejlesztő egyszerűen állíthat össze egyéni gyorsító futószalagokat egyedi gyorsító programmaggal vagy a nélkül.

Összegzés

A számításigényes gépi tanulási algoritmusok lehetővé tették az intelligens gépi látási technika használatát sokféle a számításokat helyben végző eszközben, de a fejlesztők több kihívással is szembesülnek, amikor teljesíteniük kell a nagy teljesítményre, kis fogyasztásra és a gépi látást megvalósító, a számításokat helyben végző rendszerek alkalmazkodóképességére vonatkozó követelményeket. A Xilinx Kria K26 egykártyás rendszermodul hardveres alapot biztosít a fejlett algoritmusoknak a szigorú fogyasztási korlátok túllépése nélkül történő felgyorsításához. A Kria K26-ra épülő, készen kapható alkalmazásokat tartalmazó indulókészlet segítségével a fejlesztők azonnal megkezdhetik a gépi látást megvalósító intelligens alkalmazások értékelését, és egy átfogó fejlesztőkörnyezetet használhatnak a számításokat helyben végző egyedi eszközök létrehozásához.

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