Nel mese di Maggio si è tenuto presso la Direzione Generale di Site il seminario “Gli algoritmi di Face Recognition: studi ed applicazione di un modello basato su software Open Source”.
Il seminario rappresenta l’atto conclusivo di un’attività di ricerca svolta in collaborazione con l’Università Politecnica delle Marche.
Cosa si intende per Face Recognition?
Il riconoscimento facciale è una tematica su cui la ricerca scientifica è impegnata da più di un trentennio. Si tratta di una tecnica di intelligenza artificiale, utilizzata in biometria per identificare o verificare l’identità di una persona a partire da una o più immagini che la ritraggono.
La ricerca effettuata durante la collaborazione tra il gruppo di ricerca coordinato dal Prof. Dragoni presso il Dipartimento di Ingegneria dell’Informazione dell’Università Politecnica delle Marche e Site Spa ha seguito lo svilupparsi dello stato dell’arte accademico per il riconoscimento facciale. Da un’iniziale analisi degli algoritmi classici (Eigenfaces, Fisherfaces e LBPH) si è passati allo studio sia dello stato dell’arte delle CNN (Convolutional Neural Network) per il riconoscimento di volti, includendo esperimenti con librerie commerciali basate su cloud (Face++). La ricerca si è conclusa con la realizzazione di un prototipo di applicazione per il riconoscimento facciale, perfezionata grazie al lavoro di due tesisti triennali. L’applicazione, basata su una libreria “open source” di CNN (Convolutional Neural Network) per il riconoscimento facciale, permette l’identificazione di soggetti all’interno di un database di identità.
A seguito dei risultati ottenuti negli esperimenti e dell’individuazione degli algoritmi messi a disposizione da “OpenFace” che emula l’architettura di Google FaceNet e fornisce una Convolutional Neural Network pre-addestrata per il calcolo di rappresentazioni di volti in immagini, è stata realizzata un’applicazione web per il riconoscimento facciale basata su CNN. L’applicazione, frutto dell’integrazione di molteplici componenti descritti nel corso del seminario tenuto in Site, permette di:
• addestrare classificatori di volti mediante la raccolta di frame provenienti da una webcam.
• addestrare classificatori mediante archivi .zip di immagini, l’archivio viene poi organizzato in directory contenenti ognuna i diversi soggetti da riconoscere.
• analizzare, al fine di riconoscere identità, i frame provenienti da una webcam in tempo reale.
• analizzare, al fine di riconoscere identità, i frame di un video preregistrato.
Come si è conclusa la ricerca e quali risultati sono stati ottenuti?
La ricerca sul riconoscimento facciale si è conclusa con la realizzazione di un prototipo web-based, basato su OpenFace, per il riconoscimento facciale da video e da webcam. L’applicazione sviluppata permette di riconoscere volti, utilizzando un classificatore,quest’ultimo sarà tanto più accurato nell’identificare i volti quanto più sarà “addestrato”. Per addestramento si intende il numero di immagini elaborate per ogni identità da riconoscere. Va specificato che, in caso di numero elevato di soggetti da riconoscere (ad esempio 100 con 9 immagini di addestramento ciascuno), l’accuratezza media di classificazione, cioè il numero di soggetti riconosciuti sul numero di soggetti totali presentati è intorno al 91%.
La qualità delle immagini influenza l’accuratezza della classificazione, come pure il numero di immagini per soggetto usate per l’addestramento.
Esistono possibili ricerche future?
Due direzioni di ricerca future sono state individuate: l’analisi comportamentale automatica da sequenze video e l’analisi vocale intesa come riconoscimento dell’identità di un soggetto dall’analisi audio.