Programmazione.it
Greenpeace
Gli algoritmi di machine learning in OpenCV: face detection e Haar classifier
Scritto da Rocco Galati il 19-04-2011 ore 07:43
Così come avviene in molti altri ambiti di ricerca, anche gli studi sulla computer vision danno luogo a teorie che possono sconvolgere i vecchi metodi facendone subentrare di nuovi in poco tempo. Questo aspetto, unito alla vastità del campo di analisi, porta a rendere potenzialmente antiquata l'implementazione di una tecnica specifica in OpenCV rispetto, magari, ad algoritmi che comprendono funzionalità più generiche. Quindi, in molti casi, il fatto di impiegare una tecnica datata non è una garanzia di affidabilità e può addirittura rilevarsi una scelta sbagliata.

Fortunatamente, il metodo classico del riconoscimento dei volti presente nelle librerie OpenCV sin dalle prime versioni rilasciate è esente da questo problema, perché è ormai diventato lo strumento base che permette di offrire i migliori risultati con la maggior parte delle applicazioni. Il fatto di essere basato sull'algoritmo di boosting e di essere stato scritto in modo tale da poter essere utilizzato anche per rilevare altri tipi di elementi, oltre al viso, ha permesso di valutarne le prestazioni in un numero sterminato di situazioni.

Le librerie OpenCV implementano una versione della tecnica di face detection, dapprima sviluppata da Viola-Jones — basata sull'algoritmo di AdaBoost e quindici volte più veloce di quello tradizionale — e poi estesa da Lienhart-Maydt per aggiungere il metodo delle caratteristiche diagonali.

La tecnica così realizzata prende il nome di Haar classifier, perché utilizza le forme d'onda Haar, simili a delle onde quadre riscalate, che consentono di aggiungere o sottrarre regioni rettangolari prima di elaborare il risultato.

La peculiarità dell'algoritmo che esegue la tecnica consiste nel riuscire a adattare il metodo per il riconoscimento di più oggetti, anche nella stessa sequenza, a seguito di un opportuno training guidato composto da un set di campioni.
Copyright Programmazione.it® 1999-2005. Tutti i diritti riservati. Testata giornalistica iscritta col n. 569 presso il Tribunale di Milano in data 14/10/2002.