• Nie Znaleziono Wyników

Podstawy teoretyczne

W dokumencie Index of /rozprawy2/10954 (Stron 44-49)

3. Algorytmy znakowania wodnego wykorzystujące obrazy twarzy

3.1. Podstawy teoretyczne

3.1. Podstawy teoretyczne

W tym podrozdziale zaprezentowane zostaną podstawowe informacje dotyczące metod uczenia maszynowego, które zostały wykorzystane do konstrukcji znaków wodnych. Omó-wione są takeż zagadnienia związane z przeprowadzaniem identyfikacji biometrycznej za pomocą sieci neuronowych.

3.1.1. Metody rozpoznawania twarzy oparte na uczeniu maszynowym

W metodach automatycznego rozpoznawania i identyfikacji osób na podstawie zdjęć twa-rzy wyróżnia się dwa podstawowe podejścia ([78]). Pierwsze z nich polega na analizie geometrycznych cech twarzy, takich jak pozycja/rozmiar oczu, uszu, nosa, odległości mię-dzy nimi itp., które można wyznaczyć dokonując odpowiednich pomiarów obiektów na obrazie twarzy. Z tych cech konstruowany jest wektor stanowiący reprezentację analizo-wanego obrazu twarzy, przy czym rozmiar tego wektora zależy od ilości rozważanych cech. Alternatywnym podejściem jest analiza całego obrazu twarzy jako tablicy pikseli, kiedy podczas klasyfikacji bierze się pod uwagę cechy obrazu wynikające z wartości pikseli, ich rozmieszczenia itp. Jednak w tym przypadku, ponieważ z góry wiadomo, że rozmiar danych jest bardzo duży (ilość pikseli w obrazie), często wykorzystuje się dodatkowo metody uczenia maszynowego, które pozwalają zredukować rozmiar danych i ułatwiają ich klasyfikację.

W prezentowanym w tym rozdziale pracy podejściu do konstrukcji znaków wodnych opar-tych na obrazach twarzy, zostanie wykorzystane to drugie podejście. Punktem wyjścia do takiej analizy jest fakt, że każdy obraz twarzy w skali szarości o rozmiarze p × q może być łatwo przekształcony do postaci wektora w m-wymiarowej przestrzeni, gdzie m = pq. Niestety rozmiar tej przestrzeni często jest zbyt duży żeby w sposób efektywny można by-ło przeprowadzić klasyfikację takich wektorów. Dlatego poszukuje się nowej reprezentacji każdego m-wymiarowego wektora w przestrzeni o mniejszym rozmiarze, w której ta kla-syfikacja byłaby prostsza. W tym celu można wykorzystać analizę składowych głównych (Principal Component Analysis, PCA) lub jedno z jej ulepszeń uwzględniające dodatkową procedurę normalizacji znane jako metoda normowania i ekstrakcji cech własnych

(Eigen-3.1. Podstawy teoretyczne 44

feature Regularization and Extraction, ERE), zaproponowana przez [41] i zastosowana np. w [17]. Obydwie metody poszukują takiej reprezentacji wektorów twarzy, w której przy redukcji rozmiarowości nadal zachowana zostaje struktura danych. Z technicznego punk-tu widzenia dla obu metod ta nowa reprezentacja danych jest otrzymywana za pomocą operacji rzutowania z przestrzeni większego wymiaru do przestrzeni niższego wymiaru, zgodnie z opisanymi poniżej procedurami.

Niech Xtrain oznacza macierz danych treningowych o rozmiarze N × m, która zawiera w wierszach wektory, odpowiadające przekonwertowanym do postaci wektorowej obrazom twarzy. Macierz ta zawiera N wierszy, przy czym zgodnie z notacją przedstawioną w [17] są to wektory pochodzące od N c osób po N s powtórzeń dla każdej osoby, zatem N = N c ∗ N s.

Analiza składowych głównych W tej metodzie zakłada się, że w przypadku wektorów

