Klik hier voor de Engelse versie van de broncode.

Hoe snel aanpasbare Edge Vision-toepassingen bouwen en implementeren met een platform dat klaar is voor productie

Door Stephen Evanczuk

Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey

De toepassing van kunstmatige intelligentie (AI) op slimme randcamera's heeft snel ingang gevonden in een groeiend aantal embedded vision-toepassingen, zoals machine vision, beveiliging, detailhandel en robotica. Hoewel de snelle opkomst van toegankelijke algoritmen voor machinaal leren (ML) deze belangstelling voor AI heeft helpen inluiden, worstelen ontwikkelaars nog steeds met het halen van strakke projectplanningen en het leveren van hoge prestaties bij een laag stroomverbruik voor edge-gebaseerde toepassingen.

Wat de zaken nog ingewikkelder maakt, is dat zelfs pas ingevoerde oplossingen snel suboptimaal kunnen worden door de snel veranderende aard van de toepassingsvereisten en de voortdurende verbeteringen in evoluerende algoritmen.

Dit artikel introduceert een flexibele system-on-module (SOM) oplossing van Xilinx die ontwikkelaars kunnen gebruiken om snel smart camera oplossingen te implementeren voor edge deployment. Het laat zien hoe zij die oplossingen gemakkelijker kunnen aanpassen aan veranderende behoeften zonder afbreuk te doen aan belangrijke eisen op het gebied van latentie en stroomverbruik.

Versnelde uitvoering van vision-toepassingen

Gebaseerd op een op maat gemaakte Zynq UltraScale+ multiprocessor system-on-chip (MPSoC), biedt Xilinx's Kria K26 SOM een robuust embedded processing systeem dat bestaat uit een 64-bit quad-core Arm Cortex-A53 applicatie verwerkingseenheid (APU), een 32-bit dual-core Arm® Cortex®-R5F real-time verwerkingseenheid (RPU), en een Arm Mali-400MP2 3D grafische verwerkingseenheid (GPU). De SOM combineert de MPSoC met vier gigabyte 64-bits DDR4-geheugen (Double Data Rate 4) en de bijbehorende geheugencontroller, alsook met meerdere niet-vluchtige geheugens (NVM's), waaronder 512 megabit (Mbits) quad serial peripheral interface (QSPI)-geheugen, 16 gigabyte (Gbyte) embedded Multi-Media Card (eMMC)-geheugen en 64 kilobits (Kbits) EEPROM (Electrically Erasable Programmable Read-Only Memory) (Afbeelding 1).

Schema van Xilinx Kria K26 SOM (klik om te vergroten)Afbeelding 1: De Xilinx Kria K26 SOM combineert de uitgebreide verwerkingsmogelijkheden van een op maat gemaakte Zynq UltraScale+ MPSoC met een trusted platformmodule 2.0 (TPM2) en dynamisch en niet-vluchtig geheugen. (Bron afbeelding: Xilinx)

