Slik kan du raskt bygge og distribuere tilpasningsdyktige kantvisjonsapplikasjoner med en produksjonsklar plattform

Av Stephen Evanczuk

Bidrag fra DigiKeys nordamerikanske redaktører

Bruken av kunstig intelligens (AI) på kantbaserte smartkameraer har mottatt rask aksept på tvers av et økende utvalg av innebygde visjonsapplikasjoner, for eksempel maskinsyn, sikkerhet, detaljhandel og robotikk. Selv om den raske fremveksten av tilgjengelige maskinlæringsalgoritmer (ML – machine learning) har bidratt til å innlede denne interessen for AI, sliter utviklere fortsatt med å oppfylle stramme prosjektplaner og samtidig levere høy ytelse med lavt strømforbruk for kantbaserte applikasjoner.

For å gjøre ting enda mer kompliserte, kan selv nylig distribuerte løsninger raskt bli suboptimale på grunn av den raskt vekslende karakteren av applikasjonskrav og stadige forbedringer i algoritmer under utvikling.

Denne artikkelen introduserer en fleksibel system-på-modul (SOM – system-on-module)-løsning fra Xilinx som utviklere kan bruke til å raskt implementere smartkameraløsninger for kantdistribusjon. Den viser hvordan de lettere kan tilpasse disse løsningene i henhold til vekslende behov, uten å gå på akkord med viktige krav til latenstid og effekt.

Akselerere utføring av visningsapplikasjoner

Xilinx sin Kria K26 SOM, som er basert på en spesialbygd Zynq UltraScale+ flerprosessor-system-on-chip (MPSoC – multiprocessor system-on-chip), gir et robust innebygd prosesseringssystem som omfatter en 64-bits quad-core Arm Cortex-A53-applikasjonsprosesseringsenhet (APU – application processing unit), en 32-biters dual-core Arm® Cortex®-R5F-sanntidsprosesseringsenhet (RPU – real-time processing unit) og en Arm Mali-400MP2 3D-grafikkprosesseringsenhet (GPU – graphics processing unit). SOM-en kombinerer MPSoC-en med fire gigabyte 64-bit DDR 4-minne (DDR4 – double data rate) og tilknyttede minnestyringer, samt flere ikke-flyktige minneenheter (NVM – non-volatile memory), inkludert 512 megabit (Mb) QSPI-minne, 16 gigabyte (Gb) eMMC-minne (eMMC – embedded Multi-Media Card) og 64 kilobit (kb) elektrisk slettbart programmerbart skrivebeskyttet minne (EEPROM – electrically erasable programmable read-only memory) (figur 1).

Skjema over Xilinx Kria K26 SOM (klikk for å forstørre)Figur 1: Xilinx Kria K26 SOM-en kombinerer de omfattende prosesseringsmulighetene til en tilpasset Zynq UltraScale+ MPSoC med en klarert plattformmodul 2.0 (TPM2 – trusted platform module 2.0) og dynamisk og ikke-flyktig minne. (Bildekilde: Xilinx)

Xilinx supplerer prosesserings- og minneressursene sine med et omfattende programmerbart logikksystem (PLS) som omfatter 256K systemlogikkceller, 234K konfigurerbare logikkblokk (CLB – configurable logic block)-vippekretser (flip-flops), 117K CLB-oppslagstabeller (LUT – look-up table) og totalt 26,6 megabit (Mb) minne i ulike konfigurasjoner av distribuert direktelager (RAM – random access memory), blokk-RAM og ultraRAM-blokker. I tillegg omfatter det programmerbare logikksystemet 1248 digitale signalbehandlingsskiver (DSP – digital signal processing), fire transceivere og en videokodek for H.264 og H.265 som er i stand til å støtte opptil 32 strømmer med samtidig koding/dekoding, opptil totalt 3840 x 2160 piksler med 60 bilder i sekundet (fps). De to kontaktene med 240-pinner på SOM-en gir enkel tilgang til blokkoblinger og periferiutstyr via brukerkonfigurerbare innganger/utganger (I/O – input/output).

