Un nuovo algoritmo consentirà di riconoscere meglio i gesti delle mani

I recenti progressi tecnologici hanno reso il riconoscimento gestuale un'opzione interessante. Tuttavia, i metodi attuali sono ostacolati da limitazioni come elevata complessità computazionale e bassa velocità, ma un nuovo algoritmo consentirà miglioramenti consistenti.

Avatar di Alessandro Crea

a cura di Alessandro Crea

I comandi vocali sono un esempio importante che ha trovato la sua strada nei moderni smartphone e assistenti virtuali, permettendoci di interagire e controllare i dispositivi attraverso il parlato. I gesti delle mani costituiscono un'altra importante modalità di comunicazione umana che potrebbe essere adottata per le interazioni uomo-computer. I recenti progressi nei sistemi di telecamere, nell'analisi delle immagini e nell'apprendimento automatico hanno reso il riconoscimento dei gesti basato sull'ottica un'opzione più attraente nella maggior parte dei contesti rispetto agli approcci basati su sensori indossabili o guanti dati. Tuttavia, i metodi attuali sono ostacolati da una varietà di limitazioni, tra cui elevata complessità computazionale, bassa velocità, scarsa precisione o un basso numero di gesti riconoscibili.

Per affrontare questi problemi, un team guidato da Zhiyi Yu della Sun Yat-sen University, in Cina, ha recentemente sviluppato un nuovo algoritmo di riconoscimento dei gesti delle mani che raggiunge un buon equilibrio tra complessità, precisione e applicabilità. Come spiegato nel loro articolo, che è stato pubblicato sul Journal of Electronic Imaging,il team ha adottato strategie innovative per superare le sfide chiave e realizzare un algoritmo che può essere facilmente applicato nei dispositivi a livello di consumatore.

Una delle caratteristiche principali dell'algoritmo è l'adattabilità a diversi tipi di mano. L'algoritmo tenta innanzitutto di classificare il tipo di mano dell'utente come sottile, normale o largo in base a tre misurazioni che tengono conto delle relazioni tra larghezza del palmo, lunghezza del palmo e lunghezza del dito. Se questa classificazione ha esito positivo, i passaggi successivi del processo di riconoscimento dei gesti della mano confrontano solo il gesto di input con campioni memorizzati dello stesso tipo di mano.

Un altro aspetto chiave del metodo del team è l'uso di una "funzione di scorciatoia" per eseguire una fase di prericonoscimento. Mentre l'algoritmo di riconoscimento è in grado di identificare un gesto di input su nove gesti possibili, confrontare tutte le caratteristiche del gesto di input con quelle dei campioni memorizzati per tutti i gesti possibili richiederebbe molto tempo. Per risolvere questo problema, la fase di prericonoscimento calcola un rapporto tra l'area della mano per selezionare i tre gesti più probabili dei possibili nove.

Questa semplice funzione è sufficiente per restringere il numero di gesti candidati a tre, di cui il gesto finale viene deciso utilizzando un'estrazione di funzionalità molto più complessa e ad alta precisione basata su "Momenti invarianti". Il team ha testato il proprio algoritmo sia in un processore PC commerciale che in una piattaforma FPGA utilizzando una fotocamera USB. Avevano 40 volontari che facevano i nove gesti delle mani più volte per costruire la libreria di campioni e altri 40 volontari per determinare l'accuratezza del sistema.

Nel complesso, i risultati hanno mostrato che l'approccio proposto potrebbe riconoscere i gesti delle mani in tempo reale con una precisione superiore al 93%, anche se le immagini dei gesti di input sono state ruotate, tradotte o ridimensionate. Secondo i ricercatori, il lavoro futuro si concentrerà sul miglioramento delle prestazioni dell'algoritmo in cattive condizioni di fulmine e sull'aumento del numero di gesti possibili. Il riconoscimento dei gesti ha molti campi di applicazione promettenti e potrebbe aprire la strada a nuovi modi di controllare i dispositivi elettronici.