Cum să creați și să implementați rapid aplicații de vedere la marginea rețelei adaptabile cu o platformă pregătită pentru producție
Contributed By DigiKey's North American Editors
2022-02-03
Aplicarea inteligenței artificiale (AI) pe camerele inteligente bazate pe conceptul de „edge computing” a câștigat rapid acceptare într-o gamă tot mai largă de aplicații de vedere încorporate, cum ar fi vederea artificială, securitatea, comerțul cu amănuntul și robotica. În timp ce apariția rapidă a algoritmilor de învățare automată (ML) accesibili a ajutat la apariția acestui interes pentru inteligența artificială, dezvoltatorii încă se luptă să respecte calendarele stricte ale proiectelor, oferind în același timp performanțe ridicate la un consum redus de energie pentru aplicațiile de la marginea rețelei.
Pentru a complica și mai mult lucrurile, chiar și soluțiile recent implementate pot deveni rapid suboptime din cauza naturii rapid schimbătoare a cerințelor aplicațiilor și a îmbunătățirilor continue ale algoritmilor care evoluează constant.
Acest articol prezintă o soluție flexibilă de sistem pe modul (SOM) de la Xilinx, pe care dezvoltatorii o pot utiliza pentru a implementa rapid soluții de camere inteligente pentru implementarea la marginea rețelei. Acesta arată cum se pot adapta mai ușor aceste soluții ca răspuns la nevoile în schimbare, fără a compromite cerințele cheie privind latența și puterea.
Accelerarea execuției aplicațiilor de vedere
Bazat pe un sistem pe cip (MPSoC) cu multiprocesor Zynq UltraScale+ construit la comandă, SOM Kria K26 de la Xilinx oferă un sistem de procesare încorporat robust alcătuit dintr-o unitate de procesare a aplicațiilor (APU) Arm Cortex-A53 quad-core pe 64 de biți, o unitate de procesare în timp real (RPU) Arm® Cortex®-R5F dual-core pe 32 de biți și o unitate de procesare grafică (GPU) Arm Mali-400MP2 3D. SOM combină MPSoC cu patru gigaocteți de memorie 4 cu rată de transmitere a datelor dublă (DDR4) cu lățime de 64 de biți și controlerul de memorie asociat, precum și cu mai multe dispozitive de memorie nevolatilă (NVM), inclusiv 512 megabiți (Mbit) de memorie cu interfață periferică serială (QSPI), 16 gigaocteți (Gbytes) de memorie încorporată pentru plăci multimedia (eMMC) și 64 de kilobiți (Kbit) de memorie programabilă numai pentru citire, care poate fi ștearsă electronic (EEPROM) (Figura 1).
Figura 1: SOM-ul Xilinx Kria K26 combină capacitățile extinse de procesare ale unui MPSoC Zynq UltraScale+ personalizat cu un modul de platformă de încredere 2.0 (TPM2) și memorie dinamică și nevolatilă. (Sursa imaginii: Xilinx)
Xilinx își completează resursele de procesare și memorie cu un sistem logic programabil extins care cuprinde 256K celule logice de sistem, 234K flip-flop-uri de bloc logic configurabil (CLB), 117K tabele de căutare (LUT) CLB și un total de 26,6 megabiți (Mbit) de memorie în diferite configurații de memorie cu acces aleatoriu (RAM) distribuită, blocuri RAM și ultraRAM. În plus, sistemul logic programabil include 1248 secțiuni de procesare a semnalelor digitale (DSP), patru emițătoare-receptoare și un codec video pentru H.264 și H.265 capabil să accepte până la 32 de fluxuri de codare/decodare simultană, până la un total de 3840 x 2160 pixeli la 60 de cadre pe secundă (cps). Cei doi conectori de 240 de pini ai SOM oferă acces rapid la blocurile funcționale și periferice prin intermediul intrărilor/ieșirilor (I/O) configurabile de către utilizator.
Această combinație de nuclee de procesor, memorie și logică programabilă oferă un nivel unic de flexibilitate și performanță care depășește principalele dezavantaje ale GPU-urilor utilizate pentru executarea de mare viteză a algoritmilor ML. Spre deosebire de fluxul de date fix din GPU-uri, dezvoltatorii pot reconfigura calea de date SOM K26 pentru a optimiza randamentul și a reduce latența. În plus, arhitectura SOM K26 este deosebit de potrivită pentru tipul de rețele rare care se află în centrul unui număr tot mai mare de aplicații ML.
Programabilitatea SOM K26 abordează și blocajele de memorie care cresc consumul de energie și limitează performanța în aplicațiile cu utilizare intensivă a memoriei, cum ar fi ML construite cu arhitecturi convenționale care utilizează GPU, procesoare cu nuclee multiple sau chiar SoC-uri avansate. În orice aplicație proiectată cu aceste dispozitive convenționale, memoria externă reprezintă, de obicei, aproximativ 40% din consumul de energie al sistemului, în timp ce nucleele procesorului și memoria internă reprezintă, de obicei, aproximativ 30% fiecare. În schimb, dezvoltatorii pot profita de blocurile de memorie internă și de capacitate de reconfigurare ale SOM K26 pentru a implementa proiecte care necesită acces redus la memoria externă sau nu necesită deloc astfel de acces. Rezultatul este o performanță sporită și un consum de energie mai mic decât cel posibil cu dispozitivele convenționale (Figura 2).
Figura 2: în timp ce sistemele bazate pe procesoare încorporate și pe SoC-uri tipice necesită accesări multiple ale memoriei, care consumă energie, pentru a-și rula aplicațiile, sistemele bazate pe Xilinx Kria utilizează un pipeline de vedere eficient care poate fi proiectat pentru a evita orice accesări DDR. (Sursa imaginii: Xilinx)
Împreună cu performanțele sale ridicate, consumul redus de energie și capacitatea de reconfigurare extinsă, SOM K26 ajută la garantarea securității în proiectele de camere inteligente pentru aplicații sensibile. Alături de dispozitivul de securitate TPM încorporat în SOM, MPSoC integrează o unitate de securitate a configurației (CSU) dedicată, care acceptă pornirea securizată, monitorizarea modificărilor, stocarea securizată a cheilor și accelerarea hardware criptografică. Împreună, CSU, memoria internă pe cip (OCM) și stocarea securizată a cheilor oferă o bază sigură pentru a garanta o bază hardware de încredere pentru implementarea unei inițializări securizate și o platformă de încredere pentru executarea aplicațiilor.
Capacitățile extinse disponibile cu SOM K26 oferă o fundație puternică pentru implementarea aplicațiilor exigente bazate pe „edge computing”. Cu toate acestea, fiecare aplicație are propriile cerințe în ceea ce privește caracteristicile și funcționalitatea asociate cu un set de periferice și alte componente specifice aplicației. Pentru a simplifica implementarea soluțiilor specifice aplicațiilor, SOM K26 este proiectat pentru a fi conectat la o placă suport care găzduiește perifericele suplimentare. Xilinx demonstrează această abordare cu kitul său de pornire pentru inteligență artificială pentru vedere KV260 bazat pe Kria K26.
Kitul de pornire simplifică dezvoltarea aplicațiilor de vedere
Compus dintr-un SOM K26 conectat la o placă suport axată pe vedere, kitul de pornire Xilinx KV260 pentru inteligența artificială pentru vedere oferă o platformă gata de utilizare, special concepută pentru evaluarea imediată și dezvoltarea rapidă a aplicațiilor de vedere inteligentă. În timp ce SOM K26 oferă capacitățile de procesare necesare, placa suport a kitului de pornire asigură gestionarea energiei, inclusiv secvențierea pornirii și resetării, precum și opțiuni de interfață și conectori pentru cameră, afișaj și card microSD (Figura 3).
Figura 3: kitul de pornire pentru inteligența artificială pentru vedere Xilinx KV260 oferă o soluție completă de vedere inteligentă folosind SOM K26 conectat la o placă suport axată pe vedere. (Sursa imaginii: Xilinx)
Pe lângă interfețele sale multiple, placa suport oferă compatibilitate pentru mai multe camere prin intermediul conectorului Raspberry Pi și a unei perechi de conectori pentru sistemul de acces la imagine (IAS), dintre care unul se conectează la un procesor de senzor de imagine (ISP) onsemi AP1302 de 13 megapixeli (MP) dedicat, capabil să gestioneze toate funcțiile de procesare a imaginii.
Pentru a accelera și mai mult implementarea aplicațiilor bazate pe vedere, Xilinx sprijină această platformă hardware de vedere predefinită cu o serie de aplicații de vedere accelerată predefinite, împreună cu un set cuprinzător de instrumente software și biblioteci pentru dezvoltare personalizată.
Aplicațiile accelerate oferă soluții imediate
Pentru evaluarea imediată și dezvoltarea rapidă a aplicațiilor de vedere accelerată, Xilinx oferă mai multe aplicații preinstalate care demonstrează executarea mai multor cazuri de utilizare populare, inclusiv detectarea fețelor de către o cameră inteligentă utilizând logica programabilă, identificarea și urmărirea pietonilor, detectarea defectelor și identificarea cuvintelor cheie asociate utilizând sistemul de procesare al MPSoC. Fiind disponibile în magazinul de aplicații Xilinx Kria, fiecare aplicație oferă o soluție completă pentru cazul său de utilizare specific, cu instrumente și resurse însoțitoare. De exemplu, aplicația de detectare a fețelor cu cameră inteligentă utilizează senzorul de imagine AR1335 și ISP AP1302 încorporat în placa suport KV260 pentru a achiziționa imagini, și ieșirea HDMI sau DisplayPort (DP) a plăcii pentru a reda rezultatul. Pentru procesarea detectării fețelor, aplicația configurează SOM K26 pentru a oferi un accelerator de pipeline pentru vedere și un motor de inferență de învățare automată preinstalat pentru detectarea fețelor, numărarea persoanelor și alte aplicații de camere inteligente (Figura 4).
Figura 4: disponibile pentru descărcare de pe magazinul de aplicații Xilinx Kria, aplicațiile accelerate preconstruite sunt pregătite să ruleze imediat pe kitul de pornire KV260, oferind soluții complete pentru modele de utilizare a vederii, cum ar fi detectarea fețelor. (Sursa imaginii: Xilinx)
Furnizând o implementare și asistență completă, aplicațiile accelerate preconstruite din magazinul de aplicații Xilinx permit dezvoltatorilor să pună în funcțiune proiecte în mai puțin de o oră, chiar dacă nu au experiență în FPGA. Pe măsură ce evaluează aplicația, aceștia pot utiliza pachetul de software furnizat pentru a modifica funcționalitatea și pentru a explora soluții alternative. Pentru o dezvoltare personalizată mai extinsă, Xilinx oferă o suită cuprinzătoare de instrumente și biblioteci de dezvoltare.
Mediul și instrumentele de dezvoltare AI accelerează dezvoltarea personalizată
Pentru dezvoltarea personalizată a aplicațiilor bazate pe inteligență artificială, mediul de dezvoltare Vitis AI de la Xilinx oferă instrumente optimizate, biblioteci și modele pre-antrenate care pot servi ca bază pentru modele personalizate mai specializate. Pentru mediul de operare de execuție, kitul de dezvoltare software (SDK) Linux încorporat PetaLinux al Xilinx, bazat pe Yocto, oferă suita completă de capacități necesare pentru a construi, dezvolta, testa și implementa sisteme Linux încorporate.
Conceput atât pentru experți, cât și pentru dezvoltatori fără experiență FPGA, mediul Vitis AI face abstracție de detaliile hardware-ului de siliciu de la bază, permițându-le dezvoltatorilor să se concentreze pe construirea unor modele ML mai eficiente. De fapt, mediul Vitis AI este integrat cu stiva de compilatoare de învățare profundă Apache Tensor Virtual Machine (TVM) open-source, permițând dezvoltatorilor să își compileze modelele din diferite cadre pe un procesor, GPU sau accelerator. Utilizând Vitis AI cu TVM, dezvoltatorii își pot îmbunătăți proiectele existente cu capacități de vedere accelerată, descărcând sarcinile de lucru de vedere care necesită putere mare de calcul, cum ar fi modelele de învățare profundă, pe SOM Kria. Pentru a-i ajuta pe dezvoltatori să își optimizeze și mai mult modelele de învățare profundă, instrumentul AI Optimization de la Xilinx poate să ajusteze rețelele neuronale pentru a reduce complexitatea în ceea ce privește numărul de operații giga pe secundă (Gops), pentru a crește numărul de cadre pe secundă (cps) și pentru a reduce modelele supra-parametrizate, comprimându-le de până la 50x cu un impact redus asupra acurateței în ceea ce privește precizia medie (mAP) (Figura 5).
Figura 5: un studiu de caz al departamentului de cercetare Xilinx a arătat cum câteva iterații de restrângere a ariei de căutare cu ajutorul instrumentului Xilinx AI Optimization pot reduce rapid complexitatea rețelei neuronale în ceea ce privește numărul de Gops, crescând în același timp cadrele pe secundă, toate acestea cu un impact redus asupra acurateței. (Sursa imaginii: Xilinx)
Pentru implementarea aplicațiilor de vedere personalizate, bibliotecile Vitis Vision open-source de la Xilinx sunt optimizate pentru performanțe ridicate și utilizare redusă a resurselor pe platformele Xilinx, oferind o interfață familiară bazată pe OpenCV. Pentru analiză, cadrul de aplicații Xilinx Video Analytics SDK ajută dezvoltatorii să construiască pipeline-uri de vedere și de analiză video mai eficiente fără a avea nevoie de cunoștințe aprofundate de FPGA. Bazat pe cadrul GStreamer open-source adoptat pe scară largă, Video Analytics SDK permite dezvoltatorilor să creeze rapid nuclee de accelerare personalizate ca plug-inuri GStreamer pentru integrarea în cadrul SDK.
Cu ajutorul acestor instrumente, un dezvoltator tipic de aplicații integrate poate asambla cu ușurință pipeline-uri de accelerare personalizate cu sau fără nuclee de accelerare personalizate.
Concluzie
Algoritmii ML care necesită putere mare de calcul au permis utilizarea tehnologiei de vedere inteligentă în mai multe aplicații care rulează la marginea rețelei, dar dezvoltatorii se confruntă cu provocări multiple în ceea ce privește îndeplinirea cerințelor de performanță ridicată, consum redus de energie și adaptabilitate a sistemelor de vedere bazate pe „edge computing”. Soluția SOM Kria K26 de la Xilinx oferă baza hardware pentru accelerarea algoritmilor avansați fără a depăși bugetele de putere stricte. Utilizând un kit de pornire bazat pe Kria K26 cu aplicații preinstalate, dezvoltatorii pot începe imediat să evalueze aplicațiile de vedere inteligentă și pot utiliza un mediu de dezvoltare cuprinzător pentru a crea soluții personalizate pentru dispozitive de la marginea rețelei.
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.