Denne kombinasjonen av prosessorkjerner, minne og programmerbar logikk gir et unikt nivå av fleksibilitet og ytelse som får bukt med viktige ulemper i GPU-er som brukes til høyhastighetskjøring av ML-algoritmer. I motsetning til den faste dataflyten i GPU-er, kan utviklere rekonfigurere K26 SOM-databanen for å optimalisere gjennomstrømning og redusere latenstid. Videre er K26 SOM-arkitekturen spesielt godt egnet til den spredte nettverkstypen som er kjernen i et økende antall ML-applikasjoner.

Programmerbarheten til K26 SOM-en adresserer også minneflaskehalser som både øker strømforbruket og begrenser ytelsen i minneintensive applikasjoner, for eksempel ML som er bygget med konvensjonelle arkitekturer ved hjelp av GPU-er, flerkjernede prosessorer eller til og med avanserte SoC-er. I alle bruksområder som er konstruert med disse konvensjonelle enhetene, utgjør eksternt minne vanligvis omtrent 40 % av systemets strømforbruk, mens prosessorkjernene og det interne minnet vanligvis utgjør omtrent 30 % hver. Til sammenligning kan utviklere dra nytte av de interne minneblokkene og rekonfigurasjonsevnen til K26 SOM-en for å implementere konstruksjoner som krever liten eller ingen ekstern minnetilgang. Resultatet er økt ytelse og lavere strømforbruk enn det som er mulig med konvensjonelle enheter (figur 2).

Skjema over Xilinx Kria bruker en effektiv visjonspipeline (klikk for å forstørre)Figur 2: Selv om systemer som er basert på integrerte CPU-er og typiske SoC-er krever flere strømkrevende minnetilganger for å kjøre applikasjonene sine, bruker systemer basert på Xilinx Kria en effektiv visjonspipeline som kan konstrueres slik at den unngår DDR-tilganger. (Bildekilde: Xilinx)

I tillegg til høy ytelse, lavt strømforbruk og omfattende rekonfigurerbarhet, bidrar K26 SOM-en til å sørge for sikkerhet i smartkamerakonstruksjoner for sensitive applikasjoner. Sammen med SOM-enes integrerte TPM-sikkerhetsenhet, integrerer MPSoC-en en dedikert konfigurasjonssikkerhetsenhet (CSU – configuration security unit) som støtter sikker oppstart (secure boot), manipulasjonsovervåking, sikker nøkkellagring og kryptografisk maskinvareakselerasjon. Kombinert utgjør CSU-en, det integrerte minnet (OCM – on-chip memory) og den sikre nøkkellagringen det sikre fundamentet som skal til for å sikre en maskinvare-RoT (RoT – root of trust) for implementering av sikker oppstart og en klarert plattform for applikasjonskjøring.

De omfattende funksjonene som er tilgjengelige med K26 SOM-en gir et kraftig fundament når det kommer til å implementere krevende kantbaserte applikasjoner. Hver enkelt applikasjon har imidlertid egne krav til funksjoner og funksjonalitet knyttet til et anvendelsesspesifikt sett med periferiutstyr og andre komponenter. For å forenkle implementeringen av anvendelsesspesifikke løsninger, er K26 SOM-en utviklet for å kobles til et bærekort (carrier card) som er vert for det ekstra periferiutstyret. Xilinx demonstrerer denne tilnærmingen med sin Kria K26-baserte startpakke, KV260 Vision AI Starter Kit.

Startpakken forenkler utvikling av visjonsapplikasjoner