Xilinx vult zijn verwerkings- en geheugencapaciteit aan met een uitgebreid programmeerbaar logicasysteem dat bestaat uit 256K systeemlogische cellen, 234K configureerbare logische blok (CLB) flip-flops, 117K CLB look-up tabellen (LUT's), en in totaal 26,6 megabits (Mbits) geheugen in verschillende configuraties van gedistribueerd willekeurig toegankelijk geheugen (RAM), blok-RAM, en ultraRAM-blokken. Bovendien omvat het programmeerbare logische systeem 1 248 segmenten voor digitale signaalverwerking (DSP), vier zendontvangers en een videocodec voor H.264 en H.265 die tot 32 streams voor gelijktijdige encodering/decodering kan ondersteunen, tot een totaal van 3840 x 2160 pixels bij 60 beelden per seconde (fps). De twee 240-pins connectors van de SOM bieden gemakkelijke toegang tot functionele blokken en randapparatuur via door de gebruiker configureerbare input/output (I/O).

Deze combinatie van processorkernen, geheugen en programmeerbare logica biedt een uniek niveau van flexibiliteit en prestaties dat de belangrijkste nadelen ondervangt van GPU's die worden gebruikt voor de snelle uitvoering van ML-algoritmen. In tegenstelling tot de vaste datastroom in GPU's, kunnen ontwikkelaars het K26 SOM-datapad opnieuw configureren om de doorvoer te optimaliseren en de latentie te verlagen. Bovendien is de architectuur van de K26 SOM bijzonder geschikt voor het soort schaarse netwerken dat centraal staat in een groeiend aantal ML-toepassingen.

De programmeerbaarheid van de K26 SOM pakt ook geheugenknelpunten aan die zowel het stroomverbruik verhogen als de prestaties beperken in geheugenintensieve toepassingen, zoals ML die is gebouwd met conventionele architecturen met GPU's, multicore processors of zelfs geavanceerde SoC's. In een toepassing die met deze conventionele apparaten is ontworpen, neemt het externe geheugen gewoonlijk ongeveer 40% van het stroomverbruik van het systeem voor zijn rekening, terwijl de processorkernen en het interne geheugen gewoonlijk elk ongeveer 30% voor hun rekening nemen. Ontwikkelaars kunnen daarentegen gebruik maken van de interne geheugenblokken en herconfigureerbaarheid van de K26 SOM om ontwerpen te implementeren die weinig of geen externe geheugentoegang vereisen. Het resultaat is betere prestaties en een lager stroomverbruik dan mogelijk is met conventionele toestellen (figuur 2).

Schema van Xilinx Kria maakt gebruik van een efficiënte visie pijplijn (klik om te vergroten)Afbeelding 2: Terwijl systemen op basis van ingebedde CPU's en typische SoC's meervoudige, energieverslindende geheugentoegang nodig hebben om hun toepassingen uit te voeren, maken systemen op basis van de Xilinx Kria gebruik van een efficiënte vision pijplijn die zo kan worden ontworpen dat geen DDR-toegang nodig is. (Bron afbeelding: Xilinx)

Samen met zijn hoge prestaties, laag stroomverbruik en uitgebreide herconfigureerbaarheid helpt de K26 SOM de veiligheid te garanderen in slimme camera-ontwerpen voor gevoelige toepassingen. Naast de ingebouwde TPM-beveiliging van de SOM, integreert de MPSoC een speciale configuratiebeveiligingsunit (CSU) die beveiligd opstarten, sabotagecontrole, veilige sleutelopslag en cryptografische hardwareversnelling ondersteunt. Samen vormen de CSU, het interne geheugen op de chip (OCM) en de veilige sleutelopslag de veilige basis voor een hardware-"root of trust" voor het implementeren van veilig opstarten en een vertrouwd platform voor de uitvoering van toepassingen.

De uitgebreide mogelijkheden van de K26 SOM bieden een krachtige basis voor de implementatie van veeleisende edge-gebaseerde toepassingen. Elke toepassing stelt echter haar eigen eisen aan eigenschappen en functionaliteit, gekoppeld aan een toepassingsspecifieke reeks randapparatuur en andere componenten. Om de implementatie van toepassingsspecifieke oplossingen te vereenvoudigen, is de K26 SOM ontworpen om te worden ingeplugd op een draagkaart waarop de extra randapparatuur is ondergebracht. Xilinx demonstreert deze aanpak met zijn op Kria K26 gebaseerde KV260 Vision AI Starter Kit.

Starter kit vereenvoudigt ontwikkeling van vision-toepassingen

De Xilinx KV260 Vision AI Starter Kit bestaat uit een K26 SOM op een vision-centric carrier board en biedt een out-of-the-box platform dat speciaal ontworpen is voor onmiddellijke evaluatie en snelle ontwikkeling van slimme vision applicaties. Terwijl de K26 SOM de vereiste verwerkingsmogelijkheden biedt, zorgt de dragerprint van de starterkit voor het voedingsbeheer, inclusief de inschakel- en resetvolgorde, en de interface-opties en connectors voor de camera, het scherm en de microSD-kaart (Afbeelding 3).

Schema van Xilinx KV260 Vision AI Starter KitAfbeelding 3: De Xilinx KV260 Vision AI Starter Kit biedt een complete smart vision-oplossing door gebruik te maken van de K26 SOM die op een vision-centric carrier board is aangesloten. (Bron afbeelding: Xilinx)

Naast de vele interfaces biedt het carrierboard ondersteuning voor meerdere camera's via de Raspberry Pi-connector en een paar IAS-connectors (Image Access System), waarvan er een is verbonden met een speciale AP1302 image sensor processor (ISP) van onsemi van 13 megapixel (MP) die alle beeldverwerkingsfuncties kan uitvoeren.

Om de implementatie van vision-gebaseerde applicaties verder te versnellen, ondersteunt Xilinx dit voorgedefinieerde vision hardware platform met een reeks van vooraf gebouwde versnelde vision applicaties, samen met een uitgebreide set van software tools en bibliotheken voor ontwikkeling op maat.

Versnelde toepassingen bieden onmiddellijke oplossingen

Voor onmiddellijke evaluatie en snelle ontwikkeling van versnelde vision-toepassingen biedt Xilinx verschillende vooraf gebouwde toepassingen die de uitvoering demonstreren van verschillende populaire use cases, waaronder smart camera gezichtsdetectie met behulp van de programmeerbare logica, voetgangers identificatie en tracking, detectie van defecten, en gepaarde trefwoord spotten met behulp van het verwerkingssysteem van de MPSoC. Elke applicatie is beschikbaar in de Xilinx Kria App Store en biedt een complete oplossing voor een specifieke toepassing met bijbehorende tools en hulpmiddelen. De toepassing voor intelligente gezichtsherkenning maakt bijvoorbeeld gebruik van de ingebouwde AR1335-beeldsensor en AP1302 ISP van de KV260-draagkaart om beelden op te nemen, en van de HDMI- of DisplayPort (DP)-uitvoer van de kaart om het resultaat weer te geven. Voor de verwerking van gezichtsdetectie configureert de toepassing het K26 SOM om een vision-pijplijnversneller en een vooraf gebouwde machine-learning-inferentie-engine te bieden voor gezichtsdetectie, het tellen van mensen en andere slimme cameratoepassingen (figuur 4).

Afbeelding van kant-en-klare versnelde applicaties in de Xilinx Kria App Store (klik om te vergroten)Afbeelding 4: Vooraf gebouwde versnelde toepassingen kunnen worden gedownload uit de Xilinx Kria App Store en zijn direct klaar voor gebruik op de KV260 starterkit, die complete oplossingen biedt voor vision gebruiksmodellen zoals gezichtsdetectie. (Bron afbeelding: Xilinx)

Door volledige implementatie en ondersteuning te bieden, kunnen ontwikkelaars met vooraf gebouwde versnelde applicaties uit de Xilinx App Store in minder dan een uur aan de slag, zelfs als ze geen FPGA ervaring hebben. Bij de evaluatie van de toepassing kunnen zij de meegeleverde softwarestack gebruiken om de functionaliteit te wijzigen en alternatieve oplossingen te verkennen. Voor meer uitgebreide ontwikkeling op maat biedt Xilinx een uitgebreide suite van ontwikkelingshulpmiddelen en bibliotheken.

AI-ontwikkelomgeving en -hulpmiddelen versnellen aangepaste ontwikkeling

Voor het op maat ontwikkelen van AI-gebaseerde toepassingen biedt Xilinx's Vitis AI ontwikkelomgeving geoptimaliseerde tools, bibliotheken, en vooraf getrainde modellen die kunnen dienen als de basis voor meer gespecialiseerde op maat gemaakte modellen. Voor het runtime werkende milieu, verstrekt Yocto-Gebaseerde PetaLinux van Xilinx ingebedde Linux softwareontwikkelingsuitrusting (SDK) de volledige reeks mogelijkheden die nodig zijn om ingebedde Linux-systemen te bouwen, te ontwikkelen, te testen, en te plaatsen.

De Vitis AI-omgeving is ontworpen voor zowel experts als ontwikkelaars zonder FPGA-ervaring en abstraheert de details van de onderliggende siliciumhardware, zodat ontwikkelaars zich kunnen richten op het bouwen van effectievere ML-modellen. De Vitis AI-omgeving is geïntegreerd met de open-source Apache Tensor Virtual Machine (TVM) deep learning compiler stack, zodat ontwikkelaars hun modellen uit verschillende frameworks kunnen compileren naar een processor, GPU of versneller. Met Vitis AI met TVM kunnen ontwikkelaars hun bestaande ontwerpen uitbreiden met versnelde vision-mogelijkheden, waarbij rekenintensieve vision-werklasten zoals deep learning-modellen worden overgeheveld naar de Kria SOM. Om ontwikkelaars te helpen hun deep learning-modellen verder te optimaliseren, kan Xilinx's AI Optimization tool neurale netwerken snoeien om de complexiteit te verminderen in termen van aantal giga operaties per seconde (Gops), frames per seconde (fps) te verhogen, en over-geparametriseerde modellen te verminderen, door ze tot 50x te comprimeren met weinig impact op de nauwkeurigheid in termen van gemiddelde gemiddelde gemiddelde precisie (mAP) (Afbeelding 5).

Grafiek van Xilinx Research case study (klik om te vergroten)Afbeelding 5: Een Xilinx Research case studie toonde aan hoe een paar iteraties van pruning met behulp van het Xilinx AI Optimization tool de complexiteit van het neurale netwerk snel kan verminderen in termen van aantal Gops, terwijl het aantal frames per seconde toeneemt, dit alles met weinig invloed op de nauwkeurigheid. (Bron afbeelding: Xilinx)

Voor de implementatie van maatwerk vision applicaties zijn Xilinx's open-source Vitis Vision Libraries geoptimaliseerd voor hoge prestaties en laag resource gebruik op Xilinx platforms, en bieden een vertrouwde interface gebaseerd op OpenCV. Voor analyse helpt het Xilinx Video Analytics SDK applicatie framework ontwikkelaars om effectievere vision en video analyse pijplijnen te bouwen zonder dat daarvoor diepgaande FPGA kennis nodig is. De Video Analytics SDK is gebaseerd op het wijdverbreide open-source GStreamer framework en stelt ontwikkelaars in staat snel aangepaste acceleratie-kernels te maken als GStreamer plug-ins voor integratie in het SDK framework.

Met deze hulpmiddelen kan een typische embedded ontwikkelaar gemakkelijk aangepaste versnellingspijplijnen samenstellen, met of zonder aangepaste versnellingskernels.

Conclusie

Rekenintensieve ML-algoritmen hebben het gebruik van slimme vision-technologie mogelijk gemaakt in meerdere toepassingen die aan de rand draaien, maar ontwikkelaars staan voor meerdere uitdagingen bij het voldoen aan de eisen voor hoge prestaties, laag energieverbruik en aanpasbaarheid van edge-gebaseerde vision-systemen. De Kria K26 SOM oplossing van Xilinx biedt de hardware basis voor het versnellen van geavanceerde algoritmen zonder de stringente energie budgetten te overschrijden. Met behulp van een op Kria K26 gebaseerde starterkit met vooraf gebouwde applicaties kunnen ontwikkelaars onmiddellijk beginnen met het evalueren van smart vision-toepassingen en gebruikmaken van een uitgebreide ontwikkelomgeving om aangepaste randapparaatoplossingen te creëren.

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.

Achtergrondinformatie over deze auteur

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk heeft meer dan 20 jaar ervaring in het schrijven voor en over de elektronicasector met betrekking tot heel wat onderwerpen, waaronder hardware, software, systemen en toepassingen zoals het IoT. Hij behaalde zijn filosofiediplomain neurowetenschappen over neuronale netwerken en werkte in de ruimtevaartsector op massaal verspreide veilige systemen en algoritmeversnellingsmethoden. Wanneer hij geen artikels over technologie en techniek schrijft, werkt hij aan toepassingen voor “deep learning” voor herkennings- en aanbevelingssystemen.

Over deze uitgever

De Noord-Amerikaanse redacteurs van DigiKey