Metody reprezentacji danych w podprzestrzeniach liniowych oraz ich zastosowanie w zadaniach rozpoznawania obrazów twarzy Paweł Forczmański Katedra Systemów Multimedialnych, Wydział Informatyki ZUT 1 / 60
Plan wykładu 1.1.Redukcja Redukcjawymiarowości wymiarowości 2.2.Przedstawienie Przedstawieniewybranych wybranychmetod metod oraz orazich ichzastosowań zastosowań 3.3.PCA PCA//KLT, KLT,1D, 1D,2D 2D 4.4.LDA, LDA,1D, 1D,2D 2D 2 / 60
Transformacje ortogonalne 1.1.SVD SVD Singular SingularValue ValueDecomposition Decomposition 2.2.DCT, DCT,DFT DFT Discrete DiscreteCosine/Fourier Cosine/FourierTransform Transform 3.PCA/KLT 3.PCA/KLT Principal PrincipalComponent ComponentAnalysis Analysis 4.4.LDA LDA Linear LinearDiscriminant DiscriminantAnalysis Analysis 3 / 60
Jak reprezentować obrazy? Dlaczego potrzebujemy metod reprezentacji obrazów? Przekleństwo wymiarowości (ang. Curse of dimensionality) szerokość x wysokość x kanały_koloru Usuwanie szumu Analiza sygnału I wizualizacja Metody reprezentacji W dziedzinie częstotliwości : metody liniowej transformacji DFT, DCT, DST, DWT, Często jako metody kompresji Operacje w podprzestzreniach PCA, ICA, LDA Liniowe transformacje obliczone na podstawie danych Metody ekstrakcji cech Wykrywanie linii I krawędzi Mapy cech uzyskane w wyniku filtracji Transformata Gabora Aktywne kontury (ASM, Snakes) 4 / 60
Czym jest podprzestrzeń? (1/2) Problem określenia bazy w niskowymiarowej podprzestrzeni: Aproksymacja wektorów poprzez rzutowanie do nowej, niskowymiarowej podprzestrzeni: (1) Początkowa reprezentacja: x = a1v1 + a2v2 + + an vn w N-wymiarowej przestrzeni space where is a bazą base in the original N-dimensional gdzie v1, v2,, vn jest (2) Niskowymiarowa reprezentacja w podprzestrzeni: xˆ = b1u1 + b2u2 + + bk u K where is a basein K -dimensionalsub-space (K<N) (K<N) bazą wthek-wymiarowej podprzestrzeni gdzie u1, u2,, uk jest Uwaga: jeżeli K=N, wtedy x = x 5 / 60
Czym jest podprzestrzeń? (2/2) Przykład (K=N): 6 / 60
Analiza Komponentów Głównych PRINCIPAL COMPONENT ANALYSIS (PCA) 7 / 60
Motywacja Cele analizy Znalezienie bazy, która ma dużą wariancję w danych Reprezentacja danych z możliwie małą liczbą elementów bazy z niskim MSE 8 / 60
Problem klasyfikacji Algorytmy Rozpoznawania Wzorców PCA szuka kierunków, które dobrze rozdzielają klasy nieefektywne klasa A efektywne klasa A klasa B klasa B 9 9 / 60
Rozporoszenie Algorytmy Rozpoznawania Wzorców PCA maksymalizuje całkowite rozproszenie Rozproszenie (ang. scatter) Klasa A Klasa B 10 10 / 60
Obliczenie komponentów (PCs) Zakładamy że E[ x] = 0 T T a=x q=q x s 2 = E[a 2 ] - E[a]2 = E[a 2 ] T q = (q q) 1 2 =1 Znaleźć takie q, które maksymalizują to = E[(qT x)(xt q)] = qt E[xxT ]q = qt Rq Komponent (PC) q obliczamy jest za pomocą dekomozycji wartości własnych, np. za pomocą SVD R = QΛQT, Q = [q1, q2,, q j,, qλ m ], Ű Rq j = l j q j = diag[l1, l2,, l j,, lm ] j = 1, 2,, m Rq = l q 11 / 60
Redukcja wymiarowości (1/2) Można odrzucić komponenty o mniejszym znaczeniu. Faktycznie, traci się częśc informacji, jednak wartości własne są na tyle małe, że utrata nie jest duża n wymiarów w danych początkowych Oblicza się n wektorów własnychiu wartości własnych wybieramy p wektorów własnych na podstawie największych wartości własnych Docelowa przestrzeń ma p wymiarów 12 / 60
Redukcja wymiarowości (2/2) Wariancja Wymiarowość 13 / 60
Rekonstrukcja Oryginał q=1 q=2 q=4 q=16 q=32 q=64 q=8 q=100 14 / 60
Algorytmy Rozpoznawania Wzorców Algorytm Eigenfaces Założenia Kwadratowe obrazy szerokość = wysokość = N M liczba obrazów w bazie danych P liczba osób w bazie danych Opracowane w 1991 przez Turka I Pentlanda Wykorzystuje PCA Stosunkowo prosta Szybka Odporna m.in. na szum 15 / 60
Eigenfaces Algorytmy Rozpoznawania Wzorców Baza danych 16 / 60
Eigenfaces Algorytmy Rozpoznawania Wzorców Obliczany obraz średni gdzie 17 / 60
Eigenfaces Algorytmy Rozpoznawania Wzorców Następnie odejmujemy od obrazów z bazy 18 / 60
Eigenfaces Algorytmy Rozpoznawania Wzorców Budujemy macierz N2 na M Macierz kowariancji w wymiarach N2 na N2 19 19 / 60
Eigenfaces Algorytmy Rozpoznawania Wzorców Należy znaleźć wartości własne macierzy kowariancji Macierz ta jest duża! Obliczenia są czasochłonne Interesuje nas najwyżej M wartości własnych Zmiejszamy wymiarowość tej macierzy 20 20 / 60
Algorytmy Rozpoznawania Wzorców Eigenfaces Obliczamy macierz o wymiarach M na M Znajdujemy M wartości własnych i wektorów własnych Wektory własne z Cov i L są równoważne Budujemy macierz V z wektorów obliczonych dla L 21 21 / 60
Eigenfaces Algorytmy Rozpoznawania Wzorców Wektory własne z Cov są linową kombinacją w przestrzeni obrazów (twarzy) z wektorami własnymi z L U = AV V to macierz wektorów własnych Wektory własne reprezentują zmienność twarzy 22 22 / 60
Algorytmy Rozpoznawania Wzorców Eigenfaces A: kolekcja twarzy w zbiorze uczącym U: przestrzeń twarzy własnych 23 23 / 60
Eigenfaces Twarze własne dla obrazów z bazy Algorytmy Rozpoznawania Wzorców 24 24 / 60
Eigenfaces Algorytmy Rozpoznawania Wzorców Obliczamy, dla każdej twarzy, jej projekcję w przestrzeni twarzy: Obliczamy próg: dla 25 / 60
Algorytmy Rozpoznawania Wzorców Eigenfaces: rozpoznawanie Aby rozpoznać twarz Odejmujemy od niej twarz średnią 26 / 60
Eigenfaces : rozpoznawanie Algorytmy Rozpoznawania Wzorców Obliczamy projekcję do przestrzeni twarzy U Obliczamy odległość w przestrzeni twarzy pomiędzy twarzą badaną oraz wszystkimi znanymi (zapamiętanymi w bazie) twarzami dla 27 / 60
Eigenfaces : rozpoznawanie Algorytmy Rozpoznawania Wzorców Rekonstrukcja twarzy ze pomocą twarzy własnych Obliczamy odległość badanej twarzy oraz jej rekonstrukcji 28 / 60
Eigenfaces : rozpoznawanie Algorytmy Rozpoznawania Wzorców Rozróżniamy pomiędzy następującymi przypadkami: Jeżeli to nie mamy do czynienia z twarzą; odległość pomiędzy badaną twarzą i jej rekonstrukcją jest większa niż próg Jeżeli oraz to jest to nowa twarz oraz Jeżeli to jest to znana twarz, ponieważ odległość badanej twarzy do wszystkich twarzy z bazy jest większa niż próg 29 / 60
Eigenfaces problemy Trudności w przypadku rozpoznawania Algorytmy Rozpoznawania Wzorców Różnych orientacji twarzy Róznych opozycji twarzy Różnic w ekspresji Obecności kierunkowego oświetlenia 30 / 60
Liniowa Analiza Dyskryminacyjna LINEAR DISCRIMINANT ANALYSIS (LDA) 31 / 60
Ograniczenia PCA Czy wymiary o maksymalnej wariancji odpowiadają wymiarom, które chcemy zachować? 32 / 60
Linear Discriminant Analysis (1/6) Co jest celem LDA? Przeprowadzić redukcję wymiarowości przy jednoczesnym zachowaniu informacji o separacji klas. Szukać kierunków, wzdłuż których klasy są najlepiej separowalne. Brać pod uwagę dyspersję wewnątrzklasową i międzyklasową. Np. w przypadku rozpoznawania twarzy, daje możliwośc rozróżniania obrazów bardziej w kontekscie ich przynależności do osób niż w kontekście zmian spowodowanych m.in. oświetleniem lub ekspresją. 33 / 60
Linear Discriminant Analysis (2/6) Rozrzut wewnątrzklasowy Within-class scatter matrix c ni ĺĺ S w = (Y j - M i )(Y j - M i )T i =1 j =1 c Rozrzut międzyklasowy Between-class scatter matrix ĺ Sb = ( M i - M )( M i - M )T i =1 Macierz po projekcji y =U x T LDA oblicza transformację, która maksymalizuje rozrzut międzyklasowy przy jednoczesnym minimalizowaniu rozrzutu wewnątrzklasowego: S%b U T SbU max = max T % U S wu Sw rezultaty oblicznia wart. własnych! S w-1sb = U LU T S%%b, S w : macierze rozrzutu po rzutowaniu y 34 / 60
Linear Discriminant Analysis (3/6) Czy Sw-1 da się zawsze obliczyć? jeżeli Sw jest nieosobliwa, możemy rozwiązać typowy problem wartości własnych poprzez: S w-1sb = U LU T W praktyce, Sw jest zwykle osobliwa ponieważ obrazy są danymi wektorowymi o dużej wymiarowości, podczas gdy licznośc zbioru jest stosunkowo mała (M << N ) Podczas gdy Sb ma najwyżej rząd C-1, maksymalna liczba wektorów własnych z niezerowymi wartościami własnymi jest równa C-1 (t.j., maksymalna wymiarowość podprzestrzeni to C-1) 35 / 60
Linear Discriminant Analysis (4/6) Czy Sw-1 da się zawsze obliczyć? Aby rozwiązać ten problem, stusuje się często PCA jako element obróbki dancyh: 1) PCA wstępnie redukuje wymiarowośc danych. 2) LDA jest wykonywane na tak uzyskanych danych: 36 / 60
Linear Discriminant Analysis (5/6) PCA LDA D. Swets, J. Weng, "Using Discriminant Eigenfeatures for Image Retrieval", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 18, no. 8, pp. 831-836, 1996 37 / 60
Linear Discriminant Analysis (6/6) Porównanie PCA (MEF) i LDA (MDF) Wektory MEF (Most Expressive Features) pokazują tendencję PCA do przechowywania informacji takich jak zmiany oświetlenia. Wektory MDF (Most Discriminative Features) cechy te eliminują. D. Swets, J. Weng, "Using Discriminant Eigenfeatures for Image Retrieval", IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 18, no. 8, pp. 831-836, 1996 38 / 60
Algorytmy Rozpoznawania Wzorców Algorytm Fisherfaces Założenia Kwadratowe obrazy szerokość = wysokość = N M liczba obrazów w bazie danych P liczba osób w bazie danych Opracowany w 1997 przez P.Belhumeura i in. Wykorzystuje analizę Fishera = Linear Discriminant Analysis (LDA) Szybsza, w pewnych wypadkach, od Eigenfaces Niższy poziom błędów Działa w przypadku różnego oświetlenia Radzi sobie ze zmianami ekspresji. 39 / 60
Fisherfaces Algorytmy Rozpoznawania Wzorców Baza danych 40 / 60
Fisherfaces Algorytmy Rozpoznawania Wzorców Obliczany jest obraz średni gdzie 41 / 60
Fisherfaces Obliczana jest średnia twarzy dla każdej osoby 42 / 60
Fisherfaces Odejmujemy od każdego obrazu 43 / 60
Fisherfaces Budujemy macierze rozrzutu S1, S2, S3, S4 i macierz rozrzutu wewnątrzklasowego SW 44 / 60
Fisherfaces Międzyklasowa macierz rozrzutu Poszukiwania jest macierz W maksymalizująca 45 / 60
Fisherfaces Jeżeli SW jest nieosobliwa ( ): Kolumny W są wektorami własnymi Musmy obliczyć odwrotność SW Musimy mnożyć macierze i obliczyć wektory własne 46 / 60
Fisherfaces Jeżeli SW jest nieosobliwa ( Prościej: ): Kolumny W są wektorami własnymi, które spełniają Wartości własne są pierwiastkami Obliczamy wartości własne poprzez 47 / 60
Fisherfaces Jeżeli SW jest osobliwa ( Stosujemy najpierw PCA ): Zredukujemy w ten sposób wymiarowość twarzy z N2 do M Uzyskujemy wektory o wymiarze MM Stosujemy LDA 48 / 60
Fisherfaces Rzutujemy twarze do przestrzeni cech po LDA Klasyfikacja twarzy polega na Rzutowaniu do przestrzeni LDA Wykorzystaniu klasyfikatora, np. minimalnoodległościowego 49 / 60
PCA & Fisher s Linear Discriminant 50 / 60
PCA & Fisher s Linear Discriminant 51 / 60
Prównanie PCA i LDA Baza danych FERET Eigenfaces 80.0%, Fisherfaces 93.2% 52 / 60
Porównanie PCA i LDA Eigenfaces Projekcja do podprzestzreni o mniejszej wymiarowości Bez rozróżnienia pomiędzy zmiannością wewnątrzi pomiędzy-klasową Optymalna dla reprezentacji ale nie dyskryminacji Fisherfaces Znalezienie podprzestzreni, która maksymalizuje stosunek rozrzutu międzyklasowego do wewnątrzklasowego Wspólna miara zmienności wewnątrzklasowej 53 / 60
LDA : ograniczenia Algorytmy Rozpoznawania Wzorców Klasyczna metod LDA wymaga przeprowadzania wstępnej redukcji wymiarowości danych, np. za pomocą próbkowania (down-sampling) lub PCA/PCArc. Wymagane jest spełnienie warunku: gdzie K liczba klas obrazów, L-liczba obrazów w klasie, DIM wymiarowośc przestrzeni cech. G. Kukharev, P. Forczmański, Two-Dimensional LDA Approach to Image Compression and Recognition, Computing, Multimedia and Intelligent Techniques, vol.2, no. 1, 2006, s.87-98 G. Kukharev, P. Forczmański, Face Recognition by Means of Two-Dimensional Direct Linear, Discriminant Analysis Pattern recognition and information processing: PRIP 2005: Proceedings of the Eighth International Conference, 18-20 Maj, Mińsk, Białoruś 2005, s.280-283 54 / 60
Algorytmy Rozpoznawania Wzorców 2DLDA/LDArc (1) Rozwiązaniem tego problemu jest zastosowanie metody 2DLDA (LDArc), która zakłada dekompozycję obrazu na zestaw wierszy i kolumn i obliczanie 2 zestawów macierzy kowariancji: 55 / 60
2DLDA/LDArc (2) Algorytmy Rozpoznawania Wzorców Dla każdego zestawu obliczane są macierze kowariancji (podobnie do LDA): celem LDA jest maksymalizacja rozrzutu (scatter) międzyklasowego w stosunku do rozrzutu wewnątrzklasowego, co sprowadza się w maksymalizacji wyrażenia: 56 / 60
Algorytmy Rozpoznawania Wzorców 2DLDA/LDArc (3) W tym celu obliczane są rozkłady macierzy H: Dające zestawy macierzy wektorów własnych V i wartości własnych Λ dla odpowiednich reprezentacji (wierszowych R i kolumnowych C). 57 / 60
2DLDA/LDArc (5) Algorytmy Rozpoznawania Wzorców Przekształcenie LDArc można przedstawić w następujący sposób: Przykładowe wyniki redukcji przedstawiono poniżej: 58 / 60
Algorytmy Rozpoznawania Wzorców 2DLDA/LDArc: przykłady G. Kukharev, P. Forczmański, Facial images dimensionality reduction and recognition by means of 2DKLT, Machine Graphics & Vision, vol. 16, no. 3/4, 2007, s. 401-425 59 / 60
Literatura Simon Haykin, Neural Networks A Comprehensive Foundation- 2nd Edition, Prentice Hall Marian Stewart Bartlett, Face Image Analysis by Unsupervised Learning, Kluwer academic publishers A. Hyvärinen, J. Karhunen and E. Oja, Independent Component Analysis,, John Willy & Sons, Inc. D. L. Swets and J. Weng, Using Discriminant Eigenfeatures for Image Retrieval, IEEE Trasaction on Pattern Analysis and and Machine Intelligence, Vol. 18, No. 8, August 1996 60 / 60