Startpakken Xilinx KV260 Vision AI Starter Kit består av en K26 SOM som er koblet til et visjonsbasert bærekort, og tilbyr en bruksklar plattform som er spesialkonstruert for umiddelbar evaluering og rask utvikling av smarte visjonsapplikasjoner. Mens K26 SOM leverer de nødvendige prosesseringsmulighetene, sørger startpakkens bærekort for strømstyring, som omfatter strøm-på og nullstillingssekvensialisering (reset sequencing), samt grensesnittalternativer og kontakter for kamera, skjerm og microSD-kort (figur 3).

Skjema over startpakken Xilinx KV260 Vision AI Starter KitFigur 3: Startpakken Xilinx KV260 Vision AI tilbyr en ferdig smartvisjonsløsning ved hjelp av K26 SOM-en som er koblet til et visjonsbasert bærekort. (Bildekilde: Xilinx)

Sammen med flere grensesnitt, gir bærekortet flerkamerastøtte gjennom Raspberry Pi-kontakten og et par bildetilgangssystem-kontakter (IAS – image access system), hvorav én kobles til en dedikert onsemi 13 megapiksel (MP) AP1302-bildesensorprosessor (ISP – image sensor processor) som er i stand til å håndtere alle bildebehandlingsfunksjoner.

For å fremskynde implementeringen av visjonsbaserte applikasjoner, støtter Xilinx denne forhåndsdefinerte plattformen for visjonsmaskinvare med en rekke forhåndsbygde akselererte visjonsapplikasjoner, sammen med et omfattende sett med programvareverktøy og biblioteker for tilpasset utvikling.

Akselererte applikasjoner gir umiddelbare løsninger

For å oppnå umiddelbar evaluering og rask utvikling av applikasjoner for akselerert visjon, tilbyr Xilinx flere forhåndsbygde applikasjoner som demonstrerer utførelse av en rekke populære brukstilfeller, deriblant ansiktsdeteksjon med smartkamera ved hjelp av programmerbar logikk, identifisering og sporing av fotgjengere, defektdeteksjon og parvis søkeordsporing ved hjelp av behandlingssystemet til MPSoC. Hver applikasjon, som er tilgjengelig på Xilinx Kria App Store, tilbyr en komplett løsning for sitt bestemte brukstilfelle med tilhørende verktøy og ressurser. For eksempel bruker applikasjonen for ansiktsdeteksjon med smartkamera KV260-bærekortets innebygde AR1335-bildesensor og AP1302 ISP for å hente inn bilder og kortets HDMI- eller DisplayPort (DP)-utgang for å gjengi resultatet. For prosessering av ansiktsdeteksjon, konfigurerer applikasjonen K26 SOM-en slik at den gir en visjonspipelineakselerator og forhåndsbygd maskinlæringsinferensmotor for ansiktsdeteksjon, persontelling og andre smarte kamerabruksområder (figur 4).

Bilde av forhåndsbygde akselererte applikasjoner på Xilinx Kria App Store (klikk for å forstørre)Figur 4: Forhåndsbygde akselererte applikasjoner, som er tilgjengelige for nedlasting fra Xilinx Kria App Store, er klare til å kjøres umiddelbart på KV260-startpakken, og tilbyr komplette løsninger for visjonsbruksmodeller som ansiktsdeteksjon. (Bildekilde: Xilinx)

Ved å tilby fullstendig implementering og støtte, gir forhåndsbygde akselererte applikasjoner fra Xilinx App Store utviklere muligheten til å komme i gang på mindre enn én time, selv om de mangler FPGA-erfaring. Når de evaluerer applikasjonen, kan de bruke den medfølgende programvarestakken til å modifisere funksjonalitet for å utforske alternative løsninger. For mer omfattende tilpasset utvikling, tilbyr Xilinx en omfangsrik pakke med utviklingsverktøy og biblioteker.

AI-utviklingsmiljø og verktøy fremskynder tilpasset utvikling

