Viola -Jones -objektintunnistusmenetelmä on algoritmi , jonka avulla voit havaita kuvissa olevat kohteet reaaliajassa. Sen ehdottivat Paul Viola ja Michael Jones vuonna 2001. [1] [2] Vaikka algoritmi tunnistaa kuvissa olevat kohteet , kasvojentunnistus oli sen luomisen päätavoite.
Algoritmin käyttämät ominaisuudet perustuvat suorakaiteen muotoisten alueiden pikselien summaukseen. Ominaisuudet itsessään muistuttavat jossain määrin Haarin ominaisuuksia , joita käytettiin myös aiemmin kuvien kohteiden etsimiseen. [3] Violan ja Jonesin ehdottamat ominaisuudet sisältävät kuitenkin enemmän kuin yhden suorakaiteen muotoisen alueen ja ovat hieman monimutkaisempia. Oikealla olevassa kuvassa on 4 erilaista ominaisuutta. Kunkin ominaisuuden arvo lasketaan valkoisten suorakulmioiden pikselien summana, josta vähennetään mustien alueiden pikselien summa. Suorakaiteen muotoiset ominaisuudet ovat primitiivisempiä kuin ohjattava suodatin[ selventää ] , ja vaikka ne ovat herkkiä kuvien pysty- ja vaakasuuntaisille piirteille, niiden hakutulokset ovat karkeampia. Kuitenkin tallennettaessa kuvaa integraalimuotoon ( integraalikuva , kuvan jokainen pikseli sisältää kaikkien annetun pikselien summan vasemmalla ja yläpuolella), suorakaiteen muotoisen piirteen tarkistus tietyssä kohdassa suoritetaan vakiona. aikaa, mikä on niiden etu tarkempiin vaihtoehtoihin verrattuna. Jokainen käytettyjen ominaisuuksien suorakaiteen muotoinen alue on aina toisen suorakulmion vieressä, joten 2 suorakulmion ominaisuuden laskenta koostuu 6 pääsystä integraalitaulukkoon, ominaisuudelle, jossa on 3 suorakulmiota - 8:sta, 4 suorakulmiosta - 9:stä.
Ominaisuuden laskennan nopea nopeus ei kompensoi merkittävää määrää erilaisia mahdollisia ominaisuuksia. Esimerkiksi vakioominaisuuden koolla 24×24 pikseliä on mahdollista 162 tuhatta [4] erilaista ominaisuutta, ja niiden laskeminen voi kestää kauan. Siksi Viola-Jones-algoritmi käyttää AdaBoost -oppimisalgoritmin muunnelmaa sekä ominaisuuksien valinnassa että luokittimien virittämisessä.