14 2. Wykrywanie twarzy W rozdziale tym pokrótce omówiony zostanie problem detekcji twarzy. Mimo, i głównym tematem tej pracy jest rozpoznawanie twarzy, detekcja jest zadaniem ci le powi zanym z rozpoznawaniem, jako e prawidłowa lokalizacja obszaru obrazu zawieraj cego twarz jest warunkiem koniecznym do prawidłowej klasyfikacji. Zagadnienie detekcji jest zbyt szerokie, aby przedstawi wszystkie jego aspekty i ró norodne metody stosowane do jego rozwi zania, dlatego te w tym rozdziale problem ten zostanie przedstawiony z punktu widzenia, który został przyj ty w tej pracy, czyli od strony potencjalnego zastosowania sieci neuronowych (pełniejszy opis technik detekcji twarzy znale mo na w pracy (Hjelmas, 2001)). Przedstawiony zostanie przykład, jak w prosty sposób, w oparciu o odpowiedni sie, mo e zosta zbudowany system umo liwiaj cy detekcj twarzy w nieruchomych obrazach. 2.1. Wprowadzenie Jak zostało ju wspomniane, detekcja jest niezb dnym krokiem w procesie identyfikacji osobnika na podstawie twarzy. Istnieje jednak wiele innych zastosowa technik detekcji twarzy. S to, mi dzy innymi, nadzorowanie miejsc publicznych, konferencje video, interakcje człowiek-komputer (ang. human-computer interfaces), wyszukiwarki internetowe, bazy danych itp. Ludzka twarz ma wyskoki stopie zmienno ci i ró norodno ci, dlatego te, mimo i problem zlokalizowania twarzy jest w wi kszo ci przypadków banalny dla ludzi, jest on powa nym wyzwaniem dla sztucznych systemów. Trudno ci s tym wi ksze, im mniejsza jest mo liwa kontrola nad tłem, które zawieraj zdj cia. Im bardziej skomplikowane i zmienne tło, tym trudniej jest skonstruowa sprawnie działaj cy system. Dodatkowo, w praktyce twarze na zdj ciach wyst puj w ró nych miejscach, skalach oraz orientacjach przestrzennych, zmienia si ich wygl d (zarost, okulary itp.). Wszystko to wprowadza dodatkowe utrudnienia. Ogólnie, problem detekcji twarzy zdefiniowa mo na nast puj co: maj c nieruchomy obraz lub sekwencj uj (nagranie video) nale y okre li ilo
15 oraz lokalizacje twarzy. Dobrze skontrowany system powinien radzi sobie z trzema najwa niejszymi problemami: odległo ci od kamery orientacj twarzy wpływem o wietlenia Istniej dwa podej cia do problemu detekcji twarzy. Pierwsze bazuje na pewnych a priori znanych faktach, dotycz cych twarzy, takich jak informacja o kolorze ludzkiej skóry (je li dost pne zdj cia s w kolorze) czy te o kształcie twarzy (przyjmuje si pewien model twarzy, np. owalny, który, poddaj c go deformacjom, porównuje si z kolejnymi obszarami obrazu). Gdy do dyspozycji s sekwencje video, cz sto wykorzystuje si informacje o tym, i twarze przewa nie b d obiektami poruszaj cymi si, wiec pierwsze, przybli one okre lenie lokalizacji twarzy uzyskuje si z analizy nast puj cych po sobie klatek filmu, bior c pod uwag te obszary obrazów, które ró ni si w kolejnych uj ciach. Ogólnie, w technikach tego typu (ang. feature-based techniques), wykrywanie pewnych typowych elementów (kolor, ruch itp.) poprzedza analiz jako ciow, czyli odpowied na pytanie czy to, co jest wła nie analizowane jest twarz czy te nie. W przeciwie stwie do tych metod, druga grupa (ang. image-based techniques) oparta jest cz sto na przeszukiwaniu danego obrazu w ró nych skalach i decydowaniu odno nie ka dego podobrazu, czy zawiera on twarz czy te nie. Systemy takie cz sto wymagaj przykładowych danych ucz cych. W nast pnym rozdziale przedstawiono metod zaliczan wła nie do tego typu technik, opart na odpowiednio skonstruowanej i uczonej sieci neuronowej. 2.2. Detekcja twarzy za pomoc si neuronowej Sieci neuronowe stały si popularnymi narz dziami w zagadnieniu rozpoznawania wzorów. Sieci neuronowe nie s ju dzisiaj tylko prostymi sieciami typu wielowarstwowego perceptronu uczonymi metod propagacji wstecznej. Pojawiły si nowe, lepsze algorytmy uczenia, architektura sieci cz sto dobierana jest za pomoc algorytmów genetycznych, pozwalaj cych zoptymalizowa konstrukcj sieci dla danego problemu. Sieci ł czone s
16 w wi ksze grupy maj ce rozwi za wspólnie dany problem (ang. committee-ensemble clasification). Pierwsze techniki detekcji twarzy wykorzystuj ce sieci oparte były na sieciach neuronowych typu MLP (ang. Multi-Layer Perceptron) i dawały obiecuj ce wyniki na stosunkowo prostych bazach (Burel 1994, Juell 1996, Propp 1992). Bardziej zaawansowany model zaproponowano w pracy (Rowley et al. 1998), który stal si pewnym standardem i punktem odniesienia dla badaczy pracuj cych nad problemem detekcji twarzy. Zostanie on przedstawiony poni ej. Rowley et al. zaproponował system do detekcji twarzy oparty na sieci neuronowej maj cej jedn warstw ukryt zło on z 26 neuronów, oraz warstwy wyj ciowej maj cej jedynie jeden neuron, decyduj cy, czy podany na wej cie sieci wzorzec jest twarz (aktywacja neuronu) b d te ni nie jest (brak aktywacji). Warstwa ukryta składa si z trzech typów neuronów. Cztery z nich poł czone s z czterema obszarami 10x10 pikseli obrazu wej ciowego o wymiarach 20x20 pikseli, 16 neuronów poł czonych jest z odpowiednimi obszarami o rozmiarze 5x5 pikseli. Sze pozostałych neuronów poł czonych jest z zachodz cymi na siebie obszarami wej ciowego obrazu o wymiarach 20x5 pikseli. Neuron warstwy wyj ciowej poł czony jest ze wszystkimi neuronami warstwy rodkowej. Schemat tej sieci przedstawiony jest na Rys 4. Rys. 4 Schemat systemu opartego na sieci neuronowej zaproponowany przez Rowley'a (Rowley at al. 1998)
17 Obraz poddawany analizie skanowany jest w wielu skalach w celu wykrycia twarzy o ró nych wielko ciach. Analizowany podobraz skalowany jest do rozmiarów 20x20 pikseli i poddawany jest preprocesingowi, maj cemu na celu polepszenie i ujednolicenie jako ci danych wej ciowych. Typowymi zabiegami s wyrównanie histogramu (ang. histogram equalization) i poprawienie jasno ci. W bardziej zaawansowanych systemach nakłada si równie maski, które maj za zadanie usun domniemane tło z obszaru wokół twarzy. Tak przygotowany obraz podawany jest na wej cie sieci i sprawdzany jest stopie aktywacji neuronu wyj ciowego. Je li jest on powy ej pewnego progu, dany podobraz jest uznany za twarz. Przygotowanie danych wej ciowych Aby wykorzysta sie neuronow do detekcji twarzy, nale y rozwi za par problemów. Po pierwsze, chc c wykorzysta sie neuronow do klasyfikacji wzorców nale cych do ró nych klas, nale y zgromadzi reprezentatywne przykłady wzorców nale cych do ka dej z klas. W problemie rozpoznawania twarzy mamy tyle klas, ile ró nych osób znajduje si w bazie. Wzorcem mo e by ka de zdj cie twarzy nale cej do danej osoby. W omawianym problemie detekcji, istniej jedynie dwie klasy, klasa twarzy i klasa nie-twarzy. O ile z przykładami twarzy nie ma problemu, o tyle istnieje problem z przygotowaniem reprezentatywnego zbioru przykładowych nie-twarzy. Wynika to z tego, e przykładem nie-twarzy mo e by dosłownie wszystko, co twarz nie jest, istnieje wi c zbyt wiele mo liwo ci, by je wszystkie uwzgl dni. Aby rozwi za ten problem, przyj to pomysł zaproponowany przez autorów w pracy (Sung, Pogio, 1994). Metoda ta nazywa si metod bootstrap i polega na stopniowym dodawaniu negatywnych danych ucz cych do zbioru nie-twarzy w trakcie nauki sieci. W praktyce polega to na przerywaniu nauki co pewn ilo iteracji i skanowaniu zdj cia nie zawieraj cego twarzy. Podobrazy, które sie bł dnie uznała za twarze (stopie aktywacji był zbyt du y) dodaje si do zbioru nie-twarzy i kontynuuje nauk sieci. Algorytm ten ma jeszcze jedn wa n cech, mianowicie odpowiedzi sieci jak i efekty nauki zale od pocz tkowo zainicjowanych warto ci wag. To oznacza, e ró ne sieci b d si myliły w odmiennych sytuacjach i na innych nie-twarzach. Dlatego istotne jest, aby dla ka dej sieci wykorzystywa ró ne negatywne dane ucz ce.
18 Przykładami twarzy w zbiorze danych ucz cych s zdj cia dowolnych twarzy, odpowiednio znormalizowane i poddane preprocesingowi przyj temu w systemie. Rowley zaproponował nast puj c procedur normalizacji: 1. Obraz jest obracany tak, aby oboje oczu znajdowało si w jednej poziomej linii 2. Obraz jest skalowany tak, aby odległo mi dzy punktem po rodku oczu i górn warg była równa 12 pikseli 3. Zachowany zostaje obraz o wymiarze 20x20 pikseli, o rodku umiejscowionym jeden piksel powy ej punktu pomi dzy górn warg a punktem pomi dzy oczami Rys. 5 przedstawia przykładowe, znormalizowane twarze. Rys. 5 Znormalizowane twarze słu ce do nauki sieci dokonuj cej detekcji Korzystnie jest doda do zbioru twarzy dane z zakłóceniami otrzymanej regularno ci, w celu otrzymania sieci o lepszym stopniu uogólnienia. Mo na je otrzyma poprzez obrót unormowanej twarzy o k ty o losowej warto ci z niewielkiego zakresu, np. 5 lub 10 stopni. Korzystaj c z tak dobieranych danych ucz cych, sie o podanej wy ej architekturze uczona jest za pomoc algorytmu propagacji wstecznej. Podstawowa architektura 26 neuronów mo e by równie powielana w obr bie danej sieci. 2.3. Ł czenie sieci w zespoły Otrzymana w wyniku takiej nauki sie neuronowa mo e by wykorzystana do skanowania zdj cia, w celu okre lenia, czy zawiera ona twarze. Jako e ró ne sieci uczone były z ró nych startowych warto ci wag i na innych negatywnych przykładach, mo na si spodziewa, i tak te okazuje si by w praktyce, e sieci te b d si myli w ró nych sytuacjach i na innych podobrazach. Dlatego te, dzi ki ł czeniu kilku sieci w jeden zespół, mo na otrzyma popraw wyników. Ka dy podobraz podlegaj cy ocenie podawany
19 jest na wej cie ka dej sieci, nast pnie sieci głosuj, czy dany podobraz nale y uzna za twarz. Przy przewadze głosów pozytywnych obraz uznawany jest za twarz. Jak pokazuje praktyka, takie podej cie pozwala unikn wielu bł dnych klasyfikacji, w porównaniu z wykorzystaniem jednej tylko sieci. Doskonalenie systemu Jak łatwo zauwa y, dotychczas zakładano, e twarze, jakie sieci napotykaj, b d skierowane frontalnie oraz pionowo. W praktyce takie zało enie jest zbyt optymistyczne, zwłaszcza, je li nie czyni si adnego zało enia, co do mo liwego usytuowania przestrzennego twarzy, czyli je li projektuje si system o jak najwi kszym stopniu uogólnienia. Aby osi gn niezale no od obrotu twarzy o dowolny k t, Rowley zaproponował (Rowley, 1998) rozszerzenie swojego sytemu o dodatkow sie maj c za zadanie okre lenie orientacji przestrzennej twarzy. Sie ta zakłada, e to, co podawane jest na jej wej cie, na pewno jest twarz, a jej zadaniem jest jedynie okre lenie k ta obrotu tej twarzy. Sie ta posiada jedn warstw ukryt oraz 36 neuronów wyj ciowych, po jednym na ka de 10 stopni. Po okre leniu k ta obrotu twarzy przez tak sie, obraz podawany jest na wej cie odpowiedniej sieci dokonuj cej wła ciwej klasyfikacji, uczonej przy u yciu przykładów twarzy obróconych o k t le cy w zakresie wskazanym przez pierwsz sie. Procedura ta pozwoliła autorom wykrywa twarze o dowolnej orientacji. Ju w tym przykładzie wida jedn wa n cech systemów opartych na sieciach neuronowych, która zostanie niejednokrotnie podkre lona w dalszym ci gu tej pracy, a mianowicie bardzo du elastyczno systemów opartych na sieciach neuronowych. Systemy takie mo na udoskonala na wiele sposobów, pocz wszy od udoskonalania algorytmów nauki, architektury sieci, poprzez dodawanie do systemu nowych sieci, maj cych nowe zadania do wykonania. Korzystaj c z sieci ró nego rodzaju, mo na zbudowa system hierarchiczny, gdzie sieci b d korzystały z decyzji podj tych przez inne sieci, a odpowied systemu b dzie wypadkow odpowiedzi ich wszystkich.
20 2.4. Podsumowanie Niew tpliwie z praktycznego punktu widzenia najlepszy system detekcji twarzy, nie bior c pod uwag oczywi cie procentu rozpoznanych twarzy, powinien działa w czasie rzeczywistym. Systemom opartym na wyczerpuj cym skanowaniu obrazów w wielu skalach, daleko jeszcze do takiej wydajno ci. Jednak e systemy te, równie ten zaprezentowany w tym rozdziale, mog by udoskonalane w taki sposób, który pozwoli ograniczy te wymagania. Przykładowo, je li dost pna jest informacja o kolorze (obrazy kolorowe zamiast czarno-białych), mo liwe jest wst pne ograniczenia skanowanego obszaru, gdy wiadomym faktem jest, i kolor ludzkiej skóry składa si z poszczególnych składowych przyjmuj cych warto ci jedynie z pewnego zakresu. Zatem przyjmuj c odpowiedni przestrze kolorów (niekoniecznie RGB) mo na w znacz cym stopniu ograniczy obszar obrazu, który wymaga skanowania. Przedstawiona technika Rowley a, mimo i zaproponowana par lat temu, nadal osi ga wyniki porównywalne z nowo proponowanymi metodami. Pewnym problemem utrudniaj cym porównywanie wyników, osi gni tych poszczególnymi metodami jest brak standardu. Standard taki istnieje dla algorytmów rozpoznawania twarzy (baza twarzy i protokół oceny algorytmów FERET). Pewnym punktem odniesienia jest zbiór testowych zdj, które udost pnił Rowley na swoich stronach internetowych.