Hvis der er uklarheder i denne artikel, bedes du se den originale engelske version.

Fremskynd design af systemer til visionsgenkendelse med Renesas RZ/V2-serie MPU'er

Af Jacob Beningo

Bidraget af DigiKeys nordamerikanske redaktører

I takt med at visiongenkendelse i Edge'en bliver en stadig vigtigere funktion i mange produkter, finder maskinlæring (ML) og kunstig intelligens (AI) vej ind i en lang række anvendelsesområder. Problemet for udviklerne er, at ML/AI-aktiveret vision kan kræve mere computerkraft til at køre genkendelsesalgoritmerne, end der kan være til rådighed i applikationer med begrænset strømforsyning. Det øger også omkostningerne, hvis der er behov for dyre løsninger til varmestyring.

Målet for ML/AI i Edge'en er at finde den optimale arkitektoniske tilgang, der balancerer ydeevne og strøm, samtidig med at der også skabes et robust softwareøkosystem, som applikationen kan udvikles inden for.

Med disse forhold i tankerne introducerer denne artikel en løsning i form af Renesas Electronics RZ/V2 serie mikroprocessorenhed (MPU) med indbygget AI-hardwareaccelerator. Artiklen undersøger, hvordan en MPU i stedet for en mikrocontroller (MCU) eller en high-end grafikprocessorenhed (GPU) kan løse flere af de problemer, som designere står over for. Der er en beskrivelse af, hvordan de kan begynde at designe visionsystemer ved hjælp af RZ/V2-serien, sammen med nogle "tips og tricks", der kan lette processen.

Introduktion til MPU'erne i RZ/V2-serien

RZ/V2-serien er en løsning, der åbner mange muligheder for udviklere, der bruger en mikroprocessor med tre kerner. RZ/V2L-seriens mikroprocessorer indeholder to Arm Cortex-A55-processorer, der kører med 1,2 gigahertz (GHz), og en realtidsmikrocontrollerkerne (Arm® Cortex®-M33), der kører med 200 megahertz (MHz). Desuden indeholder delene i serien en GPU baseret på en Arm Mali-G31 multimedieprocessor med NEON SIMD-instruktioner (single instruction/multiple data). Kombinationen af disse tre processorkerner og multimedieprocessoren giver udviklere, der arbejder med visionsystemer, en velafrundet løsning.

Der findes i øjeblikket to MPU-klasser i RZ/V2-serien, RZ/V2L- og RZ/V2M-serien. RZ/V2L har en simpel billedsignalprocessor (ISP), en 3D-grafikmotor og et meget alsidigt periferisæt. RZ/V2M tilføjer for sin del en højtydende ISP, der understøtter 4K-opløsning ved 30 billeder pr. sekund (fps). Denne artikel fokuserer på RZ/V2L-familien, som består af R9A07G054L23GBG og R9A07G054L24GBG. Den største forskel mellem de to dele er, at R9A07G054L23GBG leveres i en 15 mm2 456-LFBGA-pakke, mens R9A07G054L24GBG leveres i en 21 mm2 551-LFBGA-pakke.

Blokdiagrammet for RZ/V2L-serien er vist i figur 1. Ud over de tre processorkerner omfatter MPU'erne grænseflader til standardperiferiudstyr som DDR3/DDR4-hukommelse, SPI, USB, Ethernet, I²C, CAN, SCI, GPIO og en analog-til-digital-konverter (ADC). Desuden omfatter delene sikkerhedsfunktioner som sikker opstart, en kryptomotor og en TRNG-generator (True Random Number Generator). Det, der adskiller MPU-serien fra de andre, er dog AI-acceleratoren DRP (Dynamically Reconfigurable Processor).

Diagram over Renesas RZ/V2L MPU-serien (klik for at forstørre)Figur 1: RZ/V2L MPU-serien understøtter forskellige perifere grænseflader, sikkerheds- og videobehandlingsmuligheder. Den kritiske funktion for visionsgenkendelsesapplikationer er DRP-AI-acceleratoren. (Billedkilde: Renesas Electronics Corporation)

DRP-AI-acceleratorens hemmelige sauce

DRP-AI-acceleratoren er den hemmelige sauce, der gør det muligt for RZ/V2L-seriens MPU'er at udføre visionsgenkendelsesapplikationer hurtigt, med mindre energiforbrug og en lavere termisk profil. DRP-AI består af to komponenter: en DRP og en AI-multiplikation og akkumulering (MAC), som effektivt kan behandle operationer i konvolutionelle netværk og alle kombinationslag ved at optimere datastrømmen med interne switches (figur 2).