For tilpasset utvikling av AI-baserte applikasjoner, tilbyr Xilinx sitt Vitis AI-utviklingsmiljø optimaliserte verktøy, biblioteker og forhåndsopplærte modeller som kan tjene som grunnlaget for mer spesialiserte tilpassede modeller. For kjøretidsmiljøet (runtime operating environment) tilbyr Xilinx sitt Yocto-baserte integrerte PetaLinux-programvareutviklingssett (SDK – software development kit) for Linux den komplette pakken med funksjoner som trengs for å bygge, utvikle, teste og distribuere integrerte Linux-systemer.

Vitis AI-miljøet er konstruert for både eksperter og utviklere som ikke har FPGA-erfaring, og oppsummerer detaljene i den underliggende silisium-maskinvaren, slik at utviklere kan fokusere på å bygge mer effektive ML-modeller. Vitis AI-miljøet er faktisk integrert med Apache Tensor Virtual Machine (TVM) kompileringsstakk for dyplæring med åpen kildekode, noe som gjør det mulig for utviklere å kompilere modellene sine fra forskjellige rammeverk til en prosessor, GPU eller akselerator. Ved å bruke Vitis AI med TVM, kan utviklere forbedre sine eksisterende konstruksjoner med akselererte visjonsmuligheter, noe som avlaster prosesseringsintensive visjonsarbeidslaster som dyplæringsmodeller til Kria SOM-en. For å hjelpe utviklere med å optimalisere de dype læringsmodellene sine ytterligere, kan Xilinx sitt AI-optimaliseringsverktøy renske opp i nevrale nettverk for å redusere kompleksiteten i form av antall giga-operasjoner per sekund (Gops), øke bilder per sekund (fps) og redusere overparameteriserte modeller, noe som komprimerer dem opptil 50x med liten innvirkning på nøyaktigheten i form av gjennomsnittlig presisjon (MAP – mean average precision) (figur 5).

Graf over Xilinx Research-casestudie (klikk for å forstørre)Figur 5: En Xilinx Research-casestudie viste hvordan noen få iterasjoner av opprensking (pruning) ved hjelp av Xilinx AI Optimization-verktøyet raskt kan redusere kompleksitet i nevrale nettverk i form av antall Gops, samtidig som bildene per sekund øker, og med liten innvirkning på nøyaktighet. (Bildekilde: Xilinx)

For implementering av tilpassede visjonsapplikasjoner, er Xilinx sine biblioteker, Vitis Vision Libraries, optimalisert for høy ytelse og lav ressursutnyttelse på Xilinx-plattformer, noe som gir et velkjent grensesnitt basert på OpenCV. For analyse hjelper Xilinx Video Analytics SDK-applikasjonsrammeverket utviklere med å bygge mer effektive analysepipeliner for visjon og video uten å kreve dyp FPGA-kunnskap. Video Analytics SDK er basert på det mye brukte GStreamer-rammeverket med åpen kildekode som gjør det mulig for utviklere å raskt opprette tilpassede akselerasjonskjerner som GStreamer-tillegg for integrering i SDK-rammeverket.

Ved å bruke disse verktøyene kan en typisk innebygd utvikler enkelt sette sammen tilpassede akselerasjonspipeliner med eller uten tilpassede akselerasjonskjerner.

Konklusjon

Prosesseringsintensive ML-algoritmer har muliggjort bruk av smartvisjonsteknologi i flere applikasjoner som kjører på kanten, men utviklere står overfor flere utfordringer når det gjelder å møte kravene til høy ytelse, lav effekt og anvendelighet i kantbaserte visjonssystemer. Kria K26 SOM-løsningen fra Xilinx gir maskinvarefundamentet som trengs for å akselerere avanserte algoritmer uten å overskride strenge strømbudsjetter. Ved å bruke en Kria K26-basert startpakke med forhåndsbygde applikasjoner, kan utviklere umiddelbart begynne å evaluere smarte visjonsapplikasjoner og bruke et omfattende utviklingsmiljø til å lage tilpassede kantenhetsløsninger.

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.

Om skribenten

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.

Om denne utgiveren

DigiKeys nordamerikanske redaktører