EO 517
operativo predominante per le applicazioni di questo tipo, accelerano ulteriormente lo sviluppo di applicazioni basa- te su C++ e Python. Queste demo prendono un modello di rete neurale addestrata e una descrizione input-output per eseguire il modello con piena accelerazione sia dal C7xM- MA sia dall’ISP per un’applicazione end-to-end campione. Ad esempio, uno sviluppatore può scegliere unMobileNet- V2SSD addestrato su un dataset COCOM nel Texas Instru- ments Model Zoo come modello, un file video archiviato per l’input e il display HDMI come mezzo di output. Queste demo sono costruite utilizzando Gstreamer per ottenere una pipeline efficiente per l’acquisizione del- le immagini, per la pre-elaborazione, per l’inferenza di deep learning e per ulteriori software specifici dell’appli- cazione, compresa la codifica H.264/H.265 (Fig. 5). I plu- gin gstreamer personalizzati di TI riducono l’overhead utilizzando il buffering “zero-copy”, risparmiando così larghezza di banda della RAM/DDR. Oltre a Gstreamer e ai runtime open source (TFLite, ONNX, TVM), sulle build di Linux predefinite di TI è abilitato OpenCV, che consente agli sviluppatori di eseguire operazioni di visione artifi- ciale non supportate direttamente dagli acceleratori har- dware. Per utenti al di fuori dell’ambiente Linux, gli accelerato- ri hardware sono esposti tramite l’implementazione di TI dello standard OpenVX, TIOVX. Acceleratore di visione VPAC e ISP VPAC-3L è un processore con ISP di 7ª generazione di TI. Questo acceleratore hardware esegue funzioni di elabora- zione delle immagini per supportare i sensori di immagi- ne con uscita “raw”. Mentre i TOPS sono una metrica comune per quantifica- re le prestazioni di machine learning su acceleratori come TPU, VPU, NPU, GPU e così via, una singola architettura di accelerazione potrebbe garantire prestazioni superiori rispetto a un’altra pur avendo una minore capacità di cal- colo teorica. L’architettura di TI è stata progettata per ot- timizzare la potenza e le prestazioni utilizzando una sin- gola unità di calcolo, l’MMA, di grandi dimensioni anziché molte unità più piccole in parallelo (Fig. 4). Con molte uni- tà piccole sono necessari più trasferimenti in memoria in quanto vi è unminore riutilizzo degli stessi dati per cicli di esecuzione successivi. Più trasferimenti si traducono in un maggiore dispendio energetico. Engine per lo streaming dei dati progettati “ad hoc” mantengono i buffer a 256 bit che conservano i dati necessari all’interno dell’accelera- tore. Un’applicazione ottimizzata utilizzerà un modello le cui dimensioni su ciascuno strato riempiono completa- mente l’MMA. Software per edge AI TI ha investito notevoli risorse per semplificare lo svilup- po e la valutazione dell’edge AI su processori come AM62A, che contiene acceleratori hardware “ad hoc” [2]. Come descritto nel post sul blog E2E riportato nella biblio- grafia, TI dispone di strumenti per aiutare nella scelta di unmodello, nonché per addestrare/rifinire, valutare e im- plementare il modello stesso sul processore con un incre- mento minimo della complessità del codice. Gli sviluppa- tori possono invocare l’acceleratore di deep learning con appena poche linee aggiuntive per le chiamate alle API TensorFlow Lite (TFlite), ONNX o TVM-DLR. Le demo pronte all’uso dell’edgeAI di TI inLinux, il sistema Fig. 6 – Correzione delle distorsioni degli obiettivi: A) Il fotogramma non elaborato di un obiettivo fish-eye B) Immagine di uscita da prospettiva frontale C) Immagine mesh intermedia; warp e interpolazione per proiettare l’immagine in formato rettangolare a piena risoluzione utilizzando un modello di proiezione fish-eye equisolido SMART CAMERAS EO LIGHTING - APRILE 2024 XXVII
Made with FlippingBook
RkJQdWJsaXNoZXIy Mzg4NjYz