Tehnologije prepoznavanja lica postaju sve češće u današnjem svijetu. Njihova korist je od jednostavnije autentifikacije korisnika koji pokušava pristupiti određenom resursu sve do nadzora ljudi u dućanima ili okupljanjima. Starije tehnologije kao Eigenface su lako podložne napadima dok novije poput dubokih neuronskih mreža s 3D ulaznom slikom imaju veću pouzdanost i sigurnost te se koristi za važnije sigurnosne provjere.
Ključne riječi: računalni vid; napad; sigurnost; prepoznavanje lica
Dio prijenosnih telefona, prijenosnih računala te pametnih domova danas koristi neki oblik prepoznavanja lica. Česta svrha je osiguravanje određenih podataka ili prostorija od neautoriziranih ulazaka. Ova tehnologija se počela razvijati 1987., bila je jednostavna za implementaciju i izvršavanje na tadašnjim računalima. Danas postoje druge tehnike koje su pouzdanije i sigurnije, ali samim time postoje i novi sigurnosni problemi koji su se javili. Ovisno o važnosti i potrebi za sigurnost onoga što se štiti te fizičkim ograničenjima sustava odabire se najbolja opcija za svaki pojedinačni slučaj.
Potrebna su dva područja kako bi se mogao potvrditi identitet osobe. Prvo se mora obaviti detekcija lica koje samo traži lokaciju lica na određenom ulazu nakon čega se to lice može proslijediti u sljedeći korak koji je prepoznavanje. U tom koraku se dobije podatak tko je ta osoba ili koliko je slična nekoj osobi. U određenim slučajevima koliko je slična s više njih. Sljedeće poglavlje će se odnositi na česte metode detekcije i prepoznavanja.
Viola-Jones je ideja nastala 2001. koja radi tako što uzima kvadratne isječke (kvadrate točaka) slike u sekvenci te ih svrsta u određenu kategoriju unaprijed odabranih standardiziranih kvadrata. Spajanjem tih kvadrata se ponovno dobiva nova slika koja se koristi za daljnju obradu. Time se dobiva slika koja sadrži korisnije podatke za daljnju obradu. Nakon što imamo tu modificiranu sliku označavamo ručno spada li u sliku koja sadrži lice ili ne. Ako sadrži lice onda se u pozadini poveća važnost tih segmenata koji se trenutačno nalaze na slici i to se zapamti u bazu svih segmenata koje smo unaprijed definirali. Ponavljamo taj postupak sa što više slika koje sadrže i ne sadrže lica kako bi sustav naučio što je, a što nije lice. Nakon što dovoljno istreniramo sustav i postavimo ga u okruženje gdje ga želimo koristiti, svaki put kada ubacimo novu sliku on će prolaziti po segmentima slike dok ne naiđe na uzorak koji je prije naučio te će nam reći da je tamo lice. Ova metoda se može koristiti i za određivanje identiteta zasebnih korisnika, ali to zahtijeva podešavanje za svaku situaciju i stoga se ne radi često.
Ova metoda je podložna na napade gdje je pozadina složena i puna raznih uzoraka. Ako određena osoba pokušava pristupiti određenom resursu, a iza nje se nalazi mnogo ljudi ili netko drži komad papira s raznim uzorcima, tada ju algoritam možda neće moći detektirati te će se usporiti jer će vidjeti lica i tamo gdje ih nema.
Histogram of oriented gradients (HOG)
Ova metoda radi u početku slično kao Viola-Jones algoritam. Prvo se odabere veličina kvadrata točaka koji će se gledati u slici. Nakon toga se uzima točka po točka i računa se gradijent za svaku. Te točke se koriste za izračunavanje smjera u koji prije navedeni kvadrat točaka gleda. On se svrsta u hrpu s ostalim kvadratima koji su slični. Konačan rezultat ovog postupka je histogram s kojim možemo raditi usporedbe iz baze podataka. Kada se implementira sustav onda se ponavlja isti postupak na svakoj slici dok se ne nađe lice te se to prosljeđuje u sljedeći sustav koji obavlja raspoznavanje.
Ova metoda je ponovno podložna napadima gdje se stvara složena pozadina i onemogućava korištenje stvarnim korisnicima. Osim toga jako ili slabo osvjetljenje može uzrokovati nepouzdanost ako je nedovoljno osjetljiva kamera. Ispod je prikazana slika kako takav algoritam promijeni sliku za daljnju obradu.
You only look once (YOLO)
Za razliku od prošlih metoda ova metoda koristi neuronske mreže za detekciju lica. Slika se stavlja na ulaz neuronske mreže u obliku ulaznih točaka koje predstavljaju podatke. Ta mreža se sastoji od nekoliko slojeva gdje su neuroni međusobno povezani te se prilikom treniranja mreže na podatcima koji sadrže i ne sadrže lice oni prilagođavaju kako bi mogli kasnije dati lokacije lica na novim ulaznim slikama. Izlaz sadrži mnogo potencijalno detektiranih lica te kako bi se uštedjelo računalnog vremena u kasnijim koracima obavlja čišćenje od lokacija koje su ispod određenog praga pouzdanosti ili se preklapaju i stvaraju duplikate. Rezultat je popis lokacija i dimenzije četverokuta na slici koji vjerojatno sadrže lice.
Ova metoda je manje podložna vanjskim smetnjama od prijašnjih, ali zato postoje drugi napadi koji su učinkovitiji. Ako netko zna kako model radi, može stvoriti sliku koja neće imati lice na sebi, ali unatoč tome će algoritam vidjeti lice tamo. Ako postoji sustav koji treba prepoznati samo jedno lice i ne radi ako ih je više onda će takav napad raditi probleme.
Eigenfaces je najstariji algoritam raspoznavanja lica te radi na principu uspoređivanja lica korisnika s licima koji su u bazi. Unaprijed posebno pripremljena baza daje sličnost korisnikovog lica sa svim licima koja su spremljena te se dobije konačan rezultat za sve usporedbe. Ti dobiveni postotci sa svakim licem iz baze se koriste za stvaranje unikatne oznake za određenu osobu i svaki put kada će ta ista osoba biti analizirana će dobiti sličnu rezultantnu kombinaciju za svoje lice od lica iz baze podataka. Ispod je prikazano kako takvo zbrajanje izgleda.
Local Binary Pattern Histogram (LBPH) je sličan HOG algoritmu u pogledu da računa histograme točaka i dobivene rezultate dalje proizvoljnim algoritmom obrađuje kako bi se usporedili s licima spremljenim u bazi podataka. Najčešće se koristi tehnika strojnog učenja zvana SVM koja pokušava razdvojiti primjere (u ovom slučaju slike) u prostoru. Ova metoda je ponovno podložna smetnjama koje se nalaze u pozadini slike što se može iskoristiti za onesposobljavanje sustava.
Duboke neuronske mreže (engl. DNN) su popularna ideja koja se koristi za prepoznavanje lica od kada su prijenosna računala postala dovoljno brza za rješavanje potrebne računice. Rade na principu stvaranja mreže čvorova koji primaju ulaze i daju izlaz. Stvaranjem slojeva tih čvorova se dobiva mreža koja ako je dovoljno složena i ispravno namještena može služiti za prepoznavanje ljudskih lica između osoba. Postoji mnogo algoritama koji koriste ovu ideju kao pozadinsko rješenje. Neke od njih su Facebookov DeepFace, Googleov FaceNet, VGG Face kojeg su stvorile Sjedinjene Američke Države, te razne druge implementacije koje imaju manju točnost u ispravnoj klasifikaciji lica.
3D raspoznavanje je metoda koja primarno predstavlja prikupljanje prostornih podataka o licu, dok se sama analiza obavlja drugim načinima. Glavna prednost ove metode je što se ne može jednostavno zavarati pomoću isprintanih kopija nečijeg lica. Ovo rješenje se smatra trenutačno najsigurnijim jer dodavanjem dodatne dimenzije podataka se otežavaju napadi. Najveći nedostatak ove metode je što je često potreban dodatan hardver te je potrebno dodatno računanje za stvaranje 3D prikaza lica i obrade tih podataka.
Sve metode prepoznavanja lica imaju određene prednosti i nedostatke, svaka metoda ovisi o tome kakva je kvaliteta slike, smjer svjetla, koliko ljudi se nalazi u bazi za uspoređivanje te kako je orijentirano lice. Eigenface gubi preciznost ako je osvjetljenje lošije ili ako su lica malo okrenuta. LBPH također gubi preciznost ako je pripreman na podatcima iz drugih populacija koje imaju drugačije osnovne značajke lica. Za kraj duboke neuronske mreže imaju manje problema s navedenim nedostatcima, ali je potrebno mnogo podataka za njih istrenirati kako bi mogle ispravno prepoznati točne ljude. U tablici ispod su navedene preciznosti pojedinih algoritama na temelju najboljeg iz svake kategorije.
Metoda | Lice okrenuto prema kameri |
---|---|
Eigenfaces | 92.50% |
LBPH | 96.68% |
DNN | 99.63% |
DNN + 3D | 99.99% |
Prema podatcima istraživanja, 90% do 95% svih proboja u sigurnosti tvrtki je zbog korisničke greške. Iz tog razloga sve navedene metode mogu imati svoje pouzdanosti, ali zbog načina na koji rade čovjek je ponovno jedan element u lancu koji ne smije pogriješiti.
Navedene su i metode detekcije jer su one također slaba karika za svaki sustav. Ako je moguće preopteretiti sustav da neprihvatljivo sporo radi za određenog korisnika, korisnik može pokušati obaviti autentikaciju na manje siguran način. Umjesto da koristi takav sustav jer ne može detektirati lice zbog loše pozadine, korisnik može upisati PIN ili zaporku kako bi dobio pristup. Na taj način napadač može vidjeti te podatke i kasnije ne mora imati replicirano lice te osobe.
Napadi na samo prepoznavanje u sustavu mogu biti jednostavni ili složeniji ovisno o samom sustavu. Sve tri gore navedene metode osim 3D analize su podložne ovom napadu ako nema dodatnih provjera. Napad se sastoji od slikanja osobe i korištenjem isprintane slike jer algoritmi sami po sebi ne znaju razliku između slike i osobe u 2D. Sustavi koji zahtijevaju nekoliko izraza lica ponovno mogu biti prevareni ako se umjesto papira koristi ekran koji pušta snimku osobe koja radi potrebne izraze lica. Dodavanjem termalnih kamera se ovakav oblik napada može otežati, ali i dalje ne osigurava potpunu sigurnost.
Korištenjem više kamera ili dubinskih kamera se može dodati treća dimenzija koja se koristi za provjeru identiteta. Na taj način se osigurava sustav od isprintanih slika ili ekrana. Način na koji se može zaobići ovakav sustav je stvaranjem kvalitetnih maski, ali je to složenija procedura.
Najsigurniji sustav bi sadržavao dubinske kamere, termalne kamere, te dodatne provjere kao što su biometrija otiskom prsta i glasa uz fizičku iskaznicu ili ključ. Ovim dodatcima bi se većina sustava mogla osigurati te biti dovoljno sigurna za pohranjivanje čak i osjetljivijih podataka ili resursa.
Razvijale su se mnoge metode koje služe za prepoznavanje ljudi te se primjećuje kako su određene metode kao duboke neuronske mreže bolje od starijih algoritama. Duboke neuronske mreže su ujedno najotpornije na promjene te se najbolje prilagođavaju svakom slučaju. Sve metode su podložne nekoj vrsti napada te niti jedna nije u potpunosti sigurna u slučaju ako napadač ima dovoljno resursa i vremena. Kako bi se stvorio trenutačno najbolji sustav koji radi samo pomoću raspoznavanja lica, potrebno bi bilo koristiti dubinske kamere u kombinaciji s infracrvenim senzorima da provjeravaju je li određena osoba stvarna te je li to ona koja ima pristup onome što želimo.
[1] Fares Jalled, Moscow Institute of Physics & Technology, Department of Radio Engineering & Cybernetics: Face Recognition Machine Vision System Using Eigenfaces, https://arxiv.org/pdf/1705.02782.pdf
[2] https://www.sciencedirect.com/topics/computer-science/3d-face-recognition
[3] https://www.researchgate.net/publication/343934888_Comparisons_of_Facial_Recognition_Algorithms_Through_a_Case_Study_Application
[4] https://support.apple.com/en-us/102381
[5] https://www.hutsix.io/human-error-in-information-security/
[6] https://www.analyticsvidhya.com/blog/2019/09/feature-engineering-images-introduction-hog-feature-descriptor/
[7] https://www.v7labs.com/blog/yolo-object-detection
[8] https://towardsdatascience.com/understanding-face-detection-with-the-viola-jones-object-detection-framework-c55cc2a9da14