Nopeuta näkötunnistusjärjestelmien suunnittelua Renesas RZ/V2 -sarjan mikroprosessoreilla
Julkaisija DigiKeyn kirjoittajat Pohjois-Amerikassa
2022-09-29
Koska reunalla tapahtuvasta näkötunnistuksesta on tulossa yhä tärkeämpi ominaisuus monissa tuotteissa, koneoppiminen (ML) ja tekoäly (AI) ovat löytämässä tiensä moniin erilaisiin käyttökohteisiin. Suunnittelijoiden ongelmana on, että ML/AI-teknologiaa hyödyntävä näkö voi vaatia tunnistusalgoritmien suorittamiseksi enemmän laskentatehoa kuin mitä tehorajoitteiset sovellukset tarjoavat. Kustannuksia kasvattaa myös se, jos tarvitaan kalliita lämmönhallintaratkaisuja.
Reunasovelluksien koneoppimisessa ja tekoälyssä pyritään löytämään optimaalinen arkkitehtuurimenetelmä, joka tasapainottaa suorituskyvyn ja virrankulutuksen ja tarjoaa samalla robustin ohjelmistoekosysteemin sovelluksen kehittämistä varten.
Tämä artikkeli esittelee näihin vaatimuksiin ratkaisuna tekoälylaitteistokiihdyttimen sisältävän Renesas Electronicsin RZ/V2-sarjan mikroprosessoriyksikön (MPU). Artikkelissa tarkastellaan sitä, miten mikroprosessori voi ratkaista mikrokontrollerin (MCU) tai huipputason grafiikkasuorittimen (GPU) sijasta useita suunnittelijoiden kohtaamia ongelmia. Artikkeli kuvaa myös, miten suunnittelijat voivat aloittaa näkötunnistusjärjestelmien suunnittelun RZ/V2-sarjan avulla, sekä joitakin vinkkejä prosessin helpottamiseksi.
RZ/V2-sarjan mikroprosessorien esittely
RZ/V2-sarja on ratkaisu, joka tarjoaa kehittäjille monia ominaisuuksia käyttäen kolmiytimistä mikroprosessoria. RZ/V2L-sarjan mikroprosessorit sisältävät kaksi 1,2 gigahertsin (GHz) nopeudella toimivaa Arm Cortex-A55 -prosessoria ja 200 megahertsin (MHz) nopeudella toimivan reaaliaikaisen mikrokontrolleriytimen (Arm® Cortex®-M33). Lisäksi sarjan osat sisältävät grafiikkasuorittimen, joka perustuu Arm Mali-G31 -multimediaprosessoriin NEON SIMD (Single Instruction/Multiple Data) -käskyillä. Näiden kolmen prosessoriytimen ja multimediaprosessorin yhdistelmä tarjoaa monipuolisen ratkaisun näkötunnistusjärjestelmiä kehittäville suunnittelijoille.
RZ/V2-sarjaan kuuluu tällä hetkellä kaksi mikroprosessoriluokkaa, sarjat RZ/V2L ja RZ/V2M. RZ/V2L-sarja sisältää yksinkertaisen kuvasignaaliprosessorin (ISP), 3D-grafiikkamoottorin ja erittäin monipuolisen oheislaitesarjan. RZ/V2M-sarjaan on puolestaan lisätty huipputehokas ISP, joka tukee 4K-tarkkuutta 30 kuvan sekuntinopeudella. Tämä artikkeli keskittyy RZ/V2L-tuoteperheeseen, johon kuuluvat R9A07G054L23GBG ja R9A07G054L24GBG. Suurin ero näiden kahden osan välillä on siinä, että R9A07G054L23GBG käyttää 15 mm2:n kokoista 456-LFBGA-koteloa, kun taas R9A07G054L24GBG 21 mm2:n 551-LFBGA-koteloa.
RZ/V2L-sarjan lohkokaavio on esitetty kuvassa 1. Kolmen prosessoriytimen ohella mikroprosessorit sisältävät liitännät tavallisille oheislaitteille, kuten DDR3/DDR4-muisti, SPI, USB, Ethernet, I²C, CAN, SCI, GPIO ja analogi-digitaalimuunnin (ADC). Lisäksi osat sisältävät tietoturvaominaisuuksia, kuten suojatun käynnistyksen, salausmoottorin ja TRNG (True Random Number Generator) -satunnaislukugeneraattorin. Mikroprosessorisarja erottuu kuitenkin muista mikroprosessoreista DRP (Dynamically Reconfigurable Processor) -tekoälykiihdyttimellä.
Kuva 1: RZ/V2L-mikroprosessorisarja tukee erilaisia oheisliitäntöjä, tietoturvaa ja videoprosessointivaihtoehtoja. DRP-AI-kiihdytin on kriittinen ominaisuus näkötunnistussovelluksissa. (Kuvan lähde: Renesas Electronics Corporation)
DRP-AI-kiihdytin – "salainen kastike"
DRP-AI-kiihdytin on "salainen kastike", jonka avulla RZ/V2L-sarjan mikroprosessorit voivat suorittaa nopeasti näkötunnistussovelluksia pienemmällä energiankulutuksella ja alhaisemmalla lämpöprofiililla. DRP-AI-kiihdytin koostuu kahdesta komponentista: DRP:stä ja AI-MAC:sta (multiply-and-accumulate). Ne voivat käsitellä tehokkaasti konvoluutioverkkojen ja yhdistelmäkerrosten toimintoja optimoimalla datavirran sisäisten kytkimien avulla (kuva 2).
DRP-AI-laitteisto on dedikoitu AI-päättelyn suorittamiseen. DRP-AI-kiihdytin käyttää Renesasin kehittämää ainutlaatuista dynaamisesti uudelleenkonfiguroitavaa tekniikkaa, joka tarjoaa joustavuutta, huippunopeaa prosessointia ja energiatehokkuutta. Lisäksi käyttäjät voivat ilmaisen ohjelmistotyökalun DRP-AI Translator avulla toteuttaa optimoituja tekoälymalleja ja maksimoida nopeasti suorituskykyä. DRP-AI Translator -kääntäjän tuottamat useat suoritettavat tiedostot voidaan tallentaa ulkoiseen muistiin. Sovellus voi sitten vaihtaa dynaamisesti useiden tekoälymallien välillä ajon aikana.
DRP voi laitteistokonfiguraatiota dynaamisesti muuttamalla prosessoida nopeasti kompleksisia toimintoja, kuten kuvien esikäsittely ja tekoälymallien yhdistelmäkerrokset.
Kuva 2: DRP-AI-kiihdytin koostuu DRP- ja AI-MAC-komponenteista, jotka voivat käsitellä konvoluutioverkkojen ja yhdistelmäkerrosten toimintoja yhdessä tehokkaasti optimoimalla datavirran sisäisten kytkinten avulla. (Kuvan lähde: Renesas Electronics Corporation)
DRP-AI Translator
DRP-AI Translator -kääntäjä tuottaa koulutetuista ONNX-malleista DRP-AI-optimoituja suoritettavia tiedostoja tekoälykehyksestä riippumatta. Kehittäjä voi esimerkiksi käyttää PyTorchia, TensorFlowta tai mitä tahansa muuta tekoälyn mallinnuskehystä, jos se tuottaa ONNX-mallin. Kun malli on koulutettu, se syötetään DRP-AI Translator -kääntäjään, joka tuottaa suoritettavat DRP- ja AI-MAC-ohjelmat (kuva 3).
Kuva 3: Tekoälymallit koulutetaan käyttäen mitä tahansa ONNX-yhteensopivaa kehystä. ONNX-malli syötetään sitten DRP-AI Translator -kääntäjään, joka tuottaa DRP- ja AI-MAC-ohjelmat. (Kuvan lähde: Renesas Electronics Corporation)
DRP-AI Translator -kääntäjällä on kolme ensisijaista tarkoitusta:
- Tekoälymallin kunkin käsittelyoperaation aikataulutus.
- Aina operaatiota aikataulun mukaan vaihdettaessa muuttuvan muistin saantiajan sekä muiden vastaavien kuormitustekijöiden piilottaminen.
- Verkon kaaviorakenteen optimointi.
Kääntäjä määrittää jokaisen tekoälymallin prosessin automaattisesti AI-MAC- ja DRP-ohjelmiin, jolloin käyttäjä voi käyttää DRP-AI-kiihdytintä helposti ilman laitteistoasiantuntemusta. Näin ollen kehittäjä voi tehdä kutsuja mukana toimitetun ohjaimen kautta huipputehokkaan AI-mallin suorittamiseksi. Lisäksi DRP-AI Translator -kääntäjää voidaan päivittää jatkuvasti, jotta se tukisi uusia kehitettyjä tekoälymalleja ilman laitteistomuutoksia.
Järjestelmän käyttötapaukset ja prosessit
Kuva 4 näyttää yleisen prosessinkulun miten käyttää RZ/V2L-mikrokontrollereja näkötunnistussovellusten koulutuksessa ja käytössä. Suunnittelijat voivat hankkia datajoukkonsa ja käyttää sitä oman näkötunnistusmallin kouluttamiseen normaalilla tavalla. Oli kyseessä sitten kissojen, ostoskärryssä olevan tuotteen tai kokoonpanolinjalla epäonnistuneiden osien tunnistus, koulutusprosessi tapahtuu tuttujen tekoälykehysten avulla. Kun malli on koulutettu, se muunnetaan ONNX-muotoon ja syötetään DRP-AI Translator -kääntäjään, joka puolestaan tuottaa DRP-AI-laitteistolla suoritettavan objektikoodin. Tämän jälkeen kameroista, kiihtyvyysantureista tai muista antureista otetaan näytteitä, jotka syötetään suoritettaviin ohjelmiin, jotka tarjoavat päättelyn suorittamisesta saatavan tuloksen.
Kuva 4: Näkötunnistusalgoritmin koulutus- ja suoritusprosessi RZ/V2L-mikroprosessorissa. (Kuvan lähde: Renesas Electronics Corporation)
Suunnittelijat voivat hyödyntää RZ/V2L-mikroprosessoriä useilla eri tavoilla (kuva 5). Ensinnäkin RZ/V2L-mikroprosessoria voidaan käyttää itsenäisesti, jolloin RZ/V2L on järjestelmän ainoa prosessori. Sen kolmen ytimen ja tekoälyn kiihdytyslaitteiston ansiosta lisälaskentatehoa ei välttämättä tarvita.
Toisessa käyttötapauksessa RZ/V2L-mikroprosessoria käytetään tekoälyprosessorina laajemmassa järjestelmässä. Tässä käyttötapauksessa RZ/V2L suorittaa AI-päättelyn ja palauttaa tuloksen toiselle prosessorille tai järjestelmälle, joka sitten reagoi tuloksen perusteella. Käyttötapauksen valinta riippuu useista tekijöistä, kuten kustannuksista, järjestelmän kokonaisarkkitehtuurista, suorituskyvystä ja reaaliaikaisista vastevaatimuksista.
Kuva 5: RZ/V2L-mikroprosessorilla on kaksi käyttötapaa: niiden käyttö itsenäisesti sovelluksessa tai tekoälyprosessorina laajemmassa järjestelmässä. (Kuvan lähde: Renesas Electronics Corporation)
Esimerkki käytännön sovelluksesta
Näkötunnistusteknologiaa voidaan hyödyntää monissa käyttötapauksissa. Supermarketti tarjoaa mielenkiintoisen esimerkin. Nykyään kaupan henkilökunta tai ostaja tyypillisesti skannaa ruokakaupan kassalla jokaisen ostoskorissa olevan tuotteen. Mielenkiintoinen sovellusesimerkki olisi käyttää näkötunnistusta liukuhihnaa pitkin kulkevien tuotteiden tunnistamiseen ja automaattiseen veloitukseen.
Prototyyppi voitaisiin luoda käyttämällä yksinkertaista CMOS-kameraa ja evaluointikorttia Renesas RTK9754L23S01000BE (kuva 6). Sulautettu kehitysalusta RZ/V2L tarjoaa SOM-moduulin ja kantakortin, joiden avulla kehitystyö voidaan aloittaa nopeasti. Lisäksi kehitysalusta tukee Linuxia sekä erilaisia työkaluja, kuten DRP-AI Translator.
Kuva 6: Sulautettu kehitysalusta RZ/V2L tarjoaa SOM-moduulin ja kantakortin, joiden avulla kehitystyö voidaan aloittaa nopeasti. (Kuvan lähde: Renesas Electronics Corporation)
Kuva 7 tarjoaa toiminnallisen yleiskatsauksen siitä, mitä tarvitaan kuvadatan keruuseen ja tekoälytuloksen tuottamiseen. Tässä sovellusesimerkissä kuljetinhihnasta otetaan kuvia käyttäen CMOS-anturia sisäisen ISP:n kautta. Sen jälkeen kuva tallennetaan muistiin ja syötetään DRP-AI-moottoriin. Lopuksi DRP-AI-moottori suorittaa päättelyn ja tuottaa tekoälytuloksen. Tuloksena voi olla esimerkiksi, että tunnistettu objekti on banaani, omena tai jokin muu hedelmä.
Tulokseen liitetään usein luottamustaso 0–1. Luottamustaso 0,90 tarkoittaa esimerkiksi sitä, että tekoäly on varma, että se on tunnistanut omenan. Toisaalta luottamustaso 0,52 voi tarkoittaa, että tekoäly ajattelee, että kyseessä on omena, mutta ei ole varma siitä. Ei ole epätavallista käyttää tekoälyn tulosta ja keskiarvoistaa se useiden näytteiden perusteella oikean tuloksen todennäköisyyden parantamiseksi.
Kuva 7: Sulautettua kehitysalustaa RZ/V2L käytetään AI-päättelyn suorittamiseen. Se tunnistaa erilaisia hedelmiä liukuhihnalla. Kuva havainnollistaa kuvan hankkimiseen ja tekoälytuloksen tuottamiseen tarvittavat vaiheet. (Kuvan lähde: Renesas Electronics Corporation)
Lopuksi tässä esimerkissä piirretään ruutu havaitun esineen ympärille, ja tunnistetun esineen nimi sekä luottamustaso näytetään (kuva 8).
Kuva 8: RZ/V2L-kehitysalustan esimerkkitulos sovelluksessa, joka tunnistaa hedelmät ja vihannekset liukuhihnalla. (Kuvan lähde: Renesas Electronics Corporation)
Vinkkejä vauhtiin pääsyyn RZ/V2L-alustan kanssa
Kehittäjät, jotka haluavat aloittaa koneoppimisen Renesas RZ/V2L -mikroprosessorilla, löytävät paljon resursseja helpottamaan aloittamista. Tässä on eräitä vinkkejä, jotka kehittäjien kannattaa pitää mielessä, sillä niillä voidaan yksinkertaistaa ja nopeuttaa kehitystyötä:
- Aloita kehitysalustan ja valmiiden esimerkkien avulla, jotta saat tuntumaa sovelluksen käyttöönottoon ja suorittamiseen.
- Jos on tarpeen suorittaa useita päätelmiä, tallenna suoritettavat mallit ulkoiseen muistiin ja käytä DRP-AI-toimintoja nopeaan vaihtoon mallien välillä.
- Tutustu dokumentaatioon ja videoihin, jotka löytyvät Renesas RZ/V Embedded AI MPUs -sivustolta.
- Lataa DRP-AI Translator.
- Lataa RZ/V2L DRP-AI -tukipaketti.
Näitä vinkkejä noudattavat kehittäjät säästävät runsaasti aikaa ja vaivaa alkuun pääsyssä.
Yhteenveto
Koneoppiminen ja tekoäly ovat löytämässä tiensä moniin reunasovelluksiin, joissa kohteiden reaaliaikainen tunnistus on yhä tärkeämpää. Suunnittelijoiden haasteena on löytää sopiva arkkitehtuuri tekoälyn/koneoppimisen suorittamiseen reunaympäristöissä. Grafiikkasuorittimet tapaavat kuluttaa paljon virtaa, kun taas mikrokontrollerit eivät välttämättä tarjoa riittävästi laskentatehoa.
Kuten edellä on esitetty, Renesas DRP-AI -laitteistokiihdyttimellä varustettu RZ/V-mikroprosessorisarja tarjoaa useita etuja, kuten laitteistokiihdytetyn tekoälyn sekä merkittävän työkaluketjun ja prototyyppituen.

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.