Akselerer systemkonstruksjonen med synsgjenkjenning ved hjelp av MPU-er i Renesas RZ/V2-serien

Av Jacob Beningo

Bidrag fra DigiKeys nordamerikanske redaktører

Etter hvert som synsgjenkjenning på kanten blir en stadig viktigere funksjon i mange produkter, er maskinlæring (ML) og kunstig intelligens (AI) på vei inn i et bredt spekter av konstruksjoner. Problemet utviklere står overfor er at ML-/AI-aktivert syn kan kreve mer datakraft når gjenkjenningsalgoritmene skal kjøres enn det som er tilgjengelig i strømbegrensede konstruksjoner. Dette øker også kostnadene hvis dyre løsninger for varmestyring er nødvendig.

Målet for ML/AI på kanten er å finne den optimale arkitektoniske tilnærmingen som vil balansere ytelse og effekt, og samtidig levere et robust programvareøkosystem som applikasjonen kan utvikles i.

Med disse vilkårene i tankene, introduserer artikkelen en løsning som innebærer bruk av Renesas Electronics RZ/V2-seriens mikroprosessorenhet (MPU – microprocessor unit) med innebygd AI-maskinvareakselerator. Artikkelen utforsker hvordan en mikroprosessorenhet (MPU), i stedet for en mikrokontroller (MCU – microcontroller unit) eller en avansert grafikkprosesseringsenhet (GPU – graphics processing unit), kan løse flere problemer som konstruktører står overfor. En beskrivelse over hvordan de kan begynne å utvikle synsgjenkjenningssystemer ved å bruke RZ/V2-serien er inkludert, samt noen «tips og triks» for å jevne ut prosessen.

Introduksjon til MPU-er i RZ/V2-serien

RZ/V2-serien er en løsning som åpner opp for mange muligheter for utviklere som bruker mikroprosessorer med tre kjerner. Mikroprosessorene i RZ/V2L-serien inneholder to Arm Cortex-A55-prosessorer som kjører på 1,2 gigahertz (GHz), og en sanntidsmikrokontrollerkjerne (Arm® Cortex® -M33) som kjører på 200 megahertz (MHz). I tillegg inneholder delene i serien en GPU basert på en Arm Mali-G31-multimedieprosessor med NEON SIMD-instruksjoner (SIMD – single instruction/multiple data). Kombinasjonen av disse tre prosessorkjernene og multimedieprosessoren gir en godt balansert løsning for utviklere som jobber med systemer for synsgjenkjenning.

Det er for tiden to MPU-klasser i RZ/V2-serien: RZ/V2L og RZ/V2M. RZ/V2L har en enkel bildesignalprosessor (ISP – image signal processor), 3D-grafikkmotor og et svært allsidig sett med periferiutstyr. RZ/V2M legger til en kraftig ISP som støtter 4K-oppløsning med 30 bilder i sekundet (fps). Denne artikkelen fokuserer på RZ/V2L-familien, som består av R9A07G054L23GBG og R9A07G054L24GBG. Hovedforskjellen mellom de to delene er at R9A07G054L23GBG kommer i en 456-LFBGA-kapsling på 15 mm2, mens R9A07G054L24GBG kommer i en 551-LFBGA-kapsling på 21 mm2.

Blokkskjemaet for RZ/V2L-serien er vist i figur 1. I tillegg til de tre prosessorkjernene, omfatter MPU-ene grensesnitt for standard periferiutstyr som DDR3/DDR4-minne, SPI, USB, Ethernet, I²C, CAN, SCI, GPIO og en analog-til-digital-omformer (ADC). Dessuten inkluderer delene sikkerhetsfunksjoner som sikker oppstart (secure boot), en kryptomotor og en sann generator av tilfeldige tall (TRNG – true random number generator). Det som er annerledes med MPU-serien er imidlertid DRP AI-akseleratoren (DRP – Dynamically Reconfigurable Processor).

Skjema over Renesas RZ/V2L MPU-serien (klikk for å forstørre)Figur 1: RZ/V2L MPU-serien støtter forskjellige alternativer for periferigrensesnitt, sikkerhet og videobehandling. DRP-AI-akseleratoren er den avgjørende funksjonen for konstruksjoner med synsgjenkjenning. (Bildekilde: Renesas Electronics Corporation)

Hemmeligheten bak DRP-AI-akseleratoren

DRP-AI-akseleratoren er den hemmelige sausen som gjør det mulig for RZ/V2L-seriens MPU-er å komme raskt i gang med konstruksjoner for synsgjenkjenning, med mindre energiforbruk og lavere termisk profil. DRP-AI består av to komponenter: En DRP og en AI-MAC (MAC – multiply-and-accumulate), som effektivt kan behandle operasjoner i konvolusjonelle nettverk og allkombinasjonslag (all-combining layers) ved å optimalisere dataflyten med interne svitsjer (figur 2).

