Versnel het ontwerp van beeldherkenningssystemen met de Renesas RZ/V2-serie MPU's.
Bijgedragen door De Noord-Amerikaanse redacteurs van DigiKey
2022-09-29
Aangezien beeldherkenning aan de rand een steeds belangrijkere functie wordt in veel producten, vinden machine learning (ML) en kunstmatige intelligentie (AI) hun weg naar een groot aantal toepassingsgebieden. Het probleem voor ontwikkelaars is dat ML/AI-geactiveerde beelden meer rekenkracht vereist om de herkenningsalgoritmen uit te voeren dan beschikbaar is in toepassingen met een beperkt vermogen. Het brengt ook extra kosten met zich mee als er dure oplossingen voor thermisch beheer nodig zijn.
Het doel voor ML/AI aan de rand is het vinden van de optimale architecturale benadering die prestaties en kracht in evenwicht brengt en tegelijkertijd een robuust software-ecosysteem biedt waarbinnen de toepassing kan worden ontwikkeld.
Met deze voorwaarden in gedachten, introduceert dit artikel een oplossing in de vorm van de Renesas Electronics RZ/V2-serie microprocessor unit (MPU) met zijn ingebouwde AI-hardwareversneller. Het artikel onderzoekt hoe een MPU, in plaats van een microcontroller (MCU) of een high-end graphics processing unit (GPU), verschillende problemen kan oplossen waarmee ontwerpers worden geconfronteerd. Er wordt beschreven hoe zij kunnen beginnen met het ontwerpen van beeldherkenningssystemen met behulp van de RZ/V2-serie, samen met een aantal "tips and tricks" om het proces soepel te laten verlopen.
Inleiding tot de MPU's van de RZ/V2-serie
De RZ/V2-serie is een oplossing die veel mogelijkheden ontsluit voor ontwikkelaars die gebruik maken van een drie-kern microprocessor. De microprocessoren van de RZ/V2L-serie bevatten twee Arm Cortex-A55 processoren die draaien op 1,2 gigahertz (GHz), en een realtime microcontroller kern (Arm® Cortex®-M33) die draait op 200 megahertz (MHz). Daarnaast bevatten de onderdelen in de serie een GPU gebaseerd op een Arm Mali-G31 multimedia processor met NEON single instruction/multiple data (SIMD) instructies. De combinatie van deze drie verwerkingskernen en de multimediaprocessor biedt een goed afgeronde oplossing voor ontwikkelaars die werken aan beeldherkenningssystemen.
Er zijn momenteel twee MPU-klassen in de RZ/V2-serie, de RZ/V2L- en de RZ/V2M-serie. De RZ/V2L heeft een eenvoudige beeldsignaalprocessor (ISP), een grafische 3D-engine en een zeer veelzijdige perifere set. De RZ/V2M van zijn kant voegt een krachtige ISP toe die 4K-resolutie met 30 beelden per seconde (fps) ondersteunt. Dit artikel gaat over de RZ/V2L-familie, bestaande uit de R9A07G054L23GBG en de R9A07G054L24GBG. Het belangrijkste verschil tussen de twee onderdelen is dat de R9A07G054L23GBG wordt geleverd in een 15 mm2, 456-LFBGA pakket, terwijl de R9A07G054L24GBG wordt geleverd in een 21 mm2, 551-LFBGA pakket.
Het blokschema van de RZ/V2L-serie is weergegeven in Afbeelding 1. Naast de drie verwerkingskernen bevatten de MPU's interfaces voor standaardrandapparatuur zoals DDR3/DDR4-geheugen, SPI, USB, Ethernet, I²C, CAN, SCI, GPIO en een analoog-digitaalconvertor (ADC). Verder bevatten de onderdelen beveiligingsmogelijkheden zoals beveiligd opstarten, een crypto-engine en een true random number generator (TRNG). Maar wat de MPU-serie onderscheidt, is de Dynamically Reconfigurable Processor (DRP) AI-accelerator.
Afbeelding 1: De RZ/V2L MPU-serie ondersteunt diverse perifere interfaces, beveiligingsopties en opties voor videoverwerking. De kritische eigenschap voor toepassingen van beeldherkenning is de DRP-AI-accelerator. (Bron afbeelding: Renesas Electronics Corporation)
De geheime saus van de DRP-AI-accelerator
De DRP-AI-accelerator is het geheime sausje waarmee de RZ/V2L-serie MPU's snel beeldherkenningstoepassingen kunnen uitvoeren, met minder energieverbruik en een lager thermisch profiel. De DRP-AI bestaat uit twee componenten: een DRP en een AI-multiply-and-accumulate (MAC), die bewerkingen in convolutionaire netwerken en allesomvattende lagen efficiënt kunnen verwerken door de gegevensstroom met interne schakelaars te optimaliseren (Afbeelding 2).
De DRP-AI hardware is bestemd voor de uitvoering van AI-inferenties. De DRP-AI maakt gebruik van een unieke, door Renesas ontwikkelde dynamische herconfigureerbare technologie die zorgt voor flexibiliteit, snelle verwerking en energie-efficiëntie. Bovendien laat de DRP-AI-translator, een gratis softwaretool, gebruikers geoptimaliseerde AI-modellen implementeren die de prestaties snel maximaliseren. Meerdere door de DRP-AI vertaler uitgevoerde uitvoerbare bestanden kunnen in een extern geheugen worden geplaatst. De toepassing kan dan tijdens runtime dynamisch schakelen tussen meerdere AI-modellen.
De DRP kan snel complexe activiteiten zoals beeldvoorbewerking en AI-modelpoolinglagen verwerken door de hardwareconfiguratie dynamisch te wijzigen.
Afbeelding 2: De DRP-AI bestaat uit een DRP en een AI-MAC, die samen efficiënt bewerkingen kunnen verwerken in convolutionaire netwerken en volledig gecombineerde lagen door de gegevensstroom te optimaliseren met interne schakelaars. (Bron afbeelding: Renesas Electronics Corporation)
De DRP-AI-translator
De DRP-AI-translator genereert voor DRP-AI geoptimaliseerde uitvoerbare bestanden uit getrainde ONNX-modellen, onafhankelijk van een AI-raamwerk. Een ontwikkelaar kan bijvoorbeeld PyTorch, TensorFlow of een ander AI-modelleringsraamwerk gebruiken als het een ONNX-model uitvoert. Zodra het model is getraind, wordt het ingevoerd in de DRP-AI-translator, die de DRP- en AI-MAC-executables genereert (Afbeelding 3).
Afbeelding 3: AI-modellen worden getraind met een ONNX-compatibel raamwerk. Het ONNX-model wordt vervolgens ingevoerd in de DRP-AI-translator, die de DRP- en AI-MAC-executables genereert. (Bron afbeelding: Renesas Electronics Corporation)
De DRP-AI-translator heeft drie hoofddoelen:
- Planning van elke bewerking om het AI-model te verwerken.
- Het verbergen van overhead zoals geheugentoegangstijd die optreedt tijdens de overgang van elke operatie in het schema.
- Het optimaliseren van de netwerkgrafiekstructuur.
De translator wijst automatisch elk proces van het AI-model toe aan de AI-MAC en DRP, zodat de gebruiker DRP-AI gemakkelijk kan gebruiken zonder een hardware-expert te zijn. In plaats daarvan kan de ontwikkelaar oproepen doen via het meegeleverde stuurprogramma om het krachtige AI-model uit te voeren. Bovendien kan de DRP-AI-translator voortdurend worden bijgewerkt om nieuw ontwikkelde AI-modellen te ondersteunen zonder hardwareveranderingen.
Systeem use cases en processen
De algemene processtroom voor het gebruik van de RZ/V2L MPU's voor het trainen en implementeren van beeldherkenningstoepassingen wordt getoond in Afbeelding 4. Zoals gebruikelijk kunnen ingenieurs hun dataset verwerven en gebruiken om hun beeldherkenningsmodel te trainen. Of ze nu proberen katten te identificeren, een product in een winkelwagentje, of onderdelen die het laten afweten aan de lopende band, het trainingsproces vindt plaats met behulp van bekende AI-raamwerken. Zodra het model is getraind, wordt het omgezet in ONNX-formaat en ingevoerd in de DRP-AI-translator, die op zijn beurt objectcode produceert die kan worden uitgevoerd op de DRP-AI-hardware. Gegevens van camera's, versnellingsmeters of andere sensoren worden dan bemonsterd en ingevoerd in de uitvoerbare bestanden, waardoor het resultaat van de inferentie wordt verkregen.
Afbeelding 4: Het proces van het trainen en uitvoeren van een beeldherkenningsalgoritme op de RZ/V2L MPU's. (Bron afbeelding: Renesas Electronics Corporation)
Ingenieurs kunnen op verschillende manieren gebruik maken van de RZ/V2L MPU's in hun ontwerpen (Afbeelding 5). Ten eerste kan de RZ/V2L MPU worden gebruikt in stand-alone ontwerpen waarbij de RZ/V2L de enige processor in het systeem is. Met zijn drie kernen en AI-acceleratiehardware is extra rekenkracht wellicht niet nodig.
In het tweede geval wordt de RZ/V2L gebruikt als AI-processor in een uitgebreider systeem. In dit geval voert de RZ/V2L de AI-inferenties uit en stuurt een resultaat terug naar een andere processor of een ander systeem dat vervolgens op dat resultaat reageert. De gekozen use case zal afhangen van verschillende factoren, zoals kosten, algemene systeemarchitectuur, prestaties en eisen inzake realtime respons.
Afbeelding 5: De twee gebruikssituaties voor de RZ/V2L MPU's zijn dat zij stand-alone in een toepassing worden gebruikt, of als AI-processor in een uitgebreider systeem. (Bron afbeelding: Renesas Electronics Corporation)
Voorbeeld van een echte toepassing
Er zijn vele gebruikssituaties waarin beeldherkenningstechnologie kan worden ingezet. Een interessant voorbeeld is de supermarkt. Bij het afrekenen in een kruidenierszaak scant een medewerker of een klant tegenwoordig doorgaans elk artikel in het winkelwagentje. Een interessante use case zou zijn om de producten die over de transportband gaan te detecteren met behulp van beeldherkenning en ze automatisch in rekening te brengen.
Een prototype kon worden gebouwd met een eenvoudige CMOS-camera en het Renesas RTK9754L23S01000BE evaluatiebord (Afbeelding 6). Het RZ/V2L ingesloten ontwikkelingsbord heeft een systeem op module (SOM) en carrierbord waarmee ontwikkelaars snel aan de slag kunnen. Bovendien ondersteunt het ontwikkelingsbord Linux, samen met diverse tools zoals de DRP-AI-translator.
Afbeelding 6: Het RZ/V2L ingesloten ontwikkelingsbord heeft een SOM en carrierbord waarmee ontwikkelaars snel aan de slag kunnen. (Bron afbeelding: Renesas Electronics Corporation)
Een operationeel overzicht van wat nodig is om beeldgegevens te verwerven en een AI-resultaat te produceren is te zien in Afbeelding 7. In dit toepassingsvoorbeeld worden beelden van de transportband gemaakt met een CMOS-sensor via de ingebouwde ISP. Vervolgens wordt het beeld opgeslagen in het geheugen en ingevoerd in de DRP-AI engine. Ten slotte voert de DRP-AI engine de inferentie uit en levert een AI-resultaat. Het resultaat kan bijvoorbeeld zijn dat er een banaan wordt gevonden, of een appel, of een andere vrucht.
Het resultaat gaat vaak gepaard met een betrouwbaarheidsniveau van 0 tot 1. Bijvoorbeeld, 0,90 vertrouwen betekent dat de AI zeker weet dat hij een appel heeft gedetecteerd. Anderzijds kan een betrouwbaarheid van 0,52 betekenen dat de AI denkt dat het een appel is, maar het niet zeker weet. Het is niet ongebruikelijk om een AI-resultaat te nemen en het te middelen over meerdere monsters om de kans op correcte resultaten te vergroten.
Afbeelding 7: Het RZ/V2L ingesloten ontwikkelingsbord wordt gebruikt om een AI-inferentie uit te voeren die verschillende vruchten op een lopende band herkent. De afbeelding toont de stappen die nodig zijn om een beeld te verkrijgen en een AI-resultaat te produceren. (Bron afbeelding: Renesas Electronics Corporation)
Tenslotte wordt in dit voorbeeld een kader getekend rond het gedetecteerde object, en de naam van het herkende object wordt weergegeven samen met het betrouwbaarheidsniveau (Afbeelding 8).
Afbeelding 8: Voorbeelduitvoer van de RZ/V2L in een toepassing die fruit en groenten op een transportband detecteert. (Bron afbeelding: Renesas Electronics Corporation)
Tips and tricks om aan de slag te gaan met de RZ/V2L
Ontwikkelaars die aan de slag willen met machine learning op de Renesas RZ/V2L MPU's zullen merken dat ze heel wat middelen kunnen inzetten om aan de slag te gaan. Hier zijn enkele "tips and tricks" die ontwikkelaars in gedachten moeten houden die hun ontwikkeling kunnen vereenvoudigen en versnellen:
- Begin met een ontwikkelbord en de bestaande voorbeelden om een gevoel te krijgen voor het inzetten en draaien van een applicatie.
- Als het nodig is om meerdere inferenties uit te voeren, sla dan de uitvoerbare modellen op in een extern geheugen, en gebruik de DRP-AI mogelijkheden om snel tussen modellen te wisselen.
- Bekijk de documentatie en video's op de Renesas RZ/V Embedded AI MPU's site.
- Download de DRP-AI-translator.
- Download het RZ/V2L DRP-AI-ondersteuningspakket.
Ontwikkelaars die deze "tips and tricks" volgen, besparen heel wat tijd en verdriet bij de start.
Conclusie
ML en AI vinden hun weg naar veel randtoepassingen, waarbij het vermogen om objecten in realtime te herkennen steeds belangrijker wordt. Voor ontwerpers ligt de moeilijkheid in het vinden van de juiste architectuur waarmee AI/ML aan de rand kan worden uitgevoerd. GPU's zijn vaak energieverslindend, terwijl MCU's mogelijk onvoldoende rekenkracht hebben.
Zoals aangetoond heeft de Renesas RZ/V MPU-serie met DRP-AI verschillende voordelen, zoals hardwareversnelde AI, samen met een aanzienlijke toolchain en ondersteuning voor prototyping.
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.

