Sådan opbygger og implementerer du hurtigt tilpassede Edge Vision-applikationer med en produktionsklar platform
Bidraget af DigiKeys nordamerikanske redaktører
2022-02-03
Anvendelsen af kunstig intelligens (AI) på kantbaserede intelligente kameraer har hurtigt vundet indpas på tværs af en voksende række indlejrede vision-applikationer såsom maskinsyn, sikkerhed, detailhandel og robotteknologi. Mens den hurtige fremkomst af tilgængelige algoritmer til maskinlæring (ML) har været med til at skabe interesse for AI, kæmper udviklerne stadig med at overholde stramme projekttidsplaner og samtidig levere høj ydeevne ved lavt strømforbrug til kantbaserede applikationer.
Det kompliceres yderligere af, at selv nyligt implementerede løsninger hurtigt kan blive suboptimale på grund af de hurtigt skiftende applikationskrav og de løbende forbedringer af algoritmer, der er under udvikling.
Denne artikel introducerer en fleksibel SOM-løsning (System-on-module) fra Xilinx, som udviklere kan bruge til hurtigt at implementere intelligente kameraløsninger til edge-implementering. Den viser, hvordan de lettere kan tilpasse disse løsninger til skiftende behov uden at gå på kompromis med vigtige krav til latenstid og strømforsyning.
Fremskyndelse af udførelsen af vision-applikationer
Xilinx' Kria K26 SOM er baseret på en specialbygget Zynq UltraScale+ multiprocessor system-on-chip (MPSoC) og indeholder et robust indlejret processorsystem med en 64-bit quad-core Arm Cortex-A53 applikationsbehandlingsenhed (APU), en 32-bit dual-core Arm® Cortex®-R5F realtidsbehandlingsenhed (RPU) og en Arm Mali-400MP2 3D-grafikbehandlingsenhed (GPU). SOM kombinerer MPSoC'en med fire gigabyte 64-bit bred DDR4-hukommelse (Double Data Rate 4) med tilhørende hukommelsescontroller samt flere NVM-enheder (Non Volatile Memory), herunder 512 megabit (Mbits) QSPI-hukommelse (Quad Serial Peripheral Interface), 16 gigabyte (Gbytes) eMMC-hukommelse (Embedded Multi-Media Card) og 64 kilobit (Kbits) EEPROM-hukommelse (Electrically Erasable Programmable Read Only Memory) (figur 1).
Figur 1: Xilinx Kria K26 SOM kombinerer de omfattende behandlingsmuligheder i en specialbygget Zynq UltraScale+ MPSoC med et TPM2-modul (Trusted Platform Module 2.0) og dynamisk og ikke-flygtig hukommelse. (Billedkilde: Xilinx)
Xilinx supplerer sine behandlings- og hukommelsesaktiver med et omfattende programmerbart logiksystem, der omfatter 256K systemlogikceller, 234K flip-flops i konfigurerbare logikblokke (CLB), 117K CLB-opslagstabeller (LUT) og i alt 26,6 megabit hukommelse i forskellige konfigurationer af distribueret RAM (Random Access Memory), blok-RAM og ultraRAM-blokke. Derudover omfatter det programmerbare logiksystem 1.248 DSP-skiver (Digital Signal Processing), fire transceivere og et videokodec til H.264 og H.265, der kan understøtte op til 32 streams af samtidig kodning/afkodning, op til i alt 3840 x 2160 pixels ved 60 billeder pr. sekund (fps). SOM'ens to 240-pin-stik giver let adgang til funktionelle blokke og periferiudstyr via brugerkonfigurerbare input/output (I/O).
Denne kombination af processorkerner, hukommelse og programmerbar logik giver et unikt niveau af fleksibilitet og ydeevne, der overvinder de vigtigste ulemper ved GPU'er, der anvendes til højhastighedsudførelse af ML-algoritmer. I modsætning til den faste datastrøm i GPU'er kan udviklere omkonfigurere K26 SOM-datapaden for at optimere gennemstrømningen og reducere ventetiden. Desuden er K26 SOM's arkitektur særlig velegnet til den type sparsomme netværk, der er kernen i et stigende antal ML-applikationer.
K26 SOM's programmerbarhed løser også problemer med hukommelsesflaskehalse, der både øger strømforbruget og begrænser ydeevnen i hukommelsesintensive applikationer, såsom ML, der er bygget med konventionelle arkitekturer med GPU'er, multicore-processorer eller endda avancerede SoC'er. I enhver applikation, der er udviklet med disse konventionelle enheder, tegner den eksterne hukommelse sig typisk for ca. 40 % af systemets strømforbrug, mens processorkerner og intern hukommelse typisk tegner sig for ca. 30 % hver. I modsætning hertil kan udviklere udnytte K26 SOM's interne hukommelsesblokke og rekonfigurerbarhed til at implementere designs, der kræver meget lidt eller ingen ekstern hukommelsesadgang. Resultatet er øget ydeevne og lavere strømforbrug end muligt med konventionelle enheder (figur 2).
Figur 2: Mens systemer baseret på indlejrede CPU'er og typiske SoC'er kræver flere strømforbrugende hukommelsestilgange for at køre deres applikationer, bruger systemer baseret på Xilinx Kria en effektiv vision-pipeline, der kan designes til at undgå DDR-tilgange. (Billedkilde: Xilinx)
Sammen med den høje ydeevne, det lave strømforbrug og den omfattende rekonfigurerbarhed er K26 SOM'en med til at garantere sikkerheden i smartkamera-designs til følsomme applikationer. Sammen med SOM'ens indbyggede TPM-sikkerhedsenhed integrerer MPSoC'en en dedikeret konfigurationssikkerhedsenhed (CSU), der understøtter sikker opstart, overvågning af manipulation, sikker nøgleopbevaring og kryptografisk hardwareacceleration. CSU'en, den interne on-chip-hukommelse (OCM) og sikker nøgleopbevaring udgør tilsammen det sikre fundament for at sikre en hardwaretillidsrod til implementering af sikker opstart og en pålidelig platform til udførelse af applikationer.
De omfattende funktioner, der er tilgængelige med K26 SOM, giver et stærkt grundlag for implementering af krævende kantbaserede applikationer. Hver applikation har imidlertid sine egne krav til funktioner og funktionalitet i forbindelse med et applikationsspecifikt sæt af periferiudstyr og andre komponenter. For at forenkle implementeringen af applikationsspecifikke løsninger er K26 SOM designet til at blive sat i et bærerkort, der er vært for de ekstra periferiske enheder. Xilinx demonstrerer denne fremgangsmåde med sit Kria K26-baserede KV260 Vision AI Starter Kit.
Startsæt forenkler udviklingen af vision-applikationer
Xilinx KV260 Vision AI Starter Kit består af en K26 SOM, der er tilsluttet et vision-centreret bærekort, og udgør en out-of-the-box-platform, der er specielt designet til øjeblikkelig evaluering og hurtig udvikling af intelligente vision-applikationer. Mens K26 SOM'en leverer de nødvendige behandlingsfunktioner, leverer startsætets bærekort strømstyring, herunder sekvensering af tænd- og nulstilling, samt grænseflademuligheder og stik til kamera, skærm og microSD-kort (Figur 3).
Figur 3: Xilinx KV260 Vision AI Starter Kit giver en komplet smart vision-løsning ved hjælp af K26 SOM'en, der er sat i et vision-centreret bærekort. (Billedkilde: Xilinx)
Sammen med de mange grænseflader giver bærekortet understøttelse af flere kameraer via Raspberry Pi-stikket og et par IAS-stik (Image Access System), hvoraf det ene er forbundet til en dedikeret onsemi 13 megapixel (MP) AP1302 billedsensorprocessor (ISP), der kan håndtere alle billedbehandlingsfunktioner.
For yderligere at fremskynde implementeringen af vision-baserede applikationer understøtter Xilinx denne foruddefinerede vision-hardwareplatform med en række forudbyggede accelererede vision-applikationer sammen med et omfattende sæt softwareværktøjer og biblioteker til brugerdefineret udvikling.
Accelererede applikationer giver øjeblikkelige løsninger
Til øjeblikkelig evaluering og hurtig udvikling af accelererede vision-applikationer tilbyder Xilinx flere præfabrikerede applikationer, der demonstrerer udførelsen af flere populære anvendelsestilfælde, herunder smart kameraansigtsdetektion ved hjælp af den programmerbare logik, identifikation og sporing af fodgængere, defektdetektion og parret nøgleordspotting ved hjælp af MPSoC'ens processorsystem. Hver applikation er tilgængelig i Xilinx Kria App Store og indeholder en komplet løsning til den specifikke brugssituation med tilhørende værktøjer og ressourcer. F.eks. bruger smartkameraapplikationen til ansigtsdetektion KV260-kortets indbyggede AR1335-billedsensor og AP1302 ISP til at optage billeder og kortets HDMI- eller DisplayPort-udgang (DP) til at gengive resultatet. Til behandling af ansigtsdetektering konfigurerer programmet K26 SOM til at levere en vision pipeline-accelerator og en forudbygget maskinlæringsinferensmotor til ansigtsdetektering, tælling af personer og andre smartkameraapplikationer (figur 4).
Figur 4: Forudbyggede accelererede applikationer, der kan downloades fra Xilinx Kria App Store, er klar til at køre med det samme på KV260-startpakken og giver komplette løsninger til vision-brugsmodeller som f.eks. ansigtsdetektion. (Billedkilde: Xilinx)
Ved at levere komplet implementering og support kan udviklere med færdigbyggede accelererede applikationer fra Xilinx App Store få design op at køre på mindre end en time, selv hvis de ikke har FPGA-erfaring. Når de evaluerer applikationen, kan de bruge den medfølgende softwarestack til at ændre funktionaliteten for at undersøge alternative løsninger. Til mere omfattende brugerdefineret udvikling tilbyder Xilinx en omfattende pakke af udviklingsværktøjer og biblioteker.
AI-udviklingsmiljø og værktøjer fremskynder brugerdefineret udvikling
Til brugerdefineret udvikling af AI-baserede applikationer tilbyder Xilinx' Vitis AI-udviklingsmiljø optimerede værktøjer, biblioteker og prætrænede modeller, der kan tjene som grundlag for mere specialiserede brugerdefinerede modeller. For runtime-operationsmiljøet giver Xilinx' Yocto-baserede PetaLinux softwareudviklingskit (SDK) til indlejret Linux den fulde pakke af funktioner, der er nødvendige for at bygge, udvikle, teste og implementere indlejrede Linux-systemer.
Vitis AI-miljøet er designet til både eksperter og udviklere uden FPGA-erfaring og abstraherer detaljerne i den underliggende siliciumhardware, så udviklerne kan fokusere på at bygge mere effektive ML-modeller. Faktisk er Vitis AI-miljøet integreret med open source Apache Tensor Virtual Machine (TVM) deep learning compiler stack, hvilket gør det muligt for udviklere at kompilere deres modeller fra forskellige frameworks til en processor, GPU eller accelerator. Ved at bruge Vitis AI med TVM kan udviklere forbedre deres eksisterende design med accelererede vision-funktioner og aflaste beregningsintensive vision-arbejdsbyrder som f.eks. dybe indlæringsmodeller til Kria SOM'en. For at hjælpe udviklere med at optimere deres deep learning-modeller yderligere kan Xilinx' AI-optimeringsværktøj beskære neurale netværk for at reducere kompleksiteten i form af antallet af giga-operationer pr. sekund (Gops), øge antallet af billeder pr. sekund (fps) og reducere overparametrerede modeller, idet de komprimeres op til 50 gange med lille indvirkning på nøjagtigheden i form af gennemsnitlig gennemsnitlig præcision (mAP) (figur 5).
Figur 5: En Xilinx Research case study viste, hvordan nogle få iterationer af beskæring ved hjælp af Xilinx AI Optimization-værktøjet hurtigt kan reducere kompleksiteten af neurale netværk i form af antal Gops, samtidig med at billederne pr. sekund øges, alt sammen med lille indvirkning på nøjagtigheden. (Billedkilde: Xilinx)
Til implementering af brugerdefinerede vision-applikationer er Xilinx' open source Vitis Vision Libraries optimeret til høj ydeevne og lav ressourceudnyttelse på Xilinx-platforme og giver en velkendt grænseflade baseret på OpenCV. Til analyse hjælper Xilinx Video Analytics SDK-applikationsrammen udviklere med at opbygge mere effektive vision- og videoanalyserørledninger uden at kræve dybtgående FPGA-viden. Video Analytics SDK er baseret på den bredt accepterede open source GStreamer-ramme og giver udviklere mulighed for hurtigt at oprette brugerdefinerede accelerationskerner som GStreamer-plugins til integration i SDK-rammen.
Ved hjælp af disse værktøjer kan en typisk embedded udvikler nemt sammensætte brugerdefinerede accelerationspipelines med eller uden brugerdefinerede accelerationskerner.
Konklusion
Computerkrævende ML-algoritmer har gjort det muligt at anvende smart vision-teknologi i flere applikationer, der kører på kanten, men udviklerne står over for flere udfordringer, når de skal opfylde kravene til høj ydeevne, lavt strømforbrug og tilpasningsevne i kantbaserede vision-systemer. Kria K26 SOM-løsningen fra Xilinx giver hardware-fundamentet til at accelerere avancerede algoritmer uden at overskride strenge strømbudgetter. Ved hjælp af et Kria K26-baseret startsæt med forudbyggede applikationer kan udviklere straks begynde at evaluere smart vision-applikationer og bruge et omfattende udviklingsmiljø til at skabe brugerdefinerede kant-enhedsløsninger.

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.