Selles blogipostituses vaatleme lihtsat ja arusaadavat põhimõtet ja protsessi, mille alusel arvutid inimnägusid tuvastavad.
Millised on näotuvastuse põhimõtted?
Tõenäoliselt oled lapsena vähemalt korra mänginud mängu, kus pidi looma inimnäo. Selles mängus valid esmalt näokuju, seejärel valid ükshaaval soengu, silmad, nina ja suu ning asetad need näole. Erinevate soengute, silmade, ninade ja suude vahel vahetades saad luua soovitud näo. Arvutite nägude äratundmise ja võrdlemise viis ei erine sellest kuigi palju. Arvutid tuvastavad ja salvestavad näojooni; kui sisestatakse uus näofoto, võrdlevad nad seda salvestatud tunnustega, et teha kindlaks, kes inimene on.
Hiljutine ja hõlpsasti ligipääsetav näide näotuvastustehnoloogiast on näotuvastusrakendus. Need rakendused eraldavad ja salvestavad kuulsuste fotodelt põhijooned – näiteks näokontuurid, silmad, ninad ja suud. Hiljem, kui inimese nägu kaameraga jäädvustatakse, eraldab rakendus samal viisil näojooned ja võrdleb neid kuulsuste salvestatud näojoontega, et tuvastada ja kuvada inimene, kes kõige paremini vastab.
Kuidas arvuti näo ära tunneb?
Nüüd uurime arvuti näotuvastusprotsessi. Näotuvastus koosneb neljast põhietapist: sisestamine, näotuvastus, tunnuste eraldamine ja võrdlemine.
Sisestusfaasis edastatakse fotolt või videolt üks kaader sisendseadme kaudu arvutisse. Üldiselt, mida kõrgem on sisendseadme eraldusvõime ja mida suurem on kaadrite arv sekundis (FPS), seda täpsemalt saab nägusid tuvastada. See põhimõte sarnaneb sellega, kuidas hea nägemisega inimene suudab täpsemalt ära tunda kaugel seisva inimese nägu.
Näo tuvastamise etapis kontrollib süsteem kõigepealt, kas sisendfotol või -videol on nägu. Selleks tuvastab see näo kontuuri ja põhijooned, nagu silmad, nina ja suu. Kuigi praegu kasutatakse mitmesuguseid näo tuvastamise tehnikaid, keskendume siinkohal tüüpilisele Haari-laadsele tuvastusmeetodile.
Haari-laadne tuvastusmeetod kasutab Haari lainekesi. Laineke on lihtne ristkülikukujuline muster, mis koosneb mustadest ja valgetest piirkondadest. Neid mustvalgeid piirkondi kasutatakse pildil alade tuvastamiseks, kus esinevad heleduse erinevused. Rakendades erineva suuruse ja kujuga lainekesi kogu sisendpildile või -videole ning seejärel säilitades ainult need kohad, kus mustade ja valgete piirkondade heleduse erinevus on märkimisväärne, suudab süsteem tõhusalt tuvastada näo kontuuri ja peamised näojooned, nagu silmad, nina, suu ja kulmud. Lisaks võimaldab see protsess ka näojoonte asukohainfo eraldamist.
Näiteks silmade kohta teabe hankimisel paigutatakse lainepikkuse mustad piirkonnad nii, et need vastaksid suhteliselt tumedatele aladele – näiteks pupillile –, samas kui valged piirkonnad vastavad heledatele aladele, näiteks nahale. Neid heleduse erinevusi kasutades saab silmade asukohta ja kuju tõhusalt tuvastada.
Kuidas näojooni ekstraheeritakse?
Kui näotuvastus on lõppenud, otsustab süsteem, kas jätkata tunnuste eraldamise etappi.
Näotunnuste eraldamise etapis eraldatakse näojooned, et näotuvastuse etapis tuvastatud näokomponente täielikult ära kasutada. Erinevalt näotuvastuse etapist hõlmab see protsess eeltöötluse etappi. Kuna nägude pöördenurk, suurus ja valgustuse intensiivsus on iga foto või video puhul erinevad, viiakse nende võimalikult suureks standardiseerimiseks läbi normaliseerimisprotsess. Lisaks saab värvifotosid või -videoid vastavalt vajadusele mustvalgeteks piltideks teisendada.
Näiteks teisendatakse algne foto halltooniks, seejärel kärbitakse ja muudetakse ühtlase suurusega ainult näoosa ning heleduse korrigeerimiseks teostatakse histogrammi võrdsustamine. Näotuvastuse etapis saadud näokomponentide asukohateabe abil eraldatakse selle eeltöötluse läbinud fotodelt või videotelt näojooned.
Kuidas ekstraheeritud näojooni kasutatakse?
Võrdlusetapis salvestatakse nende ekstraheeritud näokomponentide teave andmebaasi (DB) või võrreldakse seda olemasolevate näoandmetega, et leida parim vaste.
Oleme nüüd uurinud arvutipõhise näotuvastuse protsessi. Veel paar aastakümmet tagasi tundus idee arvutist, mis suudab inimesi eristada, reaalsusest kaugel asuva tehnoloogiana. Arvutiriistvara, tarkvara ja tehisintellekti tehnoloogiate kiire arenguga on näotuvastust nüüdseks laialdaselt kasutatud erinevates valdkondades – sealhulgas nutitelefonides ja sülearvutites, aga ka juurdepääsukontrollis, finantsteenustes ja lennujaamade turvalisuses. Tänapäeval ei ole tehnoloogia, mis võimaldab arvutitel inimeste nägusid tuvastada, enam tulevikulugu, vaid sellest on saanud tehnoloogia, mis on loomulikult integreeritud meie igapäevaellu.