DRP-AI-hardwaren er dedikeret til udførelse af AI-inferens. DRP-AI bruger en unik dynamisk rekonfigurerbar teknologi udviklet af Renesas, der giver fleksibilitet, højhastighedsbehandling og energieffektivitet. Desuden kan brugerne med DRP-AI-oversætteren, et gratis softwareværktøj, implementere optimerede AI-modeller, der hurtigt maksimerer ydeevnen. Flere eksekverbare filer, der produceres af DRP-AI-oversætteren, kan placeres i ekstern hukommelse. Applikationen kan derefter skifte dynamisk mellem flere AI-modeller i løbet af køretiden.

DRP kan hurtigt behandle komplekse aktiviteter som billedforbehandling og AI-modelpooling lag ved dynamisk at ændre hardwarekonfigurationen.

Diagram over Renesas DRP-AI består af en DRP og en AI-MACFigur 2: DRP-AI består af en DRP og en AI-MAC, som sammen kan behandle operationer i konvolutionelle netværk og alle kombinationslag effektivt ved at optimere datastrømmen med interne switches. (Billedkilde: Renesas Electronics Corporation)

DRP-AI-oversætteren

DRP-AI Translator-værktøjet genererer DRP-AI-optimerede eksekverbare programmer fra trænede ONNX-modeller uafhængigt af AI-rammer. En udvikler kan f.eks. bruge PyTorch, TensorFlow eller en anden AI-modelleringsramme, hvis den udsender en ONNX-model. Når modellen er trænet, føres den ind i DRP-AI-oversætteren, som genererer de eksekverbare DRP- og AI-MAC-filer (figur 3).

Diagram over AI-modeller trænes ved hjælp af enhver ONNX-kompatibel rammeFigur 3: AI-modeller trænes ved hjælp af en hvilken som helst ONNX-kompatibel ramme. ONNX-modellen føres derefter ind i DRP-AI-oversætteren, som genererer de eksekverbare DRP- og AI-MAC-filer. (Billedkilde: Renesas Electronics Corporation)

DRP-AI-oversætteren har tre primære formål:

  1. Planlægning af hver enkelt operation til behandling af AI-modellen.
  2. Skjuler overhead såsom hukommelsesadgang, der opstår under hver operationens overgang i tidsplanen.
  3. Optimering af netværksgrafstrukturen.

Oversætteren tildeler automatisk hver proces i AI-modellen til AI-MAC og DRP, så brugeren nemt kan bruge DRP-AI uden at være hardwareekspert. I stedet kan udvikleren foretage opkald via den medfølgende driver for at køre den højtydende AI-model. Desuden kan DRP-AI-oversætteren løbende opdateres for at understøtte nyudviklede AI-modeller uden hardwareændringer.

Systemets anvendelsestilfælde og processer

Det generelle procesforløb for brug af RZ/V2L MPU'erne til træning og implementering af visionsgenkendelsesapplikationer er vist i figur 4. Som sædvanlig kan ingeniører erhverve deres datasæt og bruge det til at træne deres visionmodel. Uanset om de forsøger at identificere katte, et produkt i en indkøbsvogn eller dele, der fejler på et samlebånd, vil træningsprocessen foregå ved hjælp af velkendte AI-rammer. Når modellen er trænet, konverteres den til ONNX-format og føres ind i DRP-AI-oversætteren, som til gengæld udsender objektkode, der kan udføres på DRP-AI-hardwaren. Data fra kameraer, accelerometre eller andre sensorer samples derefter og føres ind i de eksekverbare filer, som giver resultatet af kørslen af inferensen.

Billede af træning og kørsel af en algoritme til visionsgenkendelseFigur 4: Processen med at træne og køre en algoritme til visionsgenkendelse på RZ/V2L MPU'erne. (Billedkilde: Renesas Electronics Corporation)

Der er flere måder, hvorpå ingeniører kan udnytte RZ/V2L MPU'erne i deres design (figur 5). For det første kan RZ/V2L MPU'en bruges i standalone-designs, hvor RZ/V2L er den eneste processor i systemet. Med tre kerner og AI-accelerationshardware er det måske ikke nødvendigt med yderligere computerkraft.

Det andet anvendelsesområde er, hvor RZ/V2L anvendes som AI-processor i et mere omfattende system. I dette tilfælde kører RZ/V2L AI-slutninger og returnerer et resultat til en anden processor eller et andet system, som derefter handler på dette resultat. Hvilken brugssituation der vælges, afhænger af forskellige faktorer som f.eks. omkostninger, den overordnede systemarkitektur, ydeevne og krav til realtidsrespons.

Diagram over to anvendelsestilfælde for Renesas RZ/V2L MPU'erFigur 5: De to anvendelsesmuligheder for RZ/V2L MPU'erne er at bruge dem selvstændigt i et program eller som AI-processor i et mere omfattende system. (Billedkilde: Renesas Electronics Corporation)

Eksempel på anvendelse i den virkelige verden

