V tej objavi na blogu si bomo na preprost in enostaven način ogledali načela in procese, na katerih temelji prepoznavanje človeških obrazov z računalniki.
Katera načela so podlaga za prepoznavanje obrazov?
Verjetno ste se kot otrok vsaj enkrat igrali igro, v kateri ste morali dokončati človeški obraz. V tej igri najprej izberete obliko obraza, nato pričesko, oči, nos in usta enega za drugim ter jih postavite na obraz. Z preklapljanjem med različnimi pričeskami, očmi, nosovi in usti lahko ustvarite želeni obraz. Način, kako računalniki prepoznavajo in primerjajo obraze, se od tega ne razlikuje veliko. Računalniki prepoznajo in shranijo obrazne poteze; ko je vnesena nova fotografija obraza, jo primerjajo s shranjenimi značilnostmi, da ugotovijo, kdo je oseba.
Nedavni primer tehnologije prepoznavanja obrazov, ki je lahko dostopna, je aplikacija za prepoznavanje obrazov (App). Te aplikacije predhodno izvlečejo in shranijo ključne značilnosti – kot so konture obraza, oči, nos in usta – iz fotografij znanih osebnosti. Kasneje, ko kamera zajame obraz osebe, aplikacija na enak način izvleče obrazne poteze in jih primerja s shranjenimi obraznimi potezami znanih osebnosti, da prepozna in prikaže osebo, ki se najbolj ujema.
Kako računalnik prepozna obraz?
Zdaj pa si poglejmo postopek prepoznavanja obrazov v računalniku. Prepoznavanje obrazov je sestavljeno iz štirih glavnih faz: vnos, zaznavanje obrazov, ekstrakcija značilnosti in primerjava.
V vhodni fazi se posamezen okvir fotografije ali videoposnetka prek vhodne naprave prenese v računalnik. Na splošno velja, da višja kot je ločljivost vhodne naprave in višje kot je število sličic na sekundo (FPS), natančneje je mogoče prepoznati obraze. To načelo je podobno temu, kako lahko oseba z dobrim vidom natančneje prepozna obraz nekoga, ki stoji daleč stran.
V fazi zaznavanja obrazov sistem najprej preveri, ali je obraz prisoten na vhodni fotografiji ali videoposnetku. V ta namen prepozna obris obraza in ključne značilnosti, kot so oči, nos in usta. Čeprav se trenutno uporabljajo različne tehnike zaznavanja obrazov, se bomo tukaj osredotočili na reprezentativno metodo zaznavanja, podobno Haarjevi.
Haarjeva metoda zaznavanja uporablja Haarjeve valove. Valovec je preprost pravokoten vzorec, sestavljen iz črnih in belih območij. Ta črno-bela območja se uporabljajo za prepoznavanje območij na sliki, kjer se pojavljajo razlike v svetlosti. Z uporabo valov različnih velikosti in oblik po celotni vhodni sliki ali videoposnetku in nato ohranjanjem le mest, kjer je razlika v svetlosti med črnimi in belimi območji pomembna, lahko sistem učinkovito zazna obris obraza in ključne obrazne poteze, kot so oči, nos, usta in obrvi. Poleg tega ta postopek omogoča tudi pridobivanje informacij o položaju obraznih potez.
Na primer, pri pridobivanju informacij o očeh so črna območja valovanja postavljena tako, da ustrezajo relativno temnim območjem – kot je zenica – medtem ko bela območja ustrezajo svetlim območjem, kot je koža. Z uporabo teh razlik v svetlosti je mogoče učinkovito zaznati položaj in obliko oči.
Kako se izluščijo obrazne poteze?
Ko je faza zaznavanja obrazov končana, sistem odloči, ali bo nadaljeval s fazo ekstrakcije značilnosti.
V fazi ekstrakcije značilnosti se obrazne poteze izluščijo, da se v celoti izkoristijo obrazne komponente, identificirane med fazo zaznavanja obrazov. Za razliko od faze zaznavanja obrazov ta postopek vključuje korak predobdelave. Ker se kot vrtenja, velikost in intenzivnost osvetlitve obrazov razlikujejo glede na vsako fotografijo ali videoposnetek, se izvede postopek normalizacije, da se čim bolj standardizirajo. Poleg tega se lahko barvne fotografije ali videoposnetki po potrebi pretvorijo v črno-bele slike.
Na primer, izvirna fotografija se pretvori v sivinske odtenke, nato se obreže samo območje obraza in se mu spremeni velikost na enotno velikost, za popravek svetlosti pa se izvede izenačevanje histograma. Z uporabo informacij o položaju obraznih komponent, pridobljenih med fazo zaznavanja obrazov, se iz fotografij ali videoposnetkov, ki so bili podvrženi tej predobdelavi, izluščijo obrazne poteze.
Kako se uporabljajo izvlečene obrazne poteze?
Med fazo primerjave se informacije o teh izvlečenih komponentah obraza shranijo v podatkovno bazo (DB) ali pa se primerjajo z obstoječimi podatki o obrazu, da se ugotovi najboljše ujemanje.
Preučili smo postopek računalniškega prepoznavanja obrazov. Še pred nekaj desetletji se je ideja o računalniku, ki razlikuje med ljudmi, zdela kot tehnologija, ki je daleč od resničnosti. Vendar pa se s hitrim napredkom računalniške strojne in programske opreme ter tehnologij umetne inteligence prepoznavanje obrazov zdaj pogosto uporablja na različnih področjih – vključno s pametnimi telefoni in prenosniki, pa tudi pri nadzoru dostopa, finančnih storitvah in varnosti na letališčih. Danes tehnologija, ki računalnikom omogoča prepoznavanje človeških obrazov, ni več zgodba prihodnosti, temveč je postala tehnologija, ki je naravno vključena v naše vsakdanje življenje.