Rozpoznawanie wzorców Dr inż. Michał Bereta p. 144 / 10, Instytut Informatyki mbereta@pk.edu.pl beretam@torus.uck.pk.edu.pl www.michalbereta.pl
Rozpoznawanie twarzy Co znaczy rozpoznawad Detekcja Identyfikacja Weryfikacja Inne Rozpoznawanie płci Rozpoznawanie nastroju Rozpoznawanie wieku Wyszukiwanie podobnych twarzy (innych osób)
Rozpoznawanie twarzy Detekcja Wykryd twarz / twarze jeśli istnieje na danym zdjęciu Czy można oczekiwad, że zawsze jest co najmniej jedna twarz? Tylko frontalne czy profile rownież?
http://vis-www.cs.umass.edu/lfw/
http://vis-www.cs.umass.edu/lfw/
Rozpoznawanie twarzy Identyfikacja Zaklasyfikowad nieznaną twarz do jednej ze znanych klas, lub zgłosid fakt, iż jest to nieznana twarz Zaprezentowad listę najbardziej prawdopodobnych klas (znanych osób) (co innego niż szukanie podobnych twarzy)
Identyfikacja Rozpoznawanie twarzy Zaprezentowad listę najbardziej prawdopodobnych klas (znanych osób) Przykład: w celu odszukania w bazie znanych przestępców danej osoby, użytkownik będzie całkowicie zadowolony, jeśli prawdziwa osoba zostanie wskazana na jednym z czołowych miejsc na liście (niekoniecznie na pierwszym miejscu) rank-5 recognition rate procent poprawnie zidentyfikowanych twarzy, które znalazły się w pierwszej piątce na liście (nieważne na jakiej pozycji)
Rozpoznawanie twarzy Identyfikacja Przykład System 1: rank-1 recognition rate = 85% rank-5 recognition rate = 87% System 2: rank-1 recognition rate = 80% rank-5 recognition rate = 93% Który jest lepszy?
Rozpoznawanie twarzy Weryfikacja Osoba deklaruje swoją tożsamośd System ma zwerfikowad, czy dana osoba to rzeczywiście ta zadeklarowana Czułośd vs specyficznośd testu Jaki rodzaj błędu jest bardziej kosztowny Odrzucenie osoby poprawnie deklarującej swoją tożsamośd Zaakceptowanie oszusta Analiza ROC może byd tu przydatna
Rozpoznawanie twarzy Inne Rozpoznawanie płci Rozpoznawanie nastroju / uśmiechu Rozpoznawanie wieku Wyszukiwanie podobnych twarzy (innych osób)
Rozpoznawanie twarzy Age invariant face recognition Face recognition across the ages Z FGNET face aging database
Detekcja twarzy System Rowley a (1998) System Violi-Jones a (2001)
Detekcja twarzy Klasyfikator: sied neuronowa typu MLP o odpowiednio dobranej architekturze
Detekcja twarzy Przykłady uczące z drugiej klasy (nie twarze) są dobierane na bieżąco w trakcie nauki sieci. Co pewną liczbę iteracji sied skanuje zdjęcia, które na pewno nie zawierają twarzy. Fragmenty, które sied błędnie klasyfikuje jako twarze, są dodawane do zbioru trenującego i proces nauki jest kontynuowany.
Detekcja twarzy Metoda oparta na falkach Haara (Viola, Jones, 2001) Oparty na atrybutach falkopodobnych (falki Haara) Szybkie obliczenia (tzw. Integral image) Szybkie skanowanie przy pomocy architektury kaskadowej Klasyfikator: AdaBoost Bardzo popularny
Detekcja twarzy
Detekcja twarzy Bardzo szybkie obliczenia na podstawie tzw. Integral image Wartości pikseli w integral image Wartości pikseli oryginalnego obrazu
Detekcja twarzy
Detekcja twarzy Problem Bardzo duża liczba atrybutów Nie wszsytkie są przydatne do klasyfikacji twarz/nie twarz
Detekcja twarzy Algorytm AdaBoost jednocześnie trenuje klasyfikator i wybiera przydatne atrybuty. W każdej iteracji algorytmu tworzony jest prosty klasyfikator operujący jedynie na jednym atrybucie (tzw. stamp classifier), który aktualnie wnosi największą poprawę. Każdy kolejny prosty (bazowy) klasyfikator zwraca większą uwagę na przykłady, które sprawiały trudności poprzednim klasyfikatorom. Ostateczny klasyfikator agreguje odpowiedzi wszystkich bazowych klasyfikatorów.
Detekcja twarzy Przyspieszenie skanowania za pomocą kaskadowej struktury
Detekcja twarzy
Detekcja twarzy
Detekcja twarzy
Detekcja twarzy Implementacja dostępna w bibliotece OpenCV http://opencv.willowgarage.com/wiki/
Lokalnośd obszary zdjecia
Lokalnośd obszary zdjecia Dla każdego obszaru można zastosowad metodę ekstrakcji cech (np. PCA, ICA) osobno Można połączyd opisy wszystkich wyszczególnionych obszarów i nowy opis traktowad jako nowy globalny opis Można dokonad klasyfikacji dla każdego z obszarów osobno i łączyd wyniki klasyfikacji
Można dokonad klasyfikacji dla każdego z obszarów osobno: Przygotowad rankingi najbardziej prawdopodobnych/podobnych (najbliższych zgodnie z przyjętą miarą odległości) osób Użyd metody agregacji list preferencji (np. Liczenia Bordy) aby otrzymad nowy ranking
Borda count W każdym rankingu przypisz najwyższy priorytet / największą liczbę punktów elementowi na pierwszej pozycji; każdy kolejny element na liście rankingowej dostaje mniej punktów Dla każdego elementu (u nas klasy/osoby) zsumuj punkty otrzymane we wszystkich listach rankingowych Utwórz ostateczny ranking na podstawie sumy punktów
EBGM - Elastic Bunch Graph Matching landmarks W każdym uwzględnionym punkcie liczona jest odpowiedź obrazu na kilka wybranych falek Gabora (standardowo 40 różnych filtrów opartych na falkach Gabora)
Można rozłożyd tranformate Fouriera na częśdrzeczywistą i zespoloną
Wadą transformaty Fouriera jest Nie jest ona limitowana, tzn. np.badając wpływ danej częstotliwości badamy ją na przedziale Jest to problem przy sygnałach (również 2D obrazach) o skooczonej długości
Częśd odpowiadająca za lokalizację (lokalnośd działania falki) Częśd badająca odpowiedź na daną częstotliwośd
Mając magnitudę oraz fazę można obliczyd częśd rzeczywistą i urojoną. Mając częśd rzeczywistą i urojoną można obliczyd magnitudę oraz fazę.
Falka dwuwymiarowa
Wprowadzony by przyblizad pewne biologiczne modele. Zazwyczaj równe 1.
EBGM Dla obrazów ze zbioru trenującego punkty nanoszone są ręcznie. Dla nowych zdjęd, system automatycznie szacuje i dostraja położenie odpowiednich punktów, np. zaczynając od odkrytego położenia oczu i średnich odległości pozostałych punktów względem położenia oczu.
EBGM W podejściu tym przy liczeniu podobieośtwa między twarzami można uwzględnid Wartości (magnitudy) odpowiedzi filtrów Gabora Warotści fazy odpowiedzi filtrów Gabora Przesunięcia punktów względem siebie Grafowe miary odległości odkształcenia się grafów uzyskanych dla różnych zdjęd
Lokalne deskryptory magnituda faza Falka Gabora
Lokalne deskryptory Na przykładzie LBP Local Binary Pattern
Lokalne deskryptory Przykładowy histogram
Lokalne deskryptory W punkcie b) poprzedniego slajdu każdy region jest reprezentowany przez histogram pewnych wartości wyliczonych dla każdego piksela. Opis całego obrazu to połączenie histogramów z każdego obszaru Bardzo popularnym jest LBP (ang. Local Binary Pattern).
Lokalne deskryptory LBP Local Binary Pattern Bierze pod uwagę sąsiedztwo 3x3 danego piksela Na jego podstawie wylicza p c piksel centralny p i kolejny piksle sąsiedni
Lokalne deskryptory
Lokalne deskryptory
Lokalne deskryptory Zaleta LBP Zależy od różnic w wartościach pikseli nie jest wrażliwy na zmiany w oświetleniu Można go zastosowad na obrazach przefiltrowanych przez falki Gabora: Wady Obrazy magnitudy Obrazy fazy Może produkowad bardzo długie opisy (np. Gdy 40 stosujemy 40 falek dla jednego obrazu) Istnieje wiele takich lokalnych deskryptorów
Lokalne deskryptory Cechy opisu za pomocą histogramów Wada: metoda ta może produkowad bardzo długie opisy Zależy od szczegółowości histogramu Opisy są szczególnie długie gdy lokalny deskryptor użyty jest nie na oryginalnym obrazie, lecz np. na obrazach magnitud filtrów Gabora Warto stosowad odpowiednie metody porównywania takich opisów
Lokalne deskryptory Warto stosowad odpowiednie metody porównywania takich opisów np. przecięcie histogramów, które sumuje wspólną częśd dwóch histogramów Statystyka chi miara niepodobieostwa Statystyka log-likelihood miara podobieostwa
Przykładowa taksonomia lokalnych deskryptorów
Lokalne deskryptory
Lokalne deskryptory
Local Ternary Pattern (LTP) Rozbicie na dwa kanały : LTPU (upper): Zastąpienie -1 0 LTPL (lower): Zastąpienie 1 0 oraz -1 1
Liczenie odległości (np. Euklidesowej) między wartościami pikseli
-użyte dwa sąsiedztwa o różnych promieniach -cztery łatki /fragmenty (ang. patches) użyte do obliczenia jednego bitu we wzorcu
Lokalne deskryptory wraz z filtrami Gabora Dowolny lokalny deskrytpor może byd użyty na obrazie przefiltrowanym przez dany filtr Gabora Przez długi czas używano głównie obrazów magnitudy (pomijano fazę jako mniej przydatną) Istnieją również specjalizowane filtry dla obrazów magnitud oraz faz po filtrowaniu oryginalnego obrazu przez filtr Gabora
Przykładowo by wykorzystad fazę opracowano QBC Główna idea: jako że faza jest dośd niestabilna, nie koduje się dokładnej wartości fazy a raczej jej położenie na płaszczyźnie zespolonej.
Inne lokalne deskryptory Przykład: Weber Local Descriptor (WLD): Symuluje znane prawo fizjologiczne Webera: percepcja zmiany zależy nie tylko od tej zmiany ale również od oryginalnej (początkowej) wartości sygnału/bodźca