Cammini e ti Riconosco: Come l’Intelligenza Artificiale Impara a Identificarci dal Passo (Grazie all’Ensemble Learning!)
Ciao a tutti! Oggi voglio parlarvi di qualcosa che mi affascina da sempre: come le macchine possono imparare a riconoscerci in modi sempre più sofisticati. Non parlo solo di volti o impronte digitali, ma di qualcosa di molto più sottile e, per certi versi, unico: il nostro modo di camminare. Esatto, sto parlando del riconoscimento dell’andatura (o *gait recognition*, per gli amici anglofoni).
L’arte di riconoscere dal passo
Pensateci un attimo: ognuno di noi ha un suo stile nel muoversi, una cadenza, un’oscillazione delle braccia, una postura che ci contraddistingue. L’idea alla base del riconoscimento dell’andatura è proprio questa: usare queste caratteristiche uniche, quasi una firma biometrica comportamentale, per identificare le persone. Il bello è che funziona anche a distanza, con immagini a bassa risoluzione e, soprattutto, senza che la persona debba fermarsi o collaborare attivamente. Immaginate le potenzialità per la sorveglianza video, la sicurezza, ma anche per applicazioni mediche o sportive!
Le sfide del mondo reale
Ovviamente, non è tutto rose e fiori. Il modo in cui camminiamo può cambiare parecchio. Basta cambiare scarpe, indossare un cappotto pesante, portare una borsa o semplicemente variare la velocità, e il gioco si complica. Anche l’angolazione da cui viene ripresa la camminata fa una bella differenza. La vera sfida, quindi, è riuscire a estrarre le caratteristiche *invarianti* dell’andatura, quelle che rimangono costanti nonostante tutte queste variazioni.
Negli anni sono state proposte diverse tecniche. Una molto usata si basa sulla creazione di un’immagine che “riassume” un intero ciclo di camminata, chiamata Gait Energy Image (GEI). È come una media delle silhouette della persona mentre cammina. Recentemente, poi, le Reti Neurali Convoluzionali (CNN) hanno dato una spinta enorme alle prestazioni, imparando a riconoscere pattern complessi direttamente dalle immagini.
Il nostro asso nella manica: dividere per comandare
Qui entra in gioco il nostro approccio. Abbiamo notato che metodi precedenti, basati sull’analisi delle singole parti del corpo (gambe, braccia, tronco…), davano buoni risultati. Dopotutto, ogni parte si muove in modo diverso e contribuisce all’identificazione. Allora ci siamo detti: perché non potenziare questa idea?
Nel nostro studio, abbiamo preso le immagini GEI e le abbiamo divise orizzontalmente in cinque parti. L’idea è semplice: analizzare ogni “fetta” del corpo separatamente per catturare meglio i dettagli locali del movimento. Ma non ci siamo fermati qui.
La forza del gruppo: l’Ensemble Learning
Per rendere l’analisi di ogni parte ancora più robusta, abbiamo tirato fuori un’altra carta: l’Ensemble Learning. Cos’è? Immaginate di dover prendere una decisione importante. Chiedereste consiglio a una sola persona o a un gruppo di esperti? L’Ensemble Learning fa più o meno lo stesso: invece di affidarsi a un’unica rete neurale (CNN) per analizzare una parte del corpo, ne addestra diverse (nel nostro caso, 5 per ogni parte) su versioni leggermente diverse dei dati (usando tecniche come il *k-fold cross-validation* o il *bootstrap aggregating*).
Perché farlo?
- Riduce il rischio di errori: Se un modello “sbaglia mira”, gli altri possono compensare. La media delle previsioni è spesso più affidabile.
- Evita “vicoli ciechi”: Un singolo modello potrebbe bloccarsi su una soluzione non ottimale. Più modelli esplorano meglio lo spazio delle possibili soluzioni.
- Trova soluzioni migliori: Combinando diversi punti di vista, si può arrivare a una comprensione più completa e accurata dei dati.
Una volta ottenute le analisi dalle diverse CNN per una specifica parte del corpo, entra in gioco il nostro MetaModel (MM). Questo speciale modello ha il compito di “fondere” insieme le informazioni provenienti dall’ensemble, distillando le caratteristiche più discriminanti e potenti per quella parte. È come un direttore d’orchestra che armonizza i diversi strumenti!
Eliminare il superfluo: la rimozione delle parti
C’è un altro problema comune: cosa succede se una persona indossa un cappotto lungo o porta una borsa voluminosa? Queste variazioni possono “mascherare” il movimento naturale di alcune parti del corpo, confondendo l’algoritmo. Abbiamo pensato anche a questo!
Abbiamo introdotto un processo di rimozione delle parti. In pratica, confrontiamo l’immagine della persona che cammina con la variazione (es. con la borsa) con un’immagine della stessa persona che cammina “normalmente”. Calcoliamo la differenza assoluta tra le due immagini: le aree con differenze maggiori sono quelle più influenzate dalla variazione. Se la differenza in una delle nostre cinque parti orizzontali supera una certa soglia (che abbiamo definito manualmente), semplicemente… la ignoriamo! La escludiamo sia dalla fase di addestramento che da quella di riconoscimento. In questo modo, ci concentriamo solo sulle parti del corpo che mostrano l’andatura “pulita”. Geniale, no?
Alla prova dei fatti: i risultati
Naturalmente, le belle idee devono essere testate sul campo. Abbiamo messo alla prova il nostro metodo su tre dataset molto conosciuti e impegnativi: CASIA-B (con variazioni di vista, borse e cappotti), CASIA-C (immagini termiche a infrarossi con diverse velocità e borse) e Outdoor-Gait (scene complesse all’aperto con diverse condizioni di abbigliamento e sfondi).
I risultati sono stati davvero incoraggianti! Abbiamo confrontato diverse configurazioni: dividere in 4 o 5 parti, usare o meno l’ensemble learning, applicare o meno la rimozione delle parti.
Cosa ci dicono i numeri?
Ecco alcuni punti salienti:
- 5 è meglio di 4: Dividere il corpo in 5 parti orizzontali ha generalmente dato risultati migliori rispetto a 4, specialmente con variazioni come i cappotti (probabilmente perché “isola” meglio la parte influenzata).
- La rimozione delle parti funziona: Escludere le parti “disturbate” da borse o cappotti ha migliorato significativamente l’accuratezza, a volte con incrementi superiori al 10%!
- L’Ensemble Learning fa la differenza: L’uso dell’ensemble learning ha quasi sempre potenziato le prestazioni rispetto all’analisi con un singolo modello per parte. Sia il k-fold che il bootstrap aggregating si sono dimostrati efficaci, con leggere differenze a seconda della variazione.
- Combinazione vincente: L’approccio che combina 5 parti, rimozione delle parti influenzate ed ensemble learning (che abbiamo chiamato 5part + rmv + Ens) ha spesso ottenuto le performance migliori, superando diversi metodi allo stato dell’arte, sia quelli basati sull’aspetto (appearance-based) che quelli basati sul modello dello scheletro (model-based), soprattutto nei dataset con vista costante (CASIA-C, Outdoor-Gait) e nelle condizioni “normali” o “con borsa” del CASIA-B.
Ad esempio, su CASIA-B, rispetto a metodi model-based come GaitGraph, abbiamo visto miglioramenti del 4.6% in condizioni normali e del 9.5% con la borsa! Su CASIA-C, il nostro metodo con ensemble learning ha raggiunto un’accuratezza del 98.8% (addestrato su 62 soggetti), superando altri approcci recenti. Anche su Outdoor-Gait, nonostante la complessità delle scene, l’ensemble learning ha portato a un miglioramento generale.
Certo, ci sono metodi specificamente progettati per estrarre caratteristiche locali in modo molto sofisticato (come GaitPart o GaitGL) che su CASIA-B, in alcune condizioni (come quella con il cappotto), ottengono ancora risultati leggermente superiori. Il nostro approccio, però, ha il vantaggio di essere concettualmente più semplice e generale, dimostrando chiaramente il beneficio fondamentale dell’ensemble learning applicato all’analisi per parti.
Guardando al futuro
Questo lavoro dimostra come combinare l’analisi locale delle parti del corpo con la potenza dell’ensemble learning e un pizzico di furbizia (la rimozione delle parti) possa portare a sistemi di riconoscimento dell’andatura più robusti ed efficaci. Il nostro MetaModel, che fonde le caratteristiche in modo intelligente, si è rivelato particolarmente utile.
Cosa ci riserva il futuro? Sicuramente si può migliorare ancora. Integrare nel nostro approccio moduli più avanzati, magari capaci di modellare anche le relazioni tra le diverse parti del corpo o di catturare informazioni globali (come fanno alcuni metodi SOTA), potrebbe portare a performance ancora più strabilianti, rendendo questi sistemi sempre più affidabili per le applicazioni del mondo reale.
Il cammino (è proprio il caso di dirlo!) verso un riconoscimento biometrico perfetto è ancora lungo, ma ogni passo avanti, come questo, ci avvicina alla meta!
Fonte: Springer