DRP-AI-maskinvaren er dedikert til AI-inferenseksekvering. DRP-AI-en bruker en unik dynamisk omkonfigurerbar teknologi utviklet av Renesas, som gir fleksibilitet, høyhastighetsbehandling og energieffektivitet. I tillegg gjør DRP-AI-oversetteren, et gratis programvareverktøy, det mulig for brukere å implementere optimaliserte AI-modeller som raskt maksimerer ytelsen. Flere kjørbare utdata fra DRP-AI-oversetteren kan plasseres i eksternt minne. Programmet kan deretter veksle dynamisk mellom flere AI-modeller under kjøring (runtime).

DRP kan raskt behandle komplekse aktiviteter som bilde-forbehandling og AI-modellutvalgslag (model pooling layer) ved å dynamisk endre maskinvarekonfigurasjonen.

Skjema over Renesas DRP-AI omfatter en DRP og en AI-MACFigur 2: DRP-AI-en omfatter en DRP og en AI-MAC, som sammen effektivt kan prosessere operasjoner i konvolusjonelle nettverk og allkombinasjonslag ved å optimalisere dataflyten med interne svitsjer. (Bildekilde: Renesas Electronics Corporation)

DRP-AI Translator-oversetteren

DRP-AI-oversetterverktøyet genererer DRP-AI-optimaliserte innlastbare filer fra opplærte ONNX-modeller, uavhengig av alle AI-rammeverk. For eksempel kan en utvikler bruke PyTorch, TensorFlow eller et hvilket som helst annet AI-modelleringsrammeverk hvis det produserer en ONNX-modell på utgangen. Når modellen er opplært, mates den inn i DRP-AI-oversetteren, som genererer innlastbare DRP- og AI-MAC-filer (figur 3).

Skjema over AI-modeller opplæres ved å bruke et hvilket som helst ONNX-kompatibelt rammeverkFigur 3: AI-modeller opplæres ved å bruke et hvilket som helst ONNX-kompatibelt rammeverk. ONNX-modellen mates deretter inn i DRP-AI-oversetteren, som genererer innlastbare DRP- og AI-MAC-filer. (Bildekilde: Renesas Electronics Corporation)

DRP-AI Translator har tre hovedformål:

  1. Planlegging av hver operasjon for å behandle AI-modellen.
  2. Skjule responstid før utførelse av instruksjon, for eksempel minnetilgangstid som oppstår under overgangen til hver operasjon i tidsplanen.
  3. Optimalisering av nettverksgrafstrukturen.

Oversetteren tildeler hver prosess for AI-modellen automatisk til AI-MAC og DRP, slik at brukeren enkelt kan bruke DRP-AI uten å være noen maskinvareekspert. I stedet kan utvikleren utføre kall gjennom den medfølgende driveren for å kjøre den kraftige AI-modellen. I tillegg kan DRP-AI-oversetteren oppdateres kontinuerlig for å støtte nyutviklede AI-modeller uten maskinvareendringer.

Systembruksområder og -prosesser

Den generelle prosessflyten for å bruke RZ/V2L MPU-er til å lære opp og ta i bruk synsgjenkjenningskonstruksjoner, er vist i figur 4. Som vanlig kan ingeniører anskaffe datasettet sitt og bruke det til å trene opp synsgjenkjenningsmodellen. Enten de prøver å identifisere katter, et produkt i en handlekurv eller deler som svikter på en samlebånd, vil opplæringsprosessen skje ved hjelp av kjente AI-rammeverk. Når modellen er opplært, konverteres den til ONNX-formatet og mates inn i DRP-AI-oversetteren, som deretter produserer objektkode som kan kjøres på DRP-AI-maskinvaren. Data fra kameraer, akselerometre eller andre sensorer blir deretter samplet og matet inn i de innlastbare filene, noe som gir tilgang til resultatet fra inferenskjøringen.

Bilde av opplæring og kjøring av en algoritme for synsgjenkjenningFigur 4: Prosessen for opplæring og kjøring av en algoritme for synsgjenkjenning på RZ/V2L MPU-er. (Bildekilde: Renesas Electronics Corporation)

Det er flere måter teknikere kan utnytte RZ/V2L MPU-ene på i konstruksjonene sine (figur 5). For det første kan RZ/V2L MPU-en brukes i frittstående konstruksjoner der RZ/V2L er den eneste prosessoren i systemet. Med de tre kjernene og AI-akselerasjonsmaskinvaren, er det ikke sikkert det er nødvendig med ekstra datakraft.

Det andre brukstilfellet er situasjoner der RZ/V2L brukes som en AI-prosessor i et mer omfattende system. I dette tilfellet kjører RZ/V2L AI inferens og returnerer et resultat til en annen prosessor eller et annet system, som deretter handler basert på dette resultatet. Det valgte brukstilfellet vil avhenge av ulike faktorer som kostnader, generell systemarkitektur, ytelse og krav til sanntidsreaksjoner.