o dużym rozmiarze wiele spośród ich współrzędnych jest ze sobą skorelowanych i dlatego dąży się do pozostawienia tylko kilku nieskorelowanych współrzędnych, które byłyby w stanie uchwycić większość z zawartej w danych informacji. W tym celu dla zbioru wekto-rów metoda PCA najpierw znajduje tzw. komponenty główne, czyli kierunki (wektory), w których wariancja tych danych jest największa. Żeby znaleźć te kierunki, liczona jest próbkowa macierz kowariancji dla wierszy macierzy Xtrain

S = 1 N N c X i=1 N s X j=1 (xtrainij − x)(xtrainij − x)T, (3.1)

gdzie xtrainij oznacza j-ty wektor dla i-tej osoby, a x = N1 PN c i=1

PN s

j=1xtrainij jest średnim wektorem w całym zbiorze. Następnie macierz kowariancji S jest dekomponowana w celu wyznaczenia jej wartości i wektorów własnych (λl, φl) dla l = 1, 2, . . . , m. Wreszcie z K najbardziej znaczących wektorów własnych (odpowiadających największym wartościom własnym) konstruowana jest macierz rzutowania Upca = [φ1, . . . , φK]. Wartość K okre-ślająca wymiar nowej przestrzeni wektorów jest często ustalana na podstawie tego jaki procent zmienności wariancji jest wyjaśniany przez K największych wartości własnych. Dysponując danymi treningowymi (do wyznaczenia przestrzeni cech) i danymi testowymi

3.1. Podstawy teoretyczne 45

(które należy sklasyfikować), rozpoznawanie twarzy w metodzie PCA sprowadza się do wykonania poniższych kroków:

• rzutowanie wszystkich wektorów treningowych z Xtrain na podprzestrzeń PCA, w celu otrzymania zredukowanej reprezentacji Ytrain = Xtrain∗ Upca;

• rzutowanie wektorów z macierzy testowej Xtest na tę samą podprzestrzeń PCA w celu otrzymania reprezentacji Ytest = Xtest∗ Upca;

• przeprowadzenie klasyfikacji danych, poprzez porównywanie wektorów z Ytest ze zbio-rem referencyjnym Ytrain.

Mimo, że PCA jest bardzo skutecznym narzędziem do znajdowania zredukowanej repre-zentacji danych, to jednak do jej wad należy zaliczyć fakt, że nie uwzględnia podziału na klasy, tzn. tego czy poszczególne wektory pochodzą od tej samej osoby czy też nie, co może mieć znaczenie w klasyfikacji. Dlatego na podbudowie PCA opracowano też inne metody, które uwzględniają podział danych na klasy i stosowane są w bardziej współ-czesnych systemach rozpoznawania twarzy [17]. Jedną z nich jest metoda polegająca na normowaniu wartości własnych i ekstrakcji cech (ERE).

Normowanie i ekstrakcja cech własnych Idea metody ERE polega na

minimalizowa-niu wariancji w obrębie klas (dla tych samych osób) i jednoczesnym maksymalizowaminimalizowa-niu wariancji między klasami (dla różnych osób). Wynika to z założenia, że niektóre dane już na wstępnym etapie analizy powinny być sklastrowane bliżej siebie (gdy należą do tej samej klasy), a niektóre oddalone od siebie (gdy należą do różnych klas). Pierwszym krokiem metody ERE jest policzenie dla wektorów macierzy Xtrain macierzy rozrzutu wewnątrz klas Sw Sw = 1 N N c X i=1 N s X j=1 (xtrainij − xi)(xtrainij − xi)T, (3.2)

