Hoe kunnen slimme machine vision-systemen snel worden ontworpen en toegepast?
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2022-08-31
De behoefte aan machine vision neemt toe in een hele reeks toepassingen, waaronder beveiliging, verkeers- en stadscamera's, detailhandelanalyses, geautomatiseerde inspectie, procesbesturing en vision-gestuurde robotica. Machine vision is complex om te implementeren en vereist de integratie van diverse technologieën en subsystemen, waaronder krachtige hardware en geavanceerde software voor kunstmatige intelligentie/machineleren (AI/ML). Het begint met het optimaliseren van de technologie voor video-opname en vision I/O om te voldoen aan de behoeften van de toepassing en strekt zich uit tot meerdere beeldverwerkingspijplijnen voor efficiënte connectiviteit. Uiteindelijk hangt het af van de vraag of het ingebedde visiesysteem in staat is om in real time op visie gebaseerde analyses uit te voeren met behulp van krachtige hardware zoals FPGA's (Field Programmable Gate Arrays), SOM's (Systems on Module), SoC's (Systems on Chips) en zelfs MPSoC's (Multi-processor Systems on Chips) om de benodigde AI/ML beeldverwerkings- en -herkenningssoftware uit te voeren. Dit kan een ingewikkeld, duur en tijdrovend proces zijn waarbij zich talrijke mogelijkheden voor kostenoverschrijdingen en vertragingen voordoen.
In plaats van vanaf nul te beginnen, kunnen ontwerpers zich wenden tot een goed samengesteld, krachtig ontwikkelingsplatform dat de doorlooptijd verkort, de kosten in de hand houdt en de ontwikkelingsrisico's beperkt, terwijl het tegelijkertijd een hoge mate van flexibiliteit en prestaties van de toepassing ondersteunt. Een SOM-gebaseerd ontwikkelingsplatform kan een geïntegreerde hardware- en softwareomgeving bieden, waardoor ontwikkelaars zich kunnen concentreren op het aanpassen van toepassingen en tot negen maanden ontwikkeltijd kunnen besparen. Naast de ontwikkelomgeving is dezelfde SOM-architectuur beschikbaar in voor de productie geoptimaliseerde configuraties voor commerciële en industriële omgevingen, waardoor de betrouwbaarheid en kwaliteit van toepassingen wordt verbeterd, risico's verder worden beperkt en de doorlooptijd wordt verkort.
Dit artikel begint met een bespreking van de uitdagingen die gepaard gaan met de ontwikkeling van high-performance machine vision systemen, vervolgens wordt de uitgebreide ontwikkelomgeving gepresenteerd die wordt geboden door de Kria KV260 vision AI starter kit van AMD Xilinx, en tenslotte worden voorbeelden gegeven van productieklare SOMs op basis van het Kira 26 platform die zijn ontworpen om te worden aangesloten op een draagkaart met oplossingsspecifieke randapparatuur.
Het begint met datatype optimalisatie
De behoeften van deep learning-algoritmen evolueren. Niet elke toepassing heeft berekeningen met hoge precisie nodig. Er worden gegevenstypen met een lagere precisie gebruikt, zoals INT8, of aangepaste gegevensformaten. GPU-gebaseerde systemen kunnen voor de uitdaging komen te staan om architecturen die zijn geoptimaliseerd voor gegevens met een hoge precisie, efficiënt aan te passen aan gegevensformaten met een lagere precisie. De Kria K26 SOM is herconfigureerbaar, waardoor deze een breed scala aan datatypes kan ondersteunen, van FP32 tot INT8 en andere. Herconfigureerbaarheid leidt ook tot een lager algemeen energieverbruik. Zo verbruiken bewerkingen die zijn geoptimaliseerd voor INT8 een orde van grootte minder energie in vergelijking met een FP32-bewerking (Afbeelding 1).
Afbeelding 1: Er is een orde van grootte minder energie nodig voor INT8-bewerkingen (8b Add) in vergelijking met FP32-bewerkingen (32b Add). (Bron afbeelding: AMD Xilinx)
Optimale architectuur voor minimaal stroomverbruik
Ontwerpen die zijn geïmplementeerd op basis van een multicore GPU- of CPU-architectuur kunnen veel energie verbruiken op basis van typische energiegebruikspatronen:
- 30% voor de kernen
- 30% voor het interne geheugen (L1, L2, L3)
- 40% voor het externe geheugen (zoals DDR)
GPU's hebben frequente toegang tot inefficiënt DDR-geheugen nodig om programmeerbaarheid te ondersteunen en kunnen een knelpunt vormen voor computergebruik met hoge bandbreedte. De Zynq MPSoC-architectuur die in de Kria K26 SOM wordt gebruikt, ondersteunt de ontwikkeling van toepassingen met weinig of geen toegang tot extern geheugen. In een typische automobieltoepassing vereist de communicatie tussen de GPU en diverse modules bijvoorbeeld meerdere toegangen tot extern DDR-geheugen, terwijl de op Zynq MPSoC gebaseerde oplossing een pijplijn bevat die is ontworpen om de meeste DDR-toegangen te vermijden (Afbeelding 2).
Afbeelding 2: In deze typische autotoepassing vereist de GPU meerdere DDR-toegangen voor communicatie tussen de verschillende modules (links), terwijl de pijplijnarchitectuur van de Zynq MPSoC (rechts) de meeste DDR-toegangen vermijdt. (Bron afbeelding: AMD Xilinx)
Pruning maakt gebruik van de voordelen
De prestaties van neurale netwerken op de K26 SOM kunnen worden verbeterd met behulp van een AI-optimalisatie-instrument dat optimalisatie en pruning van gegevens mogelijk maakt. Neurale netwerken zijn vaak overgeparametriseerd, wat leidt tot een hoge mate van redundantie, die kan worden geoptimaliseerd met datapruning en modelcompressie. Het gebruik van Xilinx's AI Optimizer kan resulteren in een 50x reductie in model complexiteit, met een nominale impact op modelnauwkeurigheid. Bijvoorbeeld, een single-shot detector (SSD) plus een VGG convolutie neuraal net (CNN) architectuur met 117 Giga Operations (Gops) werd verfijnd over 11 iteraties van pruning met behulp van de AI Optimizer. Vóór optimalisatie draaide het model 18 beelden per seconde (FPS) op een Zynq UltraScale+ MPSoC. Na 11 iteraties - de12e run van het model - was de complexiteit teruggebracht van 117 Gops tot 11,6 Gops (10X), namen de prestaties toe van 18 tot 103 FPS (5X), en daalde de nauwkeurigheid van 61,55 gemiddelde gemiddelde precisie (mAP) voor objectdetectie tot 60,4 mAP (slechts 1% lager) (Afbeelding 3).
Afbeelding 3: Na relatief weinig iteraties kan pruning de complexiteit van het model (Gop) met 10X verminderen en de prestaties (FPS) met 5X verbeteren, met slechts 1% vermindering van de nauwkeurigheid (mAP). (Bron afbeelding: AMD Xilinx)
Real-world toepassingsvoorbeeld
Op basis van vision-analysesoftware van Uncanny Vision is een toepassing voor machine learning ontwikkeld voor de detectie en herkenning van kentekenplaten van auto's, ook wel auto nummerplaatherkenning (ANPR) genoemd. ANPR wordt gebruikt in geautomatiseerde tolsystemen, snelwegbewaking, beveiligde toegangspoorten en parkeertoegang, en andere toepassingen. Deze ANPR-toepassing omvat een op AI gebaseerde pijplijn die de video decodeert en het beeld voorbewerkt, gevolgd door ML-detectie en OCR-karakterherkenning (Afbeelding 4).
Afbeelding 4: Typische beeldverwerkingsstroom voor een op AI gebaseerde ANPR-toepassing. (Bron afbeelding: AMD Xilinx)
Voor de implementatie van ANPR zijn een of meer H.264 of H.265 gecodeerde realtime streamingprotocolfeeds (RTSP) nodig die gedecodeerd of niet-gecomprimeerd zijn. De gedecodeerde videoframes worden geschaald, bijgesneden, in kleurruimte omgezet en genormaliseerd (voorbewerkt), en vervolgens naar het ML-detectiealgoritme gestuurd. Krachtige ANPR-implementaties vereisen een meertraps AI-pijplijn. In de eerste fase wordt het voertuig gedetecteerd en gelokaliseerd in het beeld, waarbij het gebied van interesse (ROI) wordt gecreëerd. Tegelijkertijd optimaliseren andere algoritmen de beeldkwaliteit voor later gebruik door het OCR-tekenherkenningsalgoritme en volgen zij de beweging van het voertuig over meerdere frames. De ROI van het voertuig wordt verder bijgesneden om de ROI van de nummerplaat te genereren die door het OCR-algoritme wordt verwerkt om de tekens in de nummerplaat te bepalen. Vergeleken met andere commerciële SOM's gebaseerd op GPU's of CPU's, liep de ANPR-toepassing van Uncanny Vision 2-3X sneller op de Kira KV260 SOM, en kostte minder dan $100 per RTSP-feed.
Smart vision ontwikkelomgeving
Ontwerpers van slimme vision-toepassingen zoals verkeers- en stadscamera's, retail analytics, beveiliging, industriële automatisering en robotica kunnen zich wenden tot de Kria K26 SOM AI Starter-ontwikkelomgeving. Deze omgeving is gebouwd op basis van de Zynq® UltraScale+™ MPSoC-architectuur en beschikt over een groeiende bibliotheek van samengestelde softwarepakketten voor toepassingen (Afbeelding 5). De AI Starter SOM bevat een quad-core Arm Cortex-A53-processor, meer dan 250 duizend logische cellen en een H.264/265-videocodec. De SOM heeft ook 4 GB DDR4-geheugen, 245 IO's en 1,4 tera-ops aan AI-rekenkracht om de creatie van krachtige vision AI-toepassingen te ondersteunen die meer dan 3x hogere prestaties bieden bij een lagere latency en lager energieverbruik in vergelijking met andere hardwarebenaderingen. Met de vooraf gebouwde toepassingen kunnen de eerste ontwerpen in minder dan een uur worden uitgevoerd.
Afbeelding 5: De Kria KV260 vision AI-starterskit is een uitgebreide ontwikkelomgeving voor machine vision-toepassingen. (Bron afbeelding: AMD Xilinx)
Om het ontwikkelingsproces met de Kria K26 SOM een vliegende start te geven, biedt AMD Xilinx de KV260 vision AI-starterkit aan, die bestaat uit een voedingsadapter, Ethernet-kabel, microSD-kaart, USB-kabel, HDMI-kabel en een cameramodule (Afbeelding 6). Als niet de hele starterkit nodig is, kunnen ontwikkelaars gewoon de optionele voedingsadapter kopen om te beginnen met het gebruik van de Kira K26 SOM.
Afbeelding 6: De KV260 vision AI-starterkit omvat: (bovenste rij, van links naar rechts) voeding, Ethernet-kabel, microSD-kaart, en (onderste rij, van links naar rechts) USB-kabel, HDMI-kabel, cameramodule. (Afbeelding: AMD Xilinx)
Een andere factor die de ontwikkeling versnelt, is de uitgebreide reeks functies, waaronder een overvloed aan 1,8 V, 3,3 V single-ended en differentiële I/O's met vier 6 Gb/s zendontvangers en vier 12,5 Gb/s zendontvangers. Deze kenmerken maken de ontwikkeling mogelijk van toepassingen met grotere aantallen beeldsensoren per SOM en vele variaties van sensorinterfaces zoals MIPI, LVDS, SLVS en SLVS-EC, die niet altijd worden ondersteund door toepassingsspecifieke standaardproducten (ASSPs) of GPU's. Ontwikkelaars kunnen ook DisplayPort, HDMI, PCIe, USB2.0/3.0, en door de gebruiker gedefinieerde standaarden implementeren met de ingebouwde programmeerbare logica.
Ten slotte is de ontwikkeling van AI-toepassingen vereenvoudigd en toegankelijker gemaakt door de uitgebreide hardwaremogelijkheden en softwareomgeving van de K26 SOM te koppelen aan productieklare vision-applicaties. Deze vision-toepassingen kunnen worden geïmplementeerd zonder dat FPGA-hardware hoeft te worden ontworpen en softwareontwikkelaars kunnen snel aangepaste AI-modellen en applicatiecode integreren en zelfs de vision-pijplijn wijzigen. Het Vitis unified software development platform en de bibliotheken van Xilinx ondersteunen gangbare ontwerpomgevingen, zoals TensorFlow, Pytorch, en Café frameworks, evenals meerdere programmeertalen, waaronder C, C++, OpenCL™, en Python. Er is ook een embedded app store voor edge applicaties die gebruik maken van Kria SOMs van Xilinx en zijn ecosysteempartners. Het Xilinx aanbod is gratis en open source en omvat onder meer smart camera tracking en gezichtsdetectie, natuurlijke taalverwerking met smart vision, en meer.
Productie geoptimaliseerde Kira 26 SOMs
Zodra het ontwikkelingsproces is voltooid, zijn er productieklare versies van de K26 SOM beschikbaar, die kunnen worden aangesloten op een draagkaart met oplosspecifieke randapparatuur die de overgang naar de productie kan versnellen (Afbeelding 7). De basis-K26 SOM is een commerciële eenheid met een temperatuurbereik van 0 °C tot +85 °C junctietemperatuur, zoals gemeten door de interne temperatuursensor. Een industriële versie van de K26 SOM, geschikt voor gebruik bij -40 °C tot +100 °C, is eveneens verkrijgbaar.
De industriële markt vraagt om een lange levensduur in ruwe omgevingen. De industriële Kria SOM is ontworpen voor tien jaar gebruik bij een temperatuur van 100 °C en een relatieve vochtigheid van 80% en is bestand tegen schokken van 40 g en trillingen van 5 g RMS (root mean square). Het wordt ook geleverd met een minimale productiebeschikbaarheid van tien jaar om lange productlevenscycli te ondersteunen.
Afbeelding 7: Productie-geoptimaliseerde Kira 26 SOM's voor industriële en commerciële omgevingen zijn ontworpen om te worden aangesloten op een draagkaart met oplosspecifieke randapparatuur. (Afbeelding: DigiKey)
Samenvatting
Ontwerpers van machine vision-toepassingen zoals veiligheids-, verkeers- en stadscamera's, retail analytics, geautomatiseerde inspectie, procesbesturing en vision-gestuurde robotica kunnen zich wenden tot de Kria K26 SOM AI Starter om de doorlooptijd te verkorten, kosten te beheersen en ontwikkelingsrisico's te verminderen. Dit SOM-gebaseerde ontwikkelingsplatform is een geïntegreerde hardware- en softwareomgeving, waardoor ontwikkelaars zich kunnen concentreren op het aanpassen van toepassingen en tot negen maanden ontwikkeltijd kunnen besparen. Dezelfde SOM-architectuur is beschikbaar in voor de productie geoptimaliseerde configuraties voor commerciële en industriële omgevingen, waardoor de doorlooptijd nog korter wordt. De industriële versie heeft een minimale productiebeschikbaarheid van 10 jaar om lange productlevenscycli te ondersteunen.
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.