Skjema over to brukstilfeller for Renesas RZ/V2L MPU-erFigur 5: De to bruksområdene for RZ/V2L MPU-er er å bruke dem frittstående i en applikasjon eller som en AI-prosessor som brukes i et mer omfattende system. (Bildekilde: Renesas Electronics Corporation)

Eksempler på konstruksjoner i den virkelige verden

Det er mange brukstilfeller der man kan ta i bruk synsgjenkjenningsteknologi. Et interessant eksempel er i supermarkedet. I dag, når noen betaler i kassen i en dagligvarebutikk, skanner en ansatt eller kunden vanligvis hver vare i en handlekurv. Et interessant brukstilfelle ville være å detektere produktene som beveger seg på tvers av et transportbånd ved å bruke synsgjenkjenning, og så automatisk ta betalt for disse varene.

En prototype kan bygges ved å bruke et enkelt CMOS-kamera og Renesas sitt RTK9754L23S01000BE-evalueringskort (figur 6). Det integrerte RZ/V2L-utviklingskortet har et system-på-modul-kort (SOM – system on module) og bærerkort som gjør det mulig for utviklere å komme raskt i gang. I tillegg støtter utviklingskortet Linux, samt ulike verktøy som DRP-AI Translator.

Bilde av Renesas sitt integrerte RZ/V2L-utviklingskortFigur 6: Det integrerte RZ/V2L-utviklingskortet har et system-på-modul-kort (SOM – system on module) og bærerkort som gjør det mulig for utviklere å komme raskt i gang. (Bildekilde: Renesas Electronics Corporation)

En driftsmessig oversikt over hva som kreves for å innhente bildedata og produsere et AI-resultat vises i figur 7. I dette konstruksjonseksemplet tas bilder av transportbåndet ved hjelp av en CMOS-sensor via den integrerte ISP-en. Deretter lagres bildet i minnet og mates inn i DRP-AI-motoren. Til slutt kjører DRP-AI-motoren inferensen og gir et AI-resultat. Resultatet kan for eksempel være at en banan blir funnet, eller et eple eller en annen frukt.

Resultatet ledsages ofte av et tillitsnivå på 0 til 1. For eksempel betyr et tillitsnivå på 0,90 at AI-en er sikker på at den har detektert et eple. Et tillitsnivå på 0,52 kan derimot bety at AI-en tror det er et eple, men er usikker. Det er ikke uvanlig å ta et AI-resultat og bruke gjennomsnittsverdien til flere samplinger for å øke sjansene for riktige resultater.

Skjema over Renesas sitt integrerte RZ/V2L-utviklingskortFigur 7: Det integrerte RZ/V2L-utviklingskortet brukes til å kjøre AI-inferens som gjenkjenner forskjellige frukter på et transportbånd. Figuren viser trinnene som trengs for å innhente et bilde og produsere et AI-resultat. (Bildekilde: Renesas Electronics Corporation)

Til slutt vil, i dette eksemplet, en boks tegnes rundt det detekterte objektet, og navnet på det gjenkjente objektet vises sammen med tillitsnivået (figur 8).

Eksempel på utdata fra Renesas RZ/V2LFigur 8: Eksempel på utdata fra RZ/V2L i en konstruksjon som detekterer frukt og grønnsaker på et transportbånd. (Bildekilde: Renesas Electronics Corporation)

Tips og triks for å komme i gang med RZ/V2L

Utviklere som ønsker å komme i gang med maskinlæring på Renesas RZ/V2L MPU-er, vil oppdage at de har mange ressurser de kan dra nytte av for å komme i gang. Her er flere «tips og triks» som utviklere bør være oppmerksomme på slik at utviklingen kan forenkles og fremskyndes:

  • Begynn med et utviklingskort og de eksisterende eksemplene for å få tak på hvordan en applikasjon/konstruksjon kan distribueres og kjøres.
  • Hvis det er nødvendig å utføre flere inferenser, kan de kjørbare modellene lagres til eksternt minne, og DRP-AI-funksjonene kan brukes til å raskt bytte mellom modeller.
  • Gå gjennom dokumentasjonen og videoene som finnes på Renesas sin side for RZ/V-integrerte AI MPU-er.
  • Last ned DRP-AI Translator.
  • Last ned RZ/V2L DRP-AI-støttepakken.

Utviklere som følger disse «tipsene og triksene» vil spare seg for ganske mye tidsforbruk og stress når de setter i gang.

Konklusjon

ML og AI er på vei inn i mange kantapplikasjoner, og evnen til å gjenkjenne objekter i sanntid blir stadig viktigere. Utfordringen for konstruktører er imidlertid å finne den riktige arkitekturen de kan bruke til å utøve AI/ML på kanten. GPU-er har en tendens til å bruke mye strøm, og MCU-er har kanskje ikke tilstrekkelig databehandlingskraft.

Som vist, har Renesas RZ/V MPU-serien med DRP-AI flere fordeler, for eksempel maskinvareakselerert AI, kombinert med en anselig verktøykjede og prototypestø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 skribenten

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

DigiKeys nordamerikanske redaktører