gdzie xi jest uśrednionym wektorem dla i-tej klasy. Następnie macierz Sw jest dekompo-nowana w celu wyznaczenia jej wartości i wektorów własnych (λw

l , φw

3.1. Podstawy teoretyczne 46

Te wartości własne po uporządkowaniu w kolejności malejącej są dzielone na trzy grupy: przestrzeń twarzy, przestrzeń szumu i przestrzeń zerowa. W każdej z tych grup dochodzi do unormowania wartości własnych w celu otrzymania unormowanych wartości własnych ˜λwl , które w przestrzeni twarzy są równe po prostu λw

l , w przestrzeni szumu są rosnącą funkcją l, a w przestrzeni zerowej są równe stałej wartości (szczegółowy opis tej procedury znajduje się w [41]). Tak otrzymane wartości własne służą do obliczenia wag ˜ww

l = 1/˜λw

l , które są następnie wymnażane przez odpowiadające im wektory własne φwl dla l = 1, 2, . . . , m w celu otrzymania macierzy ważonych wektorów własnych Φw = [ ˜ww

1φw

1, . . . , ˜ww mφw

m] (o roz-miarze N × m). W następnym kroku algorytmu macierz wektorów treningowych Xtrain jest mnożona przez macierz Φw

Yw = Xtrain∗ (Φw)T, (3.3)

Następnie liczona jest całkowita macierz rozrzutu dla macierzy Yw

St= 1 N N c X i=1 N s X j=1 (yijw− y)(yw ij− y)T, (3.4)

gdzie każdy yijw odpowiada j-temu wektorowi dla i-tej osoby, a y = N1 PN c i=1

PN s j=1ywij . Wreszcie, St jest dekomponowana w celu wyznaczenia wartości i wektorów własnych i podobnie jak w PCA wybierane jest K najbardziej znaczących wektorów własnych, które tworzą macierz Φt = [φt

1, . . . , φt

K] (o rozmiarze N × K). Procedura kończy się skonstru-owaniem macierzy rzutowania dla metody Uere = (Φw)TΦt (o rozmiarze m × K). W tej metodzie rozpoznawanie twarzy odbywa się przez wyznaczenie Ytrain = Xtrain∗ Uere oraz Ytest= Xtest∗Uere, które są podstawą do przeprowadzenia klasyfikacji, tak jak w metodzie PCA.

3.1.2. Identyfikacja biometryczna za pomocą sieci neuronowych

System identyfikacji rozpoznaje kim jest dany użytkownik. Aby tego dokonać zwykle odczytuje, za pomocą czytnika, cechy biometryczne danej osoby, a następnie porów-nuje je z wzorcami zapisanymi w bazie danych. Taki system przeprowadza porównanie

3.1. Podstawy teoretyczne 47

jeden-do-wielu w celu określenia tożsamości osoby, a jego odpowiedzią jest zidentyfikowa-na tożsamość bądź odrzucenie danej osoby jako niezarejestrowanej w bazie. Oczywiście identyfikacja ze względu na ilość przeprowadzanych porównań i możliwych odpowiedzi jest problemem złożonym, a jej wynik zależy nie tylko od jakości danych, ale też od doboru odpowiedniego narzędzia.

Ponieważ jednym z najczęściej wykorzystywanych klasyfikatorów w problemach

rozpozna-Rysunek 3.1: Architektura sieci neuronowej typu feedforward z jedną ukrytą warstwą, N oznacza liczbę próbek wejściowych, H to liczba ukrytych neuronów, a g() oznacza funkcję aktywacji warstwy

wania twarzy są sieci neuronowe ([78]), także w prezentowanym w tym rozdziale podejściu do klasyfikacji wektorów twarzy zostanie wykorzystana sieć typu feedforward (np. [11]) oparta na algorytmie wstecznej propagacji błędów jak to zaproponowano w [68]. Model takiej sieci zawierającej tylko jedną warstwą ukrytą z H neuronami i funkcją aktywacji warstwy g() jest zaprezentowany na rys. 3.1. Warstwę wejściową, która otrzymuje dane z zewnątrz sieci stanowią dane, które należy sklasyfikować, np. obrazy/wektory twarzy, dla których należy przeprowadzić identyfikację. Zatem liczba elementów tej warstwy i ich wymiar są zdeterminowane przez ilość i wymiar danych, które podlegają klasyfikacji. Z kolei warstwa wyjściowa produkuje odpowiedzi sieci będące rozwiązaniami postawionych

W dokumencie Index of /rozprawy2/10954 (Stron 44-49)

Powiązane dokumenty