Object detection non convenzionale e TinyML

Abbiamo condotto un esperimento per valutare le variazioni nelle prestazioni di inferenza nell'object detection, confrontando un sistema dotato di scheda NVIDIA RTX con una Raspberry Pi 5, rappresentativa dei sistemi TinyML senza GPU. L'obiettivo era misurare la differenza relativa di elaborazione tra i due dispositivi in tre scenari distinti mantenendo la parità, tra i due sistemi, di modello e formato per ciascun caso. Abbiamo osservato un comportamento interessante che vogliamo descrivere e condividere con i lettori.
Caso 1: Inferenza su un sottoinsieme di Pascal VOC

Abbiamo selezionato un sottoinsieme di immagini dal dataset standard Pascal VOC, scegliendo alcune centinaia di campioni appartenenti a otto classi comuni: Car
, Mouse
, Laptop
, Cell Phone
, Bicycle
, Keyboard
, Person
e Motorcycle
. Utilizzando un modello preaddestrato su Pascal VOC, abbiamo misurato i tempi di inferenza su un PC con NVIDIA RTX e su un Raspberry Pi 5.
Le metriche di precisione dell'inferenza risultavano identiche tra i due sistemi. Tuttavia, la Pi mostrava un rallentamento medio di circa 4,6 volte, un valore prevedibile data l'assenza di una GPU dedicata e le capacità computazionali nettamente inferiori rispetto a un PC moderno.
Caso 2: Inferenza su immagini acquisite dalla camera Seeed Studio SenseCAP A1101

Abbiamo ripetuto l'esperimento utilizzando lo stesso modello preaddestrato e le stesse classi ma questa volta le immagini non provenivano da Pascal VOC ma erano state da noi acquisite tramite la camera Seeed Studio SenseCAP A1101.
Anche in questo caso, le metriche di inferenza restavano invariate tra i due sistemi e la Pi continuava a mostrare lo stesso rallentamento medio di 4,6 volte rispetto al PC con GPU.
Caso 3: Inferenza su un dataset personalizzato di fluidi turbolenti

Abbiamo infine creato un nuovo dataset per l'addestramento di un modello di object detection su una classe di oggetti completamente diversa dalle precedenti: fluidi turbolenti (avendo immagini di fluidi laminari come veri negativi di riferimento), in questo caso non usando semplicemente un modello preaddestrato ma addestrandolo per la nuova classe.
In questo scenario, il tempo di inferenza sulla Raspberry è aumentato di oltre il doppio rispetto ai casi precedenti.
Osservazioni
L'esperimento ha evidenziato che:
- Per oggetti standard, la Raspberry Pi 5 mantiene le stesse metriche di inferenza del PC con NVIDIA RTX ma con un rallentamento medio di circa 4,6 volte.
- L'origine delle immagini non influisce sulle prestazioni, purché ci si riferisca alle classi del modello liberamente disponibile.
- Quando il modello viene addestrato a una classe di oggetti molto diversa da quelle su cui è stato addestrato, il rallentamento aumenta significativamente, suggerendo un maggiore carico computazionale.
Possibili cause della discrepanza
Le otto classi originali sono caratterizzate da contorni ben definiti e texture riconoscibili, mentre le configurazioni aerodisperse presentano distribuzioni caotiche, bordi sfumati e strutture altamente variabili: il modello potrebbe dover eseguire convoluzioni più profonde o attivare più neuroni per distinguere questi pattern, aumentando il costo computazionale dell'inferenza, risultando la differenza più marcata, in termini relativi, tra sistemi con e senza GPU.
Un'ultima considerazione
Per i nostri clienti, ottimizziamo sempre i processi di addestramento e inferenza per garantire le migliori prestazioni possibili, soprattutto su hardware con risorse limitate: in questo esperimento, abbiamo scelto di non applicare le nostre tecniche di ottimizzazione standard, ed è proprio questa scelta che ha portato a evidenziare in modo così marcato le differenze di performance tra hardware potente e TinyML.
Il nostro consiglio è quindi quello di rivolgersi sempre a esperti del settore: i nostri professionisti, con esperienza specifica nel campo del TinyML e dell'ottimizzazione di modelli, sono in grado di individuare le strategie più efficaci per massimizzare le prestazioni e ridurre i tempi di inferenza su hardware con risorse limitate, garantendo risultati ottimali anche in contesti applicativi complessi.
- Foto di zaya odeesho su Unsplash
- Foto di Pascal Meier su Unsplash