Sep 26, 2023
Byte
While artificial intelligence (AI) algorithms running on larger, more powerful
Sebbene gli algoritmi di intelligenza artificiale (AI) eseguiti su hardware più grandi e potenti spesso rubino l’attenzione, l’importanza dell’intelligenza artificiale edge non dovrebbe essere sottovalutata. Edge AI si riferisce all’implementazione di algoritmi AI su dispositivi locali come smartphone, fotocamere, sensori e altri dispositivi Internet of Things, anziché affidarsi esclusivamente a soluzioni basate su cloud. Questo approccio decentralizzato offre numerosi vantaggi e sblocca un’ampia gamma di possibili applicazioni.
Uno dei vantaggi principali dell'intelligenza artificiale edge è la latenza ridotta. Elaborando i dati localmente sul dispositivo stesso, l'intelligenza artificiale edge elimina la necessità di viaggi di andata e ritorno verso il cloud, con conseguenti tempi di risposta più rapidi. Questa capacità in tempo reale è fondamentale negli scenari in cui il processo decisionale immediato è vitale, come nel caso dei veicoli autonomi, dell’automazione industriale e del monitoraggio delle infrastrutture critiche. Inoltre, l’intelligenza artificiale edge migliora la privacy e la sicurezza poiché i dati sensibili rimangono sul dispositivo locale, riducendo il rischio di violazioni dei dati e garantendo la riservatezza dell’utente.
Nonostante i numerosi vantaggi, l’esecuzione di algoritmi ad alto consumo di risorse, come il rilevamento di oggetti complessi o modelli di deep learning, sui dispositivi edge rappresenta una sfida significativa. I dispositivi di edge computing hanno spesso potenza di calcolo, memoria e risorse energetiche limitate rispetto all’hardware basato su cloud. Trovare un equilibrio tra la precisione dell’algoritmo e i vincoli del dispositivo diventa fondamentale per garantire un funzionamento efficiente. Per far funzionare bene questi algoritmi sui dispositivi edge sono necessarie ottimizzazioni come la compressione del modello, la quantizzazione e tecniche di inferenza efficienti.
Poiché comprendere e riconoscere gli oggetti nelle immagini o nei video è un compito fondamentale nella percezione visiva, gli algoritmi di rilevamento degli oggetti sono di particolare importanza in vari settori e applicazioni. Sono stati fatti grandi passi avanti nell’adattare i modelli di rilevamento degli oggetti ai dispositivi edge con risorse limitate, come l’algoritmo FOMO di Edge Impulse che funziona fino a 30 volte più velocemente dell’SSD MobileNet, ma richiede meno di 200 KB di memoria per molti casi d’uso. Ma per aree di applicazione così importanti e diversificate c’è ampio spazio per ulteriori progressi.
L'ultimo arrivato in questo campo è un team di ricercatori del Centro per l'apprendimento basato su progetti dell'ETH di Zurigo. Hanno sviluppato una rete di rilevamento di oggetti altamente flessibile, efficiente in termini di memoria e ultraleggera che chiamano TinyissimoYOLO. Le ottimizzazioni applicate a questo modello lo rendono adatto per l'esecuzione su microcontrollori a basso consumo.
TinyissimoYOLO è una rete neurale convoluzionale (CNN) basata sull'architettura del popolare algoritmo YOLO. Era costruito con strati convoluzionali quantizzati con kernel 3 x 3 e uno strato di output completamente connesso. Sia i livelli lineari convoluzionali che quelli lineari completamente connessi sono fortemente ottimizzati nelle toolchain hardware e software dei dispositivi moderni, il che dà a TinyissimoYOLO una spinta in termini di velocità ed efficienza. Si tratta di una rete di rilevamento oggetti generalizzata che può essere applicata a un'ampia gamma di attività e non richiede più di 512 KB di memoria flash per memorizzare i parametri del modello.
Il modello può essere implementato praticamente su qualsiasi hardware che soddisfi i suoi requisiti molto modesti, comprese le piattaforme con processori Arm Cortex-M o acceleratori hardware AI. Con TinyissimoYOLO è stata testata un'ampia gamma di dispositivi, tra cui Analog Devices MAX78000, Greenwaves GAP9, Sony Spresense e Syntiant TinyML.
Durante la valutazione dei metodi utilizzati, il team ha scoperto che potevano eseguire il rilevamento di oggetti su una scheda MAX78000 all'incredibile velocità di 180 fotogrammi al secondo. E queste eccellenti prestazioni sono accompagnate da un consumo energetico estremamente basso di soli 196 µJ per inferenza. Naturalmente nulla di tutto ciò ha importanza se il modello non funziona bene. Ma sorprendentemente, questo piccolo modello ha funzionato paragonabilmente anche ad algoritmi di rilevamento di oggetti molto più grandi.
Naturalmente, però, è necessario tagliare alcuni angoli per portare a termine un'impresa del genere. La dimensione di input dell'immagine, ad esempio, è limitata a 88 x 88 pixel. Questa è una risoluzione insufficiente per molti usi. Inoltre, poiché il problema del rilevamento degli oggetti multiclasse diventa più difficile all'aumentare del numero di oggetti, è supportato un massimo di tre oggetti per immagine.