Accelerați proiectarea sistemelor de recunoaștere vizuală cu MPU-urile din seria RZ/V2 de la Renesas
Contributed By DigiKey's North American Editors
2022-09-29
Pe măsură ce recunoașterea vizuală la marginea rețelei devine o caracteristică din ce în ce mai importantă în multe produse, învățarea automatizată (ML) și inteligența artificială (AI) încep să fie tot mai utilizate într-o gamă largă de aplicații. Problema cu care se confruntă dezvoltatorii este că vederea pe bază de ML/AI poate necesita mai multă putere de calcul pentru rularea algoritmilor de recunoaștere decât cea disponibilă în aplicațiile cu restricții de putere. De asemenea, costurile cresc dacă sunt necesare soluții costisitoare de gestionare termică.
Scopul ML/AI la marginea rețelei este de a găsi abordarea arhitecturală optimă care să echilibreze performanța și puterea, oferind în același timp un ecosistem software robust în cadrul căruia să se dezvolte aplicația.
Ținând cont de aceste condiții, articolul de față prezintă o soluție sub forma unității de microprocesare (MPU) din seria RZ/V2 de la Renesas Electronics, cu acceleratorul hardware AI încorporat. Articolul analizează modul în care un MPU, în locul unui microcontroler (MCU) sau al unei unități de procesare grafică (GPU) de vârf, poate rezolva mai multe probleme cu care se confruntă proiectanții. Este inclusă o descriere a modului în care aceștia pot începe să proiecteze sisteme de recunoaștere vizuală folosind seria RZ/V2, împreună cu câteva „sfaturi și trucuri” pentru facilitarea procesului.
Introducere în seria de MPU-uri RZ/V2
Seria RZ/V2 este o soluție care deblochează multe funcții pentru dezvoltatorii care folosesc un microprocesor cu trei nuclee. Microprocesoarele din seria RZ/V2L conțin două procesoare Arm Cortex-A55 care funcționează la 1,2 gigahertzi (GHz) și un nucleu de microcontroler în timp real (Arm® Cortex®-M33) care funcționează la 200 megahertzi (MHz). În plus, componentele din serie conțin un GPU bazat pe un procesor multimedia Arm Mali-G31 cu o singură instrucțiune NEON/mai multe instrucțiuni de date (SIMD). Combinarea acestor trei nuclee de procesare și a procesorului multimedia oferă o soluție bine pusă la punct pentru dezvoltatorii care lucrează la sisteme de recunoaștere vizuală.
În prezent, există două clase de MPU în seria RZ/V2, RZ/V2L și RZ/V2M. RZ/V2L are un procesor de semnal de imagine (ISP) simplu, un motor grafic 3D și un set de periferice foarte versatil. RZ/V2M, la rândul său, adaugă un ISP de înaltă performanță care acceptă rezoluția 4K la 30 de cadre pe secundă (cps). Acest articol se concentrează asupra familiei RZ/V2L, formată din R9A07G054L23GBG și R9A07G054L24GBG. Principala diferență între cele două componente este că R9A07G054L23GBG vine într-un pachet 456-LFBGA de 15 mm2, în timp ce R9A07G054L24GBG vine într-un pachet 551-LFBGA de 21 mm2.
Schema bloc pentru seria RZ/V2L este prezentată în Figura 1. În plus față de cele trei nuclee de procesare, MPU-urile includ interfețe pentru periferice standard precum memoria DDR3/DDR4, SPI, USB, Ethernet, I²C, CAN, SCI, GPIO și un convertor analogic-digital (ADC). În plus, componentele includ funcții de securitate, cum ar fi un sistem de pornire securizat, un motor de criptare și un generator de numere aleatorii reale (TRNG). Ceea ce diferențiază însă seria MPU este acceleratorul AI cu procesor reconfigurabil dinamic (DRP).
Figura 1: seria MPU RZ/V2L acceptă diverse interfețe periferice, opțiuni de securitate și de procesare video. Caracteristica critică pentru aplicațiile de recunoaștere vizuală este acceleratorul DRP-AI. (Sursa imaginii: Renesas Electronics Corporation)
Acceleratorul DRP-AI – ingredientul secret
Acceleratorul DRP-AI este ingredientul secret care permite MPU-urilor din seria RZ/V2L să execute rapid aplicații de recunoaștere vizuală, cu un consum mai mic de energie și un profil termic mai redus. DRP-AI include două componente: un DRP și un sistem de multiplicare și acumulare (MAC) AI, care pot procesa eficient operațiile în rețele convoluționale și în straturi de combinare integrală prin optimizarea fluxului de date cu ajutorul comutatoarelor interne (Figura 2).
Hardware-ul DRP-AI este dedicat executării inferențelor AI. DRP-AI utilizează o tehnologie reconfigurabilă dinamică unică dezvoltată de Renesas, care oferă flexibilitate, procesare de mare viteză și eficiență energetică. În plus, traductorul DRP-AI, un instrument software gratuit, permite utilizatorilor să implementeze modele AI optimizate care să maximizeze rapid performanța. Mai multe executabile produse de traductorul DRP-AI pot fi plasate în memoria externă. Aplicația poate apoi comuta dinamic între mai multe modele de inteligență artificială în timpul execuției.
DRP poate procesa rapid activități complexe, cum ar fi preprocesarea imaginilor și straturile de grupare a modelelor de inteligență artificială, prin modificarea dinamică a configurației hardware.
Figura 2: DRP-AI include un DRP și un AI-MAC, care, împreună, pot procesa eficient operațiile în rețele convoluționale și în straturi de combinare integrală prin optimizarea fluxului de date cu ajutorul comutatoarelor interne. (Sursa imaginii: Renesas Electronics Corporation)
Traductorul DRP-AI
Instrumentul de traducere DRP-AI generează executabile optimizate DRP-AI din modele ONNX instruite, independent de orice cadru de inteligență artificială. De exemplu, un dezvoltator ar putea utiliza PyTorch, TensorFlow sau orice alt cadru de modelare a inteligenței artificiale, dacă acesta produce un model ONNX. Odată ce modelul este instruit, acesta este introdus în traductorul DRP-AI, care generează executabilele DRP și AI-MAC (Figura 3).
Figura 3: modelele de inteligență artificială sunt instruite utilizând orice cadru compatibil cu ONNX. Modelul ONNX este apoi introdus în traductorul DRP-AI, care generează executabilele DRP și AI-MAC. (Sursa imaginii: Renesas Electronics Corporation)
Traductorul DRP-AI are trei scopuri principale:
- Programarea fiecărei operațiuni de procesare a modelului AI.
- Ascunderea în program a unor elemente suplimentare, cum ar fi timpul de acces la memorie care apare în timpul tranziției fiecărei operații.
- Optimizarea structurii grafice a rețelei.
Traductorul alocă automat fiecare proces al modelului AI la AI-MAC și DRP, permițând astfel utilizatorului să utilizeze cu ușurință DRP-AI fără a fi expert în hardware. În schimb, dezvoltatorul poate efectua apeluri prin intermediul driverului furnizat pentru a rula modelul AI de înaltă performanță. În plus, traductorul DRP-AI poate fi actualizat în mod continuu pentru a accepta modelele de inteligență artificială nou dezvoltate, fără modificări de hardware.
Cazuri de utilizare a sistemului și procese
Fluxul general al procesului de utilizare a unităților MPU RZ/V2L pentru instruirea și implementarea aplicațiilor de recunoaștere vizuală este prezentat în Figura 4. Ca de obicei, inginerii își pot achiziționa setul de date și îl pot utiliza pentru a-și instrui modelul de recunoaștere vizuală. Fie că încearcă să identifice pisici, un produs într-un coș de cumpărături sau piese defecte pe o linie de asamblare, procesul de instruire va avea loc cu ajutorul cadrelor de inteligență artificială cunoscute. Odată ce modelul este instruit, acesta este convertit în format ONNX și introdus în traductorul DRP-AI, care, la rândul său, produce cod de obiect care poate fi executat pe hardware-ul DRP-AI. Datele provenite de la camerele de luat vederi, accelerometre sau alți senzori sunt apoi eșantionate și introduse în programele executabile, furnizând astfel rezultatul efectuării inferenței.
Figura 4: procesul de instruire și de rulare a unui algoritm de recunoaștere vizuală pe unitățile MPU RZ/V2L. (Sursa imaginii: Renesas Electronics Corporation)
Există mai multe moduri în care inginerii pot utiliza MPU RZ/V2L în proiectele lor (Figura 5). În primul rând, unitatea MPU RZ/V2L poate fi utilizată în proiecte autonome, în care RZ/V2L este singurul procesor din sistem. Datorită celor trei nuclee și hardware-ului de accelerare AI, este posibil să nu fie nevoie de putere de calcul suplimentară.
Al doilea caz de utilizare este cel în care RZ/V2L este utilizat ca procesor AI într-un sistem mai extins. În acest caz de utilizare, RZ/V2L execută inferențele de inteligență artificială și returnează un rezultat unui alt procesor sau sistem care acționează apoi pe baza acelui rezultat. Cazul de utilizare selectat va depinde de diverși factori, cum ar fi costul, arhitectura generală a sistemului, performanța și cerințele de răspuns în timp real.
Figura 5: cele două cazuri de utilizare a MPU-urilor RZ/V2L implică utilizarea lor de sine stătătoare într-o aplicație sau ca procesor de inteligență artificială utilizat într-un sistem mai amplu. (Sursa imaginii: Renesas Electronics Corporation)
Exemplu de aplicație în lumea reală
Există multe cazuri de utilizare în care se poate utiliza tehnologia de recunoaștere vizuală. Un exemplu interesant este cel din supermarket. În prezent, atunci când se face plata la un magazin alimentar, un angajat sau un cumpărător scanează de obicei fiecare articol din coș. Un caz de utilizare interesant ar fi detectarea produselor care trec pe banda rulantă cu ajutorul recunoașterii vizuale și taxarea automată a acestora.
Un prototip ar putea fi construit folosind o cameră CMOS simplă și placa de evaluare RTK9754L23S01000BE de la Renesas (Figura 6). Placa de dezvoltare încorporată RZ/V2L are un sistem pe modul (SOM) și o placă suport care permite dezvoltatorilor să înceapă să lucreze rapid. În plus, placa de dezvoltare acceptă Linux, pe lângă diverse instrumente, cum ar fi traductorul DRP-AI.
Figura 6: placa de dezvoltare încorporată RZ/V2L are o placă SOM și o placă suport care permite dezvoltatorilor să înceapă să lucreze rapid. (Sursa imaginii: Renesas Electronics Corporation)
În Figura 7 este prezentată o imagine de ansamblu operațională a ceea ce este necesar pentru a înregistra date despre imagini și a produce un rezultat AI. În acest exemplu de aplicație, imaginile benzii transportoare sunt realizate cu ajutorul unui senzor CMOS prin intermediul ISP integrat. Apoi, imaginea este salvată în memorie și introdusă în motorul DRP-AI. În cele din urmă, motorul DRP-AI execută inferența și furnizează un rezultat AI. De exemplu, rezultatul ar putea fi că se găsește o banană, un măr sau un alt fruct.
Rezultatul este deseori însoțit de un nivel de încredere de la 0 la 1. De exemplu, un nivel de încredere de 0,90 înseamnă că sistemul AI este sigur că a detectat un măr. Pe de altă parte, o încredere de 0,52 ar putea însemna că sistemul AI crede că este un măr, dar nu este sigur. Nu este neobișnuit să se ia un rezultat AI și să se facă o medie pe mai multe mostre pentru îmbunătățirea șanselor de a obține rezultate corecte.
Figura 7: placa de dezvoltare încorporată RZ/V2L este utilizată pentru a rula o inferență de inteligență artificială care recunoaște diverse fructe pe o bandă transportoare. Figura demonstrează pașii necesari pentru a capta o imagine și a produce un rezultat AI. (Sursa imaginii: Renesas Electronics Corporation)
În cele din urmă, în acest exemplu, în jurul obiectului detectat este desenată o casetă, iar numele obiectului recunoscut este afișat alături de nivelul de încredere (Figura 8).
Figura 8: exemplu de ieșire de la RZ/V2L într-o aplicație care detectează fructele și legumele pe o bandă transportoare. (Sursa imaginii: Renesas Electronics Corporation)
Sfaturi și trucuri pentru a începe cu RZ/V2L
Dezvoltatorii care doresc să înceapă să utilizeze învățarea automatizată pe MPU-urile Renesas RZ/V2L vor descoperi că au la dispoziție numeroase resurse pe care să le folosească pentru a începe să lucreze. Iată câteva „sfaturi și trucuri” de care dezvoltatorii ar trebui să țină cont și care pot simplifica și accelera dezvoltarea lor:
- Începeți cu o placă de dezvoltare și cu exemplele existente pentru a vă familiariza cu implementarea și rularea unei aplicații.
- Dacă este necesar să executați mai multe inferențe, salvați modelele executabile în memoria externă și utilizați funcțiile DRP-AI pentru a trece rapid de la un model la altul.
- Consultați documentația și videoclipurile de pe site-ul pentru MPU-uri cu AI încorporat RZ/V de la Renesas.
- Descărcați traductorul DRP-AI.
- Descărcați pachetul de asistență RZ/V2L DRP-AI.
Dezvoltatorii care urmează aceste „sfaturi și trucuri” vor economisi destul de mult timp și energie mentală la început.
Concluzie
ML și AI sunt tot mai utilizate în multe aplicații de la marginea rețelei, capacitatea de a recunoaște obiecte în timp real devenind din ce în ce mai importantă. Pentru proiectanți, dificultatea constă în găsirea arhitecturii potrivite cu care să efectueze AI/ML la marginea rețelei. GPU-urile tind să fie mari consumatoare de energie, în timp ce MCU-urile ar putea să nu aibă suficientă putere de calcul.
După cum s-a arătat, seria de MPU RZ/V cu DRP-AI de la Renesas are mai multe avantaje, cum ar fi AI cu accelerare hardware, împreună cu un lanț de instrumente substanțial și compatibilitate pentru prototipuri.
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.

