Viola -Jones objektgenkendelsesmetoden er en algoritme , der giver dig mulighed for at detektere objekter i billeder i realtid. Det blev foreslået af Paul Viola og Michael Jones i 2001. [1] [2] Selvom algoritmen kan genkende objekter i billeder, var ansigtsgenkendelse hovedmålet, da den blev oprettet.
De funktioner, der bruges af algoritmen, er baseret på summeringen af pixels fra rektangulære områder. Selve funktionerne minder en del om Haar-træk , som også tidligere blev brugt til at søge efter objekter i billeder. [3] De funktioner, som Viola og Jones har foreslået, indeholder dog mere end én rektangulær region og er noget mere komplekse. Illustrationen til højre viser 4 forskellige typer funktioner. Værdien af hver funktion beregnes som summen af pixels i de hvide rektangler, hvorfra summen af pixels i de sorte områder trækkes fra. Rektangulære funktioner er mere primitive end et styrbart filter[ klargør ] , og selvom de er følsomme over for lodrette og vandrette træk i billeder, er deres søgeresultater grovere. Men når et billede lagres i et integreret format ( integral billede , hver pixel af billedet indeholder summen af alle pixels til venstre og over den givne), udføres kontrollen af et rektangulært element på en bestemt position konstant tid, hvilket er deres fordel i forhold til mere præcise muligheder. Hvert rektangulært område i de anvendte funktioner støder altid op til et andet rektangel, så beregningen af et element med 2 rektangler består af 6 adgange til det integrerede array, for et element med 3 rektangler - fra 8, med 4 rektangler - fra 9.
Funktionsberegningens høje hastighed kompenserer ikke for et betydeligt antal forskellige mulige funktioner. For eksempel, med en standardfunktionsstørrelse på 24×24 pixels, er 162 tusind [4] forskellige funktioner mulige, og deres beregning kan tage lang tid. Derfor bruger Viola-Jones-algoritmen en variation af AdaBoost- læringsalgoritmen , både til valg af funktioner og til tuning af klassificeringsapparater.