Hurtigt at designe og implementere smart maskine-vision systemer
Bidraget af DigiKeys nordamerikanske redaktører
2022-08-31
Behovet for machine vision vokser på tværs af en række applikationer, herunder sikkerhed, trafik- og bykameraer, detailhandelsanalyser, automatiseret inspektion, processtyring og visionsstyret robotteknologi. Machine vision er kompleks at implementere og kræver integration af forskellige teknologier og undersystemer, herunder højtydende hardware og avanceret software til kunstig intelligens/maskinlæring (AI/ML). Det begynder med optimering af videooptagelses teknologien og vision I/O til at opfylde applikationens behov og strækker sig til flere billedbehandlings-pipelines for effektiv tilslutning. Det er i sidste ende afhængig af, at det indlejrede visionssystem kan udføre visionsbaserede analyser i realtid ved hjælp af højtydende hardware såsom FPGA'er (field programmable gate arrays), SOM-systemer (systems on modules), SoC'er (systems on chips) og endda MPSoC'er (multiprocessorsystemer på chips) til at køre den nødvendige AI/ML-billedbehandlings- og genkendelsessoftware. Dette kan være en kompleks, kostbar og tidskrævende proces, som er udsat for mange muligheder for omkostningsoverskridelser og forsinkelser i tidsplanen.
I stedet for at starte helt forfra kan designere benytte sig af en velassorteret, højtydende udviklingsplatform, der gør det hurtigere at komme på markedet, kontrollerer omkostningerne og reducerer udviklingsrisikoen, samtidig med at den understøtter en høj grad af fleksibilitet og ydeevne. En SOM-baseret udviklingsplatform kan levere et integreret hardware- og softwaremiljø, så udviklerne kan fokusere på applikationstilpasning og spare op til ni måneders udviklingstid. Ud over udviklingsmiljøet er den samme SOM-arkitektur tilgængelig i produktionsoptimerede konfigurationer til kommercielle og industrielle miljøer, hvilket øger applikationens pålidelighed og kvalitet, reducerer risici yderligere og fremskynder time-to-market.
Denne artikel begynder med en gennemgang af de udfordringer, der er forbundet med udvikling af højtydende maskine-vision systemer, præsenterer derefter det omfattende udviklingsmiljø, som tilbydes af Kria KV260 vision AI-startpakken fra AMD Xilinx, og afslutter med eksempler på produktionsklare SOM'er baseret på Kira 26-platformen, der er designet til at blive sat ind i et bærerkort med løsningsspecifikke periferier.
Det begynder med optimering af datatyper
Behovene for dybe indlæringsalgoritmer er under udvikling. Det er ikke alle applikationer, der har brug for beregninger med høj præcision. Der anvendes datatyper med lavere præcision, f.eks. INT8, eller brugerdefinerede dataformater. GPU-baserede systemer kan være udfordret i forsøget på at ændre arkitekturer, der er optimeret til data med høj præcision, så de effektivt kan håndtere dataformater med lavere præcision. Kria K26 SOM er rekonfigurerbar, hvilket gør det muligt at understøtte en bred vifte af datatyper fra FP32 til INT8 og andre. Rekonfigurerbarhed resulterer også i et lavere samlet energiforbrug. For eksempel bruger operationer, der er optimeret til INT8, en størrelsesorden mindre energi sammenlignet med en FP32-operation (figur 1).
Figur 1: Der kræves en størrelsesorden mindre energi til INT8-operationer (8b Add) sammenlignet med FP32-operationer (32b Add). (Billedkilde: AMD Xilinx)
Optimal arkitektur for minimalt strømforbrug
Design, der er implementeret på grundlag af en flerkerne GPU- eller CPU-arkitektur, kan være strømslugende baseret på typiske strømforbrugsmønstre:
- 30 % for kerner
- 30 % til den interne hukommelse (L1, L2, L3)
- 40 % til den eksterne hukommelse (f.eks. DDR)
GPU'er kræver hyppig adgang til ineffektiv DDR-hukommelse for at understøtte programmerbarhed og kan være en flaskehals for krav om høj båndbredde i forbindelse med beregning. Zynq MPSoC-arkitekturen, der anvendes i Kria K26 SOM'en, understøtter udviklingen af applikationer med ringe eller ingen adgang til ekstern hukommelse. I en typisk bilapplikation kræver kommunikation mellem GPU'en og forskellige moduler f.eks. flere adganger til ekstern DDR-hukommelse, mens den Zynq MPSoC-baserede løsning indeholder en pipeline, der er designet til at undgå de fleste DDR-adgange (figur 2).
Figur 2: I denne typiske bilapplikation kræver GPU'en flere adganger til DDR til kommunikation mellem de forskellige moduler (til venstre), mens Zynq MPSoC's pipeline-arkitektur (til højre) undgår de fleste DDR-adgange. (Billedkilde: AMD Xilinx)
Beskæring udnytter fordelene ved
De neurale netværks ydeevne på K26 SOM kan forbedres ved hjælp af et AI-optimeringsværktøj, der muliggør optimering og beskæring af data. Det er meget almindeligt, at neurale netværk er overparameteriseret, hvilket fører til et højt niveau af redundans, som kan optimeres ved hjælp af dataudskæring og modelkomprimering. Brug af Xilinx' AI Optimizer kan resultere i en 50x reduktion i modellens kompleksitet med en nominel indvirkning på modellens nøjagtighed. F.eks. blev en SSD-detektor (single-shot detector) plus en VGG-arkitektur med et VGG-foldningsneuronalt net (CNN) med 117 Giga Operations (Gops) forfinet over 11 iterationer af beskæring ved hjælp af AI Optimizer. Før optimering kørte modellen 18 billeder pr. sekund (FPS) på en Zynq UltraScale+ MPSoC. Efter 11 iterationer - den 12. kørsel af modellen - blev kompleksiteten reduceret fra 117 Gops til 11,6 Gops (10X), ydelsen steg fra 18 til 103 FPS (5X), og nøjagtigheden faldt fra 61,55 gennemsnitlig præcision (mAP) for objektdetektion til 60,4 mAP (kun 1 % lavere) (figur 3).
Figur 3: Efter relativt få gentagelser kan beskæring reducere modellens kompleksitet (Gop) med 10x og forbedre ydeevnen (FPS) med 5 gange med kun 1 % reduktion i nøjagtigheden (mAP). (Billedkilde: AMD Xilinx)
Eksempel på anvendelse i den virkelige verden
En maskinindlærings-applikation til registrering og genkendelse af bilnummerplader, også kaldet ANPR (auto number plate recognition), blev udviklet på grundlag af vision analytics software fra Uncanny Vision. ANPR anvendes til automatiserede vejafgiftssystemer, overvågning af motorveje, sikker adgang til porte og parkeringspladser og andre applikationer. Denne ANPR-applikation omfatter en AI-baseret pipeline, der afkoder videoen og forbehandler billedet, efterfulgt af ML-detektion og OCR-tegngenkendelse (figur 4).
Figur 4: Typisk billedbehandlingsflow for en AI-baseret ANPR-applikation. (Billedkilde: AMD Xilinx)
Implementering af ANPR kræver et eller flere H.264- eller H.265-kodede RTSP-feeds (Real Time Streaming Protocol), der er dekodet eller ukomprimeret. De dekodede videobilleder skaleres, beskæres, farvespacet konverteres og normaliseres (forbehandles) og sendes derefter til ML-detektionsalgoritmen. ANPR-implementeringer med høj ydeevne kræver en AI-pipeline i flere trin. I første trin registreres og lokaliseres køretøjet i billedet, hvorved der oprettes et interesseområde (ROI). Samtidig optimerer andre algoritmer billedkvaliteten med henblik på senere brug af OCR-tegngenkendelsesalgoritmen og sporer køretøjets bevægelse på tværs af flere billeder. Køretøjets ROI beskæres yderligere for at generere nummerplade ROI, der behandles af OCR-algoritmen for at bestemme tegnene på nummerpladen. Sammenlignet med andre kommercielle SOM'er baseret på GPU'er eller CPU'er kørte Uncanny Visions ANPR-applikation 2 - 3x hurtigere på Kira KV260 SOM'en og kostede mindre end 100 USD pr. RTSP-feed.
Udviklingsmiljø for smart-vision
Designere af smart-vision applikationer som trafik- og bykameraer, detailhandelsanalyser, sikkerhed, industriel automatisering og robotteknologi kan henvende sig til Kria K26 SOM AI Starter udviklingsmiljøet. Dette miljø er opbygget ved hjælp af Zynq® UltraScale+™ MPSoC-arkitekturen og har et voksende bibliotek af kuraterede applikationssoftwarepakker (figur 5). AI Starter SOM indeholder en quad-core Arm Cortex-A53-processor med fire kerner, over 250.000 logiske celler og et H.264/265-videokodec. SOM'en har også 4 GB DDR4-hukommelse, 245 IO'er og 1,4 tera-ops AI-compute til at understøtte oprettelsen af højtydende vision AI-applikationer, der tilbyder mere end 3x højere ydeevne med lavere responstid og strøm sammenlignet med andre hardwaretilgange. De færdigbyggede applikationer gør det muligt at køre de første designs på mindre end en time.
Figur 5: Kria KV260 vision AI-starterkit er et omfattende udviklingsmiljø til applikationer til maskine-vision. (Billedkilde: AMD Xilinx)
For at hjælpe med at kickstarte udviklingsprocessen med Kria K26 SOM tilbyder AMD Xilinx KV260 vision AI starterkit, der indeholder en strømadapter, et Ethernet-kabel, et microSD-kort, et USB-kabel, et HDMI-kabel og et kameramodul (Figur 6). Hvis hele startpakken ikke er nødvendig, kan udviklere blot købe den valgfrie strømadapter for at komme i gang med at bruge Kira K26 SOM'en.
Figur 6: KV260 vision AI-startpakken omfatter: (øverste række, fra venstre til højre) strømforsyning, Ethernet-kabel, microSD-kort og (nederste række, fra venstre til højre) USB-kabel, HDMI-kabel og kameramodul. (Billede: AMD Xilinx)
En anden faktor, der fremskynder udviklingen, er det omfattende udvalg af funktioner, herunder rigelige 1,8 V, 3,3 V single-ended og differentielle I/O'er med fire 6 Gb/s transceivers og fire 12,5 Gb/s transceivers. Disse funktioner gør det muligt at udvikle applikationer med et større antal billedsensorer pr. SOM og mange variationer af sensorinterface såsom MIPI, LVDS, SLVS og SLVS-EC, som ikke altid understøttes af applikationsspecifikke standardprodukter (ASSP'er) eller GPU'er. Udviklere kan også implementere DisplayPort, HDMI, PCIe, USB2.0/3.0 og brugerdefinerede standarder med den indbyggede programmerbare logik.
Endelig er udviklingen af AI-applikationer blevet forenklet og gjort mere tilgængelig ved at koble de omfattende hardwarefunktioner og softwaremiljøet i K26 SOM med produktionsklare vision-applikationer. Disse vision-applikationer kan implementeres uden behov for FPGA-hardwaredesign og gør det muligt for softwareudviklere hurtigt at integrere brugerdefinerede AI-modeller og applikationskode og endda ændre vision-pipelinen. Den forenede softwareudviklingsplatform Vitis og biblioteker fra Xilinx understøtter almindelige designmiljøer, såsom TensorFlow, Pytorch og Café-rammer, samt flere programmeringssprog, herunder C, C++, OpenCL™ og Python. Der er også en indlejret app-butik til edge-applikationer, der bruger Kria SOM'er fra Xilinx og dets økosystempartnere. Xilinx' tilbud er gratis og open source og omfatter smart-kameratracking og ansigtsdetektion, naturlig sprogbehandling med smart vision og meget mere.
Produktionsoptimerede Kira 26 SOM'er
Når udviklingsprocessen er afsluttet, er der produktionsklare versioner af K26 SOM'en, der er designet til at blive sat ind i et bærerkort med løsningsspecifikke perifere enheder, som kan fremskynde overgangen til produktion (figur 7). Den grundlæggende K26 SOM er en enhed af kommerciel kvalitet med en temperaturklassificering på 0 °C til +85 °C junction-temperatur, som målt af den interne temperatursensor. Der findes også en industriel version af K26 SOM, der er beregnet til drift fra -40 °C til +100 °C.
Det industrielle marked kræver lang levetid i barske miljøer. Kria SOM i industriel kvalitet er designet til ti års drift ved 100 °C kryds og 80 % relativ luftfugtighed og til at modstå op til 40 g stød og 5 g RMS-vibrationer (root mean square). Den har også en minimum produktionstilgængelighed på ti år for at understøtte lange produktlivscyklusser.
Figur 7: Produktionsoptimerede Kira 26 SOM'er til industrielle og kommercielle miljøer er designet til at blive sat i et bærerkort med løsningsspecifikke perifere enheder. (Billede: DigiKey)
Sammenfatning
Designere af machine-vision applikationer som f.eks. sikkerheds-, trafik- og bykameraer, detailhandelsanalyser, automatiseret inspektion, processtyring og visionsstyret robotteknologi kan henvende sig til Kria K26 SOM AI Starter for at fremskynde markedsføringen, hjælpe med at kontrollere omkostningerne og reducere udviklingsrisikoen. Denne SOM-baserede udviklingsplatform er et integreret hardware- og softwaremiljø, der gør det muligt for udviklere at fokusere på applikationstilpasning og spare op til ni måneders udviklingstid. Den samme SOM-arkitektur er tilgængelig i produktionsoptimerede konfigurationer til kommercielle og industrielle miljøer, hvilket yderligere fremskynder markedsføringstiden. Den industrielle version har en minimum produktionstilgængelighed på 10 år for at understøtte lange produktlivscyklusser.
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.