Der er mange anvendelsesområder, hvor teknologi til visionsgenkendelse kan anvendes. Et interessant eksempel er i supermarkedet. Når man i dag tjekker ud i en købmandsbutik, scanner en medarbejder eller en kunde typisk alle varer i en indkøbsvogn. Et interessant anvendelsestilfælde kunne være at registrere de produkter, der går over transportbåndet ved hjælp af visionsgenkendelse, og automatisk opkræve betaling for dem.

Der kan bygges en prototype ved hjælp af et simpelt CMOS-kamera og Renesas' RTK9754L23S01000BE-evalueringskort (figur 6). RZ/V2L-udviklingskortet til embedded udvikling har et system på modulet (SOM) og et bærekort, der gør det muligt for udviklere at komme hurtigt i gang. Desuden understøtter udviklingskortet Linux sammen med forskellige værktøjer som DRP-AI Translator.

Billede af Renesas RZ/V2L embedded udviklingskortFigur 6: RZ/V2L-udviklingskortet til indlejret udvikling har et SOM- og bærekort, der gør det muligt for udviklere at komme hurtigt i gang. (Billedkilde: Renesas Electronics Corporation)

Figur 7 viser en operationel oversigt over, hvad der kræves for at indsamle billeddata og producere et AI-resultat. I dette anvendelseseksempel tages billeder af transportbåndet ved hjælp af en CMOS-sensor via den indbyggede ISP. Derefter gemmes billedet i hukommelsen og føres ind i DRP-AI-motoren. Endelig kører DRP-AI-maskinen inferensen og leverer et AI-resultat. Resultatet kan f.eks. være, at der er fundet en banan, et æble eller en anden frugt.

Resultatet er ofte ledsaget af et konfidensniveau på 0 til 1. F.eks. betyder 0,90 tillid, at AI'en er sikker på, at den har fundet et æble. På den anden side kan en tillid på 0,52 betyde, at AI'en tror, at det er et æble, men at den er usikker. Det er ikke ualmindeligt at tage et AI-resultat og beregne et gennemsnit af det på tværs af flere prøver for at forbedre chancerne for korrekte resultater.

Diagram over Renesas RZ/V2L-udviklingskort til indlejret udviklingFigur 7: RZ/V2L-udviklingskortet bruges til at køre en AI-inferens, der genkender forskellige frugter på et transportbånd. Figuren viser de trin, der er nødvendige for at optage et billede og producere et AI-resultat. (Billedkilde: Renesas Electronics Corporation)

Endelig tegnes der i dette eksempel en kasse omkring det fundne objekt, og navnet på det genkendte objekt vises sammen med konfidensniveauet (Figur 8).

Eksempel på output fra Renesas RZ/V2LFigur 8: Eksempel på output fra RZ/V2L i en applikation, der registrerer frugt og grøntsager på et transportbånd. (Billedkilde: Renesas Electronics Corporation)

Tips og tricks til at komme i gang med RZ/V2L

Udviklere, der ønsker at komme i gang med maskinlæring på Renesas RZ/V2L MPU'er, vil opdage, at de har en masse ressourcer at udnytte for at komme i gang. Her er flere "tips og tricks", som udviklere bør huske på, og som kan forenkle og fremskynde deres udvikling:

  • Start med et udviklingskort og de eksisterende eksempler for at få en fornemmelse af, hvordan du implementerer og kører et program.
  • Hvis det er nødvendigt at udføre flere slutninger, kan du gemme de eksekverbare modeller i ekstern hukommelse og bruge DRP-AI-funktionerne til hurtigt at skifte mellem modellerne.
  • Gennemgå dokumentationen og videoerne på Renesas' websted om RZ/V Embedded AI MPU'er.
  • Download DRP-AI-oversætteren.
  • Download RZ/V2L DRP-AI Support Package.

Udviklere, der følger disse "tips og tricks", vil spare en hel del tid og besvær, når de kommer i gang.

Konklusion

ML og AI finder vej ind i mange avancerede applikationer, og evnen til at genkende objekter i realtid bliver stadig vigtigere. For designere er det vanskeligt at finde den rigtige arkitektur til at udføre AI/ML på kanten. GPU'er har tendens til at være strømsultne, mens MCU'er måske ikke har tilstrækkelig beregningskraft.

Som det fremgår, har Renesas RZ/V MPU-serie med DRP-AI adskillige fordele såsom hardwareaccelereret AI sammen med en omfattende værktøjskæde og prototypingstøtte.

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 denne forfatter

Image of Jacob Beningo

Jacob Beningo

Jacob Beningo is an embedded software consultant. He has published more than 200 articles on embedded software development techniques, is a sought-after speaker and technical trainer, and holds three degrees, including a Masters of Engineering from the University of Michigan.

Om udgiveren

DigiKeys nordamerikanske redaktører