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.