Rozpoznawanie twarzy za pomocą sieci neuronowych Michał Bereta http://torus.uck.pk.edu.pl/~beretam
Praktyczna przydatność Bardzo szerokie praktyczne zastosowanie Ochrona Systemy bezpieczeństwa (np. lotniska) Kontrola dostępu Policyjne bazy danych Przeglądarki internetowe
Biometria Biometria jest nauką o wykorzystaniu indywidualnych fizycznych cech danej osoby w celu automatycznego określenia lub zweryfikowania jej tożsamości daktylografia (rozpoznawanie odcisków palców) rozpoznawanie geometrii dłoni rozpoznawanie tęczówki i siatkówki oka rozpoznawanie mowy rozpoznawanie podpisu rozpoznawanie na podstawie dopasowania sekwencji DNA
Identyfikacja Identyfikacja - zadeklarowanie swojej tożsamości przez użytkownika (np. przez podanie loginu). Zadeklarowana ale jeszcze niezaufana tożsamość jest potwierdzana w procesie uwierzytelnienia (np. przez podanie hasła). Uwierzytelnianie (niepoprawnie autentykacja) - proces polegający na zweryfikowaniu zadeklarowanej tożsamości osoby. Autoryzacja - w informatyce i bankowości proces, w którym sprawdzane jest czy dany podmiot (o ustalonej właśnie tożsamości) ma prawo dostępu do zasobów, o które prosi.
Dwuznaczność Rozpoznawanie twarzy Wykrywanie ( face detection ) Detection Recognition Rozróżnianie ( face recognition )
Dwa główne podejścia Feature based techniques ekstrakcja każdej składowej twarzy(np.nos, oczy) osobno i potem porównanie ich geometrycznych relacji Global techniques podejście globalne twarze przestawiane są w sposób opisujący ich globalne zależności obraz traktowany jako całość
Technika a psychologia Rozpoznawanie twarzy jest u ludzi zdolnością szczególną Prosopagnosia Czy postrzeganie twarzy przez ludzi opiera się na postrzeganiu całościowym czy też analizowaniu poddawane są części składowe twarzy?
Iluzja Thatchera
Iluzja Thatchera
Co jest na zdjęciu?
Face Detection Rowley et al. oparte na MLP (Multi Layer Perceptron)(1998/2001)
Histogram Equalization
Przykłady twarzy Oryginalny rozmiar: 20x20 pikseli
Bootstrap Algorithm Przykłady nie-twarzy dobierane są na bieżąco w trakcie nauki
Wyniki
Wyniki
Wyniki
Popularność FERET baza danych twarzy i protokół służący do porównywania metod rozpoznawania twarzy
Historia Początki lata 60-te Wiele metod: PCA Principal Components Analysis( Eigenfaces ) ICA Independent Component Analysis LDA Linear Discriminant Analysis ( Fisherfaces ) Gabor jets ( Gaborfaces ) Analiza falkowa ( Waveletfaces ) Wiele innych
Rozpoznawanie twarzy Główne zadania Redukcja wymiarowości wektora wejściowego (obrazu) Rozpoznawanie przez porównanie zredukowanego wektora do wartości z bazy danych. Porównanie odbywa się za pomocą rożnych sposobów Metryki Sieci neuronowe (MLP, RBF)
Rzutowanie na nowe kierunki
Rzutowanie na nowe kierunki Żaden z kierunków nie powinien być pominięty w procesie klasyfikacji.
Rzutowanie na nowe kierunki Nowy kierunek Można znaleźć nowy kierunek, wzdłuż którego te dwie klasy są od siebie dobrze odseparowane proces klasyfikacji będzie ułatwiony.
Rzutowanie na nowe kierunki Proces rzutowania to iloczyn skalarny
Jak można wykorzystać sieci neuronowe? Sieci neuronowe są użyteczne: Jako narzędzie do ekstrakcji cech głównych zredukowanie wymiarowości wektorowe wejściowego z zachowaniem cech głównych wektora wejściowego Jako klasyfikatory sieci MLP lub RBF Można stworzyć system całkowicie oparty na sieciach rożnego typu.
Sieci neuronowe jako klasyfikatory Sieci neuronowe np. RBF są lepsze niż np. zwykla metryka liniowa, gdyż mogą tworzyć bardziej skomplikowane powierzchnie decyzyjne
Schemat
Metoda Eigenfaces Metoda wywodzi się z teorii informacji. Polega na projekcji wielowymiarowego wektora(obrazu) na nowy układ współrzędnych, który tworzą pewne charakterystyczne obrazy obrazy Eigenfaces. Pierwsze prace M.Turk i A. Pentland w problemie kompresji bardzo dużej bazy obrazów. Glówna idea przedstawić obraz jako liniową kombinacje bazowych obrazów(eigenfaces). Współczynniki liniowej kombinacji określają dany obraz.
Metoda Eigenfaces Wymiar wektora współczynników jest dużo mniejszy niż wymiar obrazu. np. dla obrazu 50x50 wymiar wektora jest 2500 Można go przedstawić za pomocą wektora współczynników liniowej kombinacji np. o wymiarze 20.
Metoda Eigenfaces Obraz można widzieć jako punkt w wielowymiarowej przestrzeni. Mając pewien zbiór obrazów można wyznaczyć macierz korelacji miedzy tymi wektorami i obliczyć wektory własne tej macierz. Te wektory własne są to właśnie bazowe obrazy tzw. Eigenfaces
Metoda Eigenfaces Liczenie wartości własnych i wektorów własnych może być nietrywialnie, gdyż mogą się pojawiać liczby zespolone. Jeśli jednak macierz jest rzeczywista i symetryczna to mamy pewność ze wartości i wektory własne takiej macierzy sa rzeczywiste.
Metoda Eigenfaces Obrazy jako wektory Średnia twarz Odejmowanie średniej twarzy i normalizacja Macierz, w której każda kolumna to znormalizowany obraz Macierz korelacji o wymiarze N*NxN*N, N-wymiar obrazu
Metoda Eigenfaces Inny zapis Pomnożyć obustronnie przez A Avi są wektorami własnymi macierzy C Wymiar MxM, M ilość obrazów w zbiorze uczącym Mamy macierz symetryczną o dużo mniejszym wymiarze
Metoda Eigenfaces Wektory własne macierzy C(tylko M pierwszych) są liczone według wzoru: Każdy nowy obraz jest przedstawiany jako wektor współczynników liniowej kombinacji:
Metoda Eigenfaces Rekonstrukcja:
Metoda Eigenfaces Rozpoznawanie odbywa się z wykorzystaniem metryk lub sieci neuronowych. Wymiarowość wektora wejściowego ma duże znaczenie dla zdolności uogólniania sieci, np. dla RBF gdy wymiar wektora jest duży, klasy zachodzą na siebie z zbyt dużym stopniu co utrudnia poprawna klasyfikacje.
Face Databases Istnieje wiele baz twarzy dostępnych w Internecie, które są ogólnie używane przez badaczy do testowania ich metod. Przykład: ORL FaceDatabase 40 osób, 10 zdjęć każdej, zrobionych w różnym czasie i w rożnych warunkach, różne wyrazy twarzy, dodatki(okulary itp.). Razem 400 zdjęć. Podział bazy na część uczącą i część testową.
Przykładowe twarze z ORL FaceDatabase Twarze użyte do uczenia.
Przykładowe twarze z ORL FaceDatabase Twarze użyte do testowania
25 Eigenfaces obliczonych ze zbioru uczącego
Reprezentacja za pomocą PCA = + w1 * + w2 * +...
Rekonstrukcja PCA Rekonstrukcja za pomocą wszystkich 25,12 oraz 5 Eigenfaces Obraz należy do zbioru uczącego.
Rekonstrukcja PCA cd. Rekonstrukcja za pomocą wszystkich 25,12 oraz 5 Eigenfaces Obraz nie należy do zbioru uczącego.
Wady PCA Powstałe obrazy bazowe wyznaczają nowy układ współrzędnych, którego osie są ortogonalne Eigenfaces są nieskorelowane ale nie są statystycznie niezależne Wzajemne statystyczne zależności rzędu powyżej drugiego nie są usunięte
Ekstrakcja cech głównych za pomocą MLP MLP Multi Layer Perceptron
Ekstrakcja cech głównych za pomocą MLP Wiadomo ze MLP o takiej strukturze uczony algorytmem propagacji wstecznej daje na wyjściu środkowej warstwy dokładnie m pierwszych wartości PCA, które można by otrzymać z rozwiązania macierzowego.warunek: neurony są liniowe. Jeśli neurony są nieliniowe otrzymane wartości nie są dokładnie wartościami PCA, ale reprezentują wektor wejściowy nawet lepiej.
Eigenfaces uzyskane z sieci MLP (Bryliuk, Starovoitov, 2001).
Ekstrakcja cech głównych za pomocą MLP Można to wykorzystać na dwa sposoby: Stworzyć jedną sieć MLP i uczyć ją przykładami twarzy ze wszystkich klas Każda klasa ma swoją własną siec. Podczas testowania, testowany obraz jest podawany na każdą sieć osobno.
Inne metody wykorzystujące sieci Ekstrakcja cech głównych (PCA) może się odbywać także za pomocą sieci uczonych w sposób nie nadzorowany metodą Hebba.
Algorytm Oji i Sangera Oja y1 = W x = T 1 ĺ N j= 0 W1 j x j Jeden składnik główny Adaptacja wag: W1 j (k + 1) = W1 j (k ) + η (k )[ y1 (k ) x j (k ) W1 j (k ) y12 (k )] Sanger yi (k ) = ĺ N j= 0 Wij (k ) x j (k ) Wiele składników głównych i Wij (k + 1) = Wij (k ) + η (k )[ yi (k ) x j (k ) yi (k )ĺ Whj (k ) yh (k )] h= 1
PCA za pomocą sieci Hebba
Inne metody wykorzystujące sieci Gdy mamy tylko po jednym przykładzie z każdej klasy, typowa twarz może być otrzymana jako atraktor przy użyciu rekurencyjnych sieci neuronowych np. sieci Hopfielda M.J. Aitkenhead, A.J.S.McDonald zaproponowali taki system oparty na trzech rodzajach sieci: MLP dla detekcji twarzy Sieci Hebba do ekstrakcji cech Sieci Hopfielda do stworzenia typowej twarzy dla danej klasy jako atraktora
Inne metody wykorzystujące sieci Jeśli problem polega na rozpoznaniu twarzy która nie jest dokładnie frontowa, sieci rekurencyjne są wykorzystywane by znaleźć reprezantacje twarzy jak najbardziej niezależną od jej obrotu w stronę profilu. Ideą tutaj znowu jest reprezentacja typowej twarzy jako atraktora otrzymanego w danej sieci np. Hopfielda
Koniec Dziękuję za uwagę. Pytania?