4. Obraz twarzy jako identyfikator biometryczny.

Podobne dokumenty
Jacek Jakubowski tel konsultacje: wtorki, s. 56/100.

Proste metody przetwarzania obrazu

Obraz jako funkcja Przekształcenia geometryczne

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

Zygmunt Wróbel i Robert Koprowski. Praktyka przetwarzania obrazów w programie Matlab

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

POB Odpowiedzi na pytania

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

WYKŁAD 3. Przykłady zmian w obrazie po zastosowaniu Uniwersalnego Operatora Punktowego

Filtracja obrazu operacje kontekstowe

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 2 AiR III

Przetwarzanie obrazu

Detekcja twarzy w obrazie

Komputerowe obrazowanie medyczne

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Filtracja obrazu operacje kontekstowe

Akwizycja obrazów. Zagadnienia wstępne

Przetwarzanie obrazów wykład 4

Przetwarzanie obrazów rastrowych macierzą konwolucji

3. OPERACJE BEZKONTEKSTOWE

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

SYSTEM BIOMETRYCZNY IDENTYFIKUJĄCY OSOBY NA PODSTAWIE CECH OSOBNICZYCH TWARZY. Autorzy: M. Lewicka, K. Stańczyk

Przetwarzanie obrazu

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU

Obraz cyfrowy. Radosław Mantiuk. Wydział Informatyki Zachodniopomorski Uniwersytet Technologiczny w Szczecinie

Rozpoznawanie Twarzy i Systemy Biometryczne

Przekształcenia punktowe

Implementacja filtru Canny ego

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 9. Przetwarzanie sygnałów wizyjnych. Politechnika Świętokrzyska.

Analiza obrazów - sprawozdanie nr 2

Klasyfikatory: k-nn oraz naiwny Bayesa. Agnieszka Nowak Brzezińska Wykład IV

Analiza obrazu. wykład 1. Marek Jan Kasprowicz Uniwersytet Rolniczy Marek Jan Kasprowicz Analiza obrazu komputerowego 2009 r.

dr inż. Tomasz Krzeszowski

POPRAWIANIE JAKOŚCI OBRAZU W DZIEDZINIE PRZESTRZENNEJ (spatial image enhancement)

ALGORYTMY PRZETWARZANIA OBRAZÓW Projekt. Aplikacja przetwarzająca obrazy z możliwością eksportu i importu do programu MS Excel.

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 3 AiR III

Według raportu ISO z 1988 roku algorytm JPEG składa się z następujących kroków: 0.5, = V i, j. /Q i, j

Podstawy przetwarzania obrazów teledetekcyjnych. Format rastrowy

0. OpenGL ma układ współrzędnych taki, że oś y jest skierowana (względem monitora) a) w dół b) w górę c) w lewo d) w prawo e) w kierunku do

2. Próbkowanie Sygnały okresowe (16). Trygonometryczny szereg Fouriera (17). Częstotliwość Nyquista (20).

Diagnostyka obrazowa

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

Laboratorium Przetwarzania Sygnałów

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

Detekcja punktów zainteresowania

Przetwarzanie obrazów. Grupy metod przetwarzania obrazu. Przetwarzanie jednopunktowe. Przetwarzanie jednopunktowe. Przetwarzanie jednopunktowe

Przetwarzanie obrazu

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Agnieszka Nowak Brzezińska

Kodowanie transformacyjne. Plan 1. Zasada 2. Rodzaje transformacji 3. Standard JPEG

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Plan wykładu. Wprowadzenie Program graficzny GIMP Edycja i retusz zdjęć Podsumowanie. informatyka +

Rozpoznawanie obiektów z użyciem znaczników

Filtracja liniowa (metody konwolucyjne, tzn. uwzględniające pewne otoczenie przetwarzanego piksla):

Operacje przetwarzania obrazów monochromatycznych

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 7 AiR III

Agnieszka Nowak Brzezińska Wykład III

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Teoria przetwarzania A/C i C/A.

Metody kodowania wybranych cech biometrycznych na przykładzie wzoru naczyń krwionośnych dłoni i przedramienia. Mgr inż.

Agnieszka Nowak Brzezińska Wykład III

WYKŁAD 12. Analiza obrazu Wyznaczanie parametrów ruchu obiektów

Sieci Kohonena Grupowanie

Waldemar Izdebski - Wykłady z przedmiotu SIT / Mapa zasadnicza 30

Przedmowa 11 Ważniejsze oznaczenia 14 Spis skrótów i akronimów 15 Wstęp 21 W.1. Obraz naturalny i cyfrowe przetwarzanie obrazów 21 W.2.

Adam Korzeniewski p Katedra Systemów Multimedialnych

Techniki wizualizacji. Ćwiczenie 2. Obraz cyfrowy w komputerze

Laboratorium Cyfrowego Przetwarzania Obrazów

Metody systemowe i decyzyjne w informatyce

Laboratorium Cyfrowego Przetwarzania Obrazów

Operator rozciągania. Obliczyć obraz q i jego histogram dla p 1 =4, p 2 =8; Operator redukcji poziomów szarości

Ćwiczenie 2. Przetwarzanie graficzne plików. Wprowadzenie teoretyczne

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

WYBRANE ZAGADNIENIA WIDZENIA MASZYNOWEGO

Przekształcenia kontekstowe. Filtry nieliniowe Typowy przykład usuwania zakłóceń z obrazu

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

dr inż. Piotr Odya dr inż. Piotr Suchomski

oraz kilka uwag o cyfrowej rejestracji obrazów

Przekształcenia punktowe i geometryczne

Transformata Fouriera i analiza spektralna

Samochodowy system detekcji i rozpoznawania znaków drogowych. Sensory w budowie maszyn i pojazdów Maciej Śmigielski

Obraz i komputer. Trzy dziedziny informatyki. Podział przede wszystkim ze względu na dane wejściowe i wyjściowe

Metody komputerowego przekształcania obrazów

Politechnika Świętokrzyska. Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 8. Filtracja uśredniająca i statystyczna.

LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Michał Strzelecki Metody przetwarzania i analizy obrazów biomedycznych (3)

Diagnostyka obrazowa

6. Algorytmy ochrony przed zagłodzeniem dla systemów Linux i Windows NT.

Podstawy OpenCL część 2

FOTOGRAMETRIA I TELEDETEKCJA

Analiza obrazów. Segmentacja i indeksacja obiektów

Transkrypt:

4. Obraz twarzy jako identyfikator biometryczny J. Jakubowski 1

4.1. Powstawanie obrazu cyfrowego Głos sygnał akustyczny jednowymiarowy analogowy, w którym zmienną niezależną jest czas a zależną wartość ciśnienia akustycznego (w praktyce wartość napięcia na wyjściu mikrofonu) Obraz sygnał dwuwymiarowy, reprezentujący informację o obiekcie rzeczywistym (ze świata analogowego); jego zmienne niezależne mają sens położenia punktu na płaszczyźnie a zmienną zależną jest natężenie promieniowania (widzialne lub IR) odpowiadające temu punktowi (np. w skali szarości dla obrazów czarno-białych). W rzeczywistych sygnałach występuje nieskończenie wiele wartości zmiennych niezależnych oraz nieskończenie wiele różnych wartości zmiennych zależnych konieczność próbkowania i kwantyzacji. Uzyskiwanie jednowymiarowych sygnałów cyfrowych: J. Jakubowski 2

Uzyskiwanie obrazów cyfrowych aparaty cyfrowe, kamery, skanery, aparaty rengtenowskie itp., które proces dyskretyzacji i kwantyzacji realizują dzięki światłoczułym matrycom CCD lub CMOS. J. Jakubowski 3

Kwantyzacja w przestrzeni - pikselizacja x a t 1, t 2 próbkowanie x m, n - próbki obrazu pobrane z częstotliwościami : m = 0 M 1 n = 0 N 1 T 12 T 22 f 1 = 1 T 1 f 2 = 1 T 2 x a t 1, t 2 x m, n = x a m T 1 + t 1, n T 2 + t 2 dt 1 dt 2 T 1 2 T 2 2 x m, n T 2 T 1 próbka obrazu to nie punkt, ale element obrazu o wymiarach T 1 xt 2 zwany pikselem: picture element J. Jakubowski 4

A co z wartościami próbek, czyli pikseli? wartości z matrycy wartości z przetwornika ADC W praktyce pamiętania i analizy obrazów monochromatycznych jasność piksela kodowana jest najczęściej za pomocą: liczb całkowitych 8-bitowych uint8 (stopnie jasności od 0 do 255) przy zapisie do plików graficznych liczb całkowitych 16-bitowych uint16 (stopnie jasności od 0 do 65635) przy zapisie do plików graficznych liczb zmiennoprzecinkowych double (praktycznie ciągła skala od 0 do 1, liczby 64-bitowe) w środowiskach przetwarzania danych np. Matlab, Python J. Jakubowski 5

kwantyzacja w przestrzeni (pikselizacja) obraz rzeczywisty Podsumowanie: obraz rzeczywisty obraz cyfrowy kwantyzacja w stanach (kwantyzacja wartości) obraz cyfrowy J. Jakubowski 6

A co z kolorami? Standardowo każdy piksel może być opisywany za pomocą wektora: 1-elementowego 1-bitowego (obraz binarny) 1-elementowego wielobitowego (obraz monochromatyczny) 3-elementowego wielobitowego (obraz kolorowy) J. Jakubowski 7

http://www.cyberphysics.co.uk Model koloru RGB inne kolory na drodze dodawania liczbę wynikowych kolorów określa liczba bitów użytych do ich zakodowania w pikselu 16 bitów (R-G-B = 5-6-5) to 65536 kolorów 24 bity (R-G-B = 8-8-8) to ok. 16,7 mln. kolorów Uwaga: istnieją inne modele tworzenia kolorów np. CMYK, HSV, HSL, NTSC, Gamut, R Y macierz M x N x 3 G M C B J. Jakubowski 8

274 wiersze Obrazy indeksowane palety kolorów dla obrazu RGB należy zapamiętać 274 x 250 x 3 = 205 500 wartości pikseli (ale niektóre piksele mają te same kolory!) dla obrazu indeksowanego należy zapamiętać macierz danych 274 x 250 tablica (paleta) kolorów oraz tablicę kolorów, która w tym przypadku zawiera 2002 wierszy, czyli łączna liczba pamiętanych wartości to: 274 x 250 + 2 002 x 3 74 506 250 kolumn tablica danych J. Jakubowski 9

Rejestracja obrazu kolorowego http://white.stanford.edu/teach/index.php/quachfu http://www.fotoporadnik.pl http://www.trustedreviews.com/opinions/digital-photography-tutorial-raw-usage J. Jakubowski 10

Operacje na obrazach w Matlabie cz. 1 wczytanie z pliku: I=imread( nazwa.jpg ), [X,map]=imread( nazwa.tif ) zapis obrazu do pliku: imwrite(i,nazwa,format), np. imwrite(i, nazwa.jpg, jpg ) wyświetlenie obrazów na ekranie obrazy indeksowane: imshow(x,map) obrazy monochromatyczne: imshow(i), imshow(i,g), G-liczba poziomów jasności obrazy RGB i binarne: imshow(i) konwersja klas zmiennych: TYP format OBRAZU we A uint8 we na B double A double na na B we uint8 indeksowany (konwersja tylko dla tablicy indeksów) B=double(A)+1 konwersja struktur danych obrazowych: monochromatyczne RGB: rgb2gray indeksowane RGB: ind2rgb, rgb2ind monochromatyczne binarne: im2bw RGB binarne: im2bw indeksowane monochromatyczne: ind2gray, gray2ind B=uint8(round(A-1)) monochromatyczny lub RGB B=double(A)/255 B=uint8(round(A*255)) binarny B=double(A) B=logical(uint8(round(A-1))) J. Jakubowski 11

4.2. Rozpoznawanie tożsamości na podstawie obrazu twarzy [..] Akwizycja obrazu [12,1 4,22 1,15 5,63] [13,7 3,43 2,45 6,47] Mirek Janek [23,9 7,67 0,39 1,89] Jacek Przetwarzanie wstępne [15,2 5,77 1,17 4,35] [..] Darek Obraz przetworzony Referencyjna baza danych Detektor twarzy Ekstraktor cech Klasyfikator /np. metoda k-nn, metody neuronowe/ Wynik Jacek [23,6 7,89 0,34 1,92] J. Jakubowski 12

4.3. Ocena obrazu twarzy jako materiału biometrycznego Co przemawia za wykorzystaniem obrazów twarzy? jako środek uwierzytelniania pod nazwą MIENIE (coś, co posiadam) są w powszechnym użyciu dzięki wykorzystaniu dowodów, paszportów, praw jazdy itp., http://www.clubcard.com.pl https://obywatel.gov.pl jako środek uwierzytelniania pod nazwą BIOMETRYKA jest cechą fizjologiczną, która charakteryzuje się potencjalnym brakiem wymagań co do kontaktu lub nawet świadomego udziału osoby poddawanej pobraniu próbki nadaje się do badań przesiewowych (teoretycznie w czasie rzeczywistym), http://www.gettyimages.in istnieją duże bazy danych obrazowych podmiotów zainteresowanych bezpieczeństwem (policja, straż graniczna), dla których jedyną metodą analizy jest analiza, porównywanie obrazów twarzy. J. Jakubowski https://www.fbi.gov 13

Główne problemy wykorzystania obrazu twarzy w systemach rozpoznawania Zmienne oświetlenie Różne ustawienie twarzy względem kamery J. Jakubowski 14

Główne problemy wykorzystania obrazu twarzy w systemach rozpoznawania Mimika twarzy Przesłonięcie części twarzy J. Jakubowski 15

http://imgkid.com http://www.pro-therm.com Charakterystyka obrazów rejestrowanych w podczerwieni Zakresy promieniowania elektromagnetycznego Rejestracja obrazu w podczerwieni bliska podczerwień: średnia podczerwień: daleka podczerwień: 0,78mm 3mm 3mm 5mm 8mm 14mm Prawo Plancka dł. fali promieniowania obiektu o temperaturze ludzkiego ciała J. Jakubowski 16

C:\Users\SAT00329.SAT Temperature Range:34.6 -- 20.8 Unit: Â C 22.21;22.07;22.07;21.96;21.96;21.89;21.89;21.89;21.89;22;22;22.21;22.21;2 1.96;21.96;21.81;21.81;22.21;22.21;21.89;21.89;22.1;22.1;22.43;22.43;22.2 1;22.21;22.21;22.21;21.74;21.74;22.21;22.21;22.18;22.18;22.03;22.03;22.07 ;22.07;22.29;22.29;21.85;21.85;22.07;22.07;21.89;21.89;22.1;22.1;21.85;21.85;21.89;21.89;21.89;21.89;22.21;22.21;22.25;22.25;22.32;22.32;21.96;21. 96;21.63;21.63;22;22;22.32;22.32;22;22;22.03;22.03;21.81;21.81;21.92;21.9 2;22;22;22.07;22.07;21.92;21.92;22.25;22.25;22;22;22.1;22.1;21.78;21.78;2 1.78;21.78;21.56;21.56;22.07;22.07;22.07;22.07;21.81;21.81;21.85;21.85;21.85;21.85;22.1;22.1;21.89;21.89;22.14;22.14;22.25;22.25;21.74;21.74;22.32 ;22.32;22.1;22.1;21.78;21.78;22.07;22.07;21.96;21.96;21.92;21.92;22;22;22.4;22.4;22.54;22.54;22.07;22.07;22.21;22.21;22.47;22.47;22.47;22.47;22.87 ;22.87;22.69;22.69;23.34;23.34;23.67;23.67;23.27;23.27;23.59;23.59;23.7;2 3.7;23.59;23.59;23.05;23.05;23.05;23.05;22.65;22.65;22.54;22.54;22.21;22. 21;22.4;22.4;22.32;22.32;22.32;22.32;21.92;21.92;21.74;21.74;21.96;21.96; 22.25;22.25;22.18; J. Jakubowski 17

wpływ zmiany natężenia oświetlenia żarowego (oświetlenie frontalne) wpływ rodzaju oświetlenia (kolejno: żarowe, jarzeniowe, LEDowe) J. Jakubowski 18

wpływ kąta padania światła w zakresie 90 (oświetlenie żarowe) 4.4. Metody wstępnego przetwarzania obrazów geometryczne gdy zmienia się położenie piksela skalowanie (powiększanie - zoom cyfrowy) obrót arytmetyczne gdy zmienia się tylko wartość piksela bezkontekstowe kontekstowe J. Jakubowski 19

4.4.1. Przekształcenia geometryczne - skalowanie obraz odniesienia 256 x 256 (obraz wyjściowy) nowy przypadek 64 x 64 (obraz wejściowy) konieczność powiększenia obrazu Parametry skalowania: skala S (stosunek wymiarów obrazu wyjściowego do wejściowego) metoda (sposób wypełnienia pikseli obrazu wyjściowego) NN, (bi)linear, (bi)cubic, spline.. 0 1 2 3 0 1 0 0 np. powiększenie x2 1 1 2 3 J. Jakubowski 20

Metoda najbliższego sąsiedztwa (NN Nearest Neighbours) wyznaczanie współrzędnych najbliższego odpowiednika (sąsiada) xnew xorgr ; xorg floor( xorgr ) S ynew yorgr ; yorg floor( yorgr ) S skopiowanie wartości piksela z obrazu wejściowego o współrzędnych (x org, y org ) do piksela obrazu wyjściowego o współrzędnych (x new, y new ) w wyjściowym wystąpią tylko kolory (odcienie) z obrazu wejściowego 0 1 0 1 2 3 0 1 2 0 1 2 metoda NN 1 1 3 4 2 3 4 3 J. Jakubowski 21

Test metody najbliższego sąsiedztwa przy powiększeniu obrazu J. Jakubowski 22

Metoda interpolacji liniowej (bilinear) każdy piksel obrazu wyjściowego przyjmuje wartość obliczoną na podstawie 2 lub 4 sąsiednich pikseli obrazu wejściowego pierwszy krok to wyznaczenie dla obrazu wyjściowego współrzędnych najbliższych odpowiedników z obrazu wejściowego (jak w metodzie NN) przeprowadzenie interpolacji w kierunku: poziomym a następnie: pionowym 0 1 2 3 0 1 2 0 1 0 1 2 metoda interpolacji liniowej 1 1 3 4 2 3 4 3 J. Jakubowski 23

Test metody liniowej (bilinear) przy powiększaniu obrazu J. Jakubowski 24

Pomniejszanie obrazu interpolacja typu bilinear z oceną wpływu filtracji antyaliasingowej J. Jakubowski 25

Przekształcenia geometryczne - obrót y org x newr A x Acos y Bsin org org y newr B x Asin y Bcos org org x org zaokrąglenie współrzędnych interpolacja y new np. metoda NN x new J. Jakubowski 26

Operacje na obrazach w Matlabie cz. 2 (przekszt. geometryczne) skalowanie obrazu: Inew=imresize(I,skala,metoda_interpolacji, antialiasing,param) metoda_interpolacji: nearest, bilinear, bicubic param: true, false obrót obrazu Inew=imrotate(I,alfa, metoda_interpolacji) metoda_interpolacji: nearest, bilinear, bicubic alfa: kąt obrotu w stopniach, obrót przeciwnie do ruchu wskazówej zegara J. Jakubowski 27

4.4.2. Przekształcenia arytmetyczne bezkontekstowe Cechy charakterystyczne Przekształcenie obrazu wejściowego I na wyjściowy J: I J (lub kilku obrazów wejściowych na jeden wyjściowy np. J = I1 + I2) Operacje jedynie na pojedynczych pikselach obrazu: I(x,y) J(x,y) Otoczenie piksela nie ma wpływu na wynik obliczeń Piksele o tej samej intensywności są traktowane w ten sam sposób Cele: Poprawa jakości w zakresie jasności i kontrastu Modyfikacja histogramu obrazu Operacje na kilku obrazach (dodawanie, odejmowanie) J. Jakubowski 28

Histogram Jest to wykres obrazujący, ile w obrazie występuje pikseli o zadanej intensywności, tzn. na osi X odłożone są wszystkie możliwe intensywności liczona wzdłuż osi Y wysokość słupka określa liczbę pikseli J. Jakubowski 29

Zmiana wartości piksela tablica tonalna LUT (Look Up Table) Operacje bezkontekstowe definiuje tablica tonalna LUT, która określa wartość piksela w obrazie wyjściowym: Cel tabeli LUT: J ( x, y) LUT I( x, y) obliczenia bezkontekstowe obrazu 500x500 metodą piksel po pikselu np. logarytmowanie to 250tys. powtórzeń obliczeń (dla każdego piksela) lepiej przygotować dodatkową tablicę (tablicę LUT), o liczbie wierszy równej liczbie możliwych intensywności na wejściu (na przykład 256), która będzie zawierać gotowe wyniki przeliczenia poszczególnych pikseli i pobierać je do matrycy przetwarzanego obrazu Popularne liniowe operacje bezkontekstowe: J ( x, y) B C I( x, y) przykładowa tabela LUT piksel F(piksel) 0 9 1 45 2 204 3 120 4 250 253 12 254 35 zmiana jasności zmiana kontrastu 255 254 J. Jakubowski 30

Przykładowe operacje arytmetyczne bezkontekstowe - operacja identycznościowa J. Jakubowski 31

Przykładowe operacje arytmetyczne bezkontekstowe - negatyw J. Jakubowski 32

Przykładowe operacje arytmetyczne bezkontekstowe - progowanie J. Jakubowski 33

Przykładowe operacje arytmetyczne bezkontekstowe - zwiększenie jasności (np. o 55) J. Jakubowski 34

Przykładowe operacje arytmetyczne bezkontekstowe - zmniejszenie jasności (np. o 55) J. Jakubowski 35

Przykładowe operacje arytmetyczne bezkontekstowe - zwiększenie kontrastu J. Jakubowski 36

Przykładowe operacje arytmetyczne bezkontekstowe - zmniejszenie kontrastu J. Jakubowski 37

Operacje na obrazach w Matlabie cz. 3 (przekszt. bezkontekstowe) wyznaczanie histogramu: imhist(i) liniowe operacje bezkontekstowe Inew=imadjust(I,In,Out) In: wektor 2 parametrów opisujących oś X krzywej tonalnej (z przedziału od 0 do 1) Out: wektor 2 parametrów opisujących oś Y krzywej tonalnej (z przedziału od 0 do 1) (1,1) Uwaga: celem operowania na intensywnościach w zakresie od 0 do 255 (zamiast od 0 do 1) można użyć zapisów: Out(2) In=[55 200]/255; Out=[55 200]/255; Out(1) (0,0) In(1) In(2) J. Jakubowski 38

Chwila przerwy - postrzeganie kolorów przez człowieka Edward H. Adelson.: http://web.mit.edu/persci/people/adelson/checkershadow_illusion.html J. Jakubowski 39

4.4.3. Przekształcenia arytmetyczne kontekstowe Cechy charakterystyczne Przekształcenie obrazu wejściowego I na wyjściowy J: I J Otoczenie piksela ma wpływ na wynik obliczeń Piksel obrazu wyjściowego zależy od piksela w obrazie wejściowym i jego otoczenia, czyli kontekstu: gdzie: i = -m,..., +m oraz j = -n,..., +n kontekst (otoczenie): f : liniowa lub nieliniowa I W [(2m+1) x (2n+1)] W szczególności kontekstem może być cały obraz Cele: I( x, y) J ( x, y) f I( x i, y j) Poprawa jakości w zakresie wyostrzania i usuwania szumu Wzmacnianie cech (np. krawędzi) J. Jakubowski 40

Filtracja liniowa Piksel obrazu wyjściowego jest liniową kombinacją pikseli jego otoczenia rozpatrywanego w obrazie wejściowym (odpowiednik filtracji FIR w cyfrowym przetwarzaniu sygnałów) Liniową kombinację dla wszystkich pikseli (filtrację) realizuje operacja splotu z pewną macierzą w, której elementy determinują efekt wynikowy: J ( x, y) w( x, y) I( x, y) m n im jn w( i, j) I( x i, y j) J ( x, y) w( 1, 1) I( x 1, y 1) w(0, 1) I( x, y 1) w(1, 1) I( x 1, y 1) w maska splotu Przykład. Obliczenia dla maski w o wymiarach m x n = 3 x 3 w( 1,0) I( x 1, y) w(0,0) I( x, y) w(1,0) I( x 1, y) w(-1,-1) w(-1,0) w(-1,1) w(0,-1) w(0,0) w(0,1) w(1,-1) w(1,0) w(1,1) w( 1,1) I( x 1, y 1) w(0,1) I( x, y 1) w(1,1) I( x 1, y 1) J. Jakubowski 41

Przykłady filtracji filtracja dolnoprzepustowa, maska równomierna oryginał J. Jakubowski 42

Przykłady filtracji filtracja dolnoprzepustowa, filtr wagowy Gaussa oryginał maska jednolita sigma = 0.9 sigma = 0.6 J. Jakubowski 43

Przykłady filtracji filtracja górnoprzepustowa (filtry Laplace a) oryginał J. Jakubowski 44

Przykłady filtracji wyostrzanie krawędzi oryginał + = maski Laplace a + = J. Jakubowski 45

Filtry statystyczne Filtr minimalny (maksymalny) piksel w obrazie wyjściowym jest zastępowany pikselem o najmniejszej (największej) wartości spośród pikseli obrazu wejściowego obejmowanych maską Filtr medianowy piksel w obrazie wyjściowym jest zastępowany pikselem równym medianie wartości spośród pikseli obrazu wejściowego obejmowanych maską obraz zaszumiony po filtracji Gaussa 5 x 5 medianowy 2 x 2 medianowy 3 x 3 medianowy 10 x 10 J. Jakubowski 46

Operacje na obrazach w Matlabie cz. 4 (przekszt. kontekstowe) tworzenie masek typowych filtrów liniowych: w=fspecial(typ_filtru,parametry) typ_filtru: average, gaussian, laplacian i inne parametry: zależne od typu filtru, generalnie wymiary maski, parametry funkcji filtracja liniowa Inew=filter2(maska,I) maska: macierz zwracana przez fspecial lub dedykowana przez użytkownika uwaga: po operacji filtracji wynik jest typu double i aby go wyświetlić za pomocą imshow należy najpierw dokonać konwersji na uint8: Inew=uint8(Inew); imshow(inew) filtracja medianowa Inew=medfilt2(I,[m n]) [m n]: wymiary maski dla której określana jest mediana J. Jakubowski 47

4.5. Detekcja twarzy w obrazie Zadanie detekcji twarzy Należy określić, czy w zadanym obrazie znajduje się jakaś twarz lub twarze i jeśli tak, to należy zwrócić ich położenie i rozmiary. Historycznie wiele podejść: VI( x) M. Yang i inni, Detecting faces in images: a survey, IEEE Trans. on Pattern Analysis and Machine Intelligence, 2002 o wykorzystanie cech strukturalnych, które są niezależne od zmienności obrazu, wykorzystanie np. koloru skóry (feature invariant approaches) o wykorzystanie reguł wyrażających znane związki pomiędzy cechami twarzy (knowledge based methods) o metody korelacji obrazu z predefiniowanymi elementami bazy obrazów twarzy (template matching) o metody wykorzystujące modele twarzy, które uwzględniają reprezentatywną zmienność wyrazów twarzy (apperances based methods) dla obrazu m x n: HI( x) y1 m n x1 I( x, I( x, y) y) J. Jakubowski 48

Paul Viola, Michael Jones, Rapid Object Detection using a Boosted Cascade of Simple Features, Conference on Computer Vision and Pattern Recognition, 2001 Paul Viola, Michael Jones, Robust Real-Time Face Detection, International Journal of Computer Vision 57(2), ss. 137 154, 2004 Algorytm Violi-Jonesa, algorytm kaskad Haara 1. Ogólna idea o skanowanie obrazu za pomocą okien prostokątnych (wycinanie fragmentów do analizy) o bazowy wymiar okna 24 x 24 piksele o okna przy kolejnym skanowaniu są 1.25 razy większe od okien z poprzedniego skanowania w każdym oknie obliczane są cechy charakterystyczne i jest podejmowana decyzja: twarz nie twarz J. Jakubowski 49

2. Cechy charakterystyczne twarzy w algorytmie Violi Jonesa Podejście knowledge based mathods, wiemy np. że: o twarze ludzi są generalnie do siebie podobne o obszar oczu jest ciemniejszy niż górne części policzków i czoło o podstawa nosa jest jaśniejsza niż oczy o powyższe elementy zajmują ustalone położenie na obrazie twarzy różnych osób Analiza wybranego przekroju obrazu wzdłuż linii oczodołów i podstawy nosa: kowariancja wzajemna duża złożoność obliczeniowa: mnożenie dwu przebiegów i dodawanie J. Jakubowski 50

Uproszczenie obliczeń kowariancja z funkcją Haara (przybliżenie funkcji ciągłej) kowariancja wzajemna w praktyce sygnał jest obrazem, stąd: cechy tzw. prostokątne wartość cechy: piksele w obszarze białym piksele w obszarze czarnym czy jest to dobra cecha twarzy? J. Jakubowski 51

Zmniejszenie poziomu błędnych detekcji zastosowanie dodatkowych cech 3 typy cech: dwu-, trzy- i cztero-prostokątne każda cecha ma swoje specyficzne tylko dla niej położenie w oknie skanującym każda cecha prostokątna może mieć dowolny wymiar przykładowe cechy: uwaga: w podstawowym oknie skanującym 24 x 24 można wygenerować ok. 160 000 różnych cech prostokątnych (różne typy, wielkości i położenie)! J. Jakubowski 52

3. Selekcja cech problem: zbyt duża liczba potencjalnych cech każda cecha jest potencjalnym klasyfikatorem binarnym klasyfikatorem tzw. słabym analizując dużą liczbę obrazów twarzy wyciętych ręcznie (4916) i stosując podejście AdaBoost Viola i Jones ograniczyli liczbę cech do 200 traktując każdą z nich jako klasyfikator słaby; wypadkowy klasyfikator to suma ważona klasyfikatorów słabych: obraz wagi F ( 200 I ) 1 f1( I ) 2 f2( I )... 200 f ( I ) klasyfikator wypadkowy klasyfikatory słabe wyniki: wskaźnik TP=95% przy FP równym 1 na 14084 czas detekcji w obrazie 342x288 równy 0,7s (2001r) dobry, ale niezbyt szybki Paul Viola, Michael Jones, Robust Real-Time Face Detection, International Journal of Computer Vision 57(2), ss. 137 154, 2004 J. Jakubowski 53

4. Przyspieszenie obliczeń kaskada klasyfikatorów szacuje się, że zaledwie 0.01% okien skanujących zawiera twarze dla każdego z okien wykonuje się te same obliczenia pochłaniające ten sam czas (200 cech) propozycja: należy bardziej skupić się na tych oknach, które potencjalnie zawierają twarz okazuje się, że klasyfikator oparty na zaledwie 2 cechach (słabych) zapewnia TP= prawie 100% i FP prawie 50% oznacza to, że można go użyć jako pierwszej warstwy kaskady (wstępnego sita ) do odrzucenia najbardziej oczywistych nie-twarzy i nie tracić czasu na niepotrzebne obliczenia druga warstwa, oparta na 10 cechach odrzuca te przypadki nie-twarzy, które bardziej przypominają twarz niż te odrzucone przez pierwszą warstwę trzecia warstwa, 25 cech itd.... klasyfikator monolityczny klasyfikator kaskadowy J. Jakubowski 54

5. Finałowa postać detektora Violi Jonesa łącznie 38 warstw z całkowitą liczbą cech 6060 warstwa nr 1: 2 cechy TP=99.9%, FP=50% warstwa nr 2: 10 cech TP=99.9%, FP=20% warstwa nr 3 i 4: 25 cech warstwa nr 5, 6 i 7: 50 cech itd. czas obliczeń kaskady dla obrazu 342x288 równy 0,067s (2001r) Adam Harvey: http://makematics.com/research/viola-jones/ J. Jakubowski 55

Operacje na obrazach w Matlabie cz. 5 (detekcja twarzy) % utworzenie obiektu do detekcji twarzy DetektorTwarzy = vision.cascadeobjectdetector; % utworzenie obiektu do obramowania Obramowanie = vision.shapeinserter('bordercolor','custom', 'CustomBorderColor',[255 255 0]); % wczytanie obrazu I = imread('ise3.bmp'); % wyzwolenie detekcji twarzy - zwracane są współrzędne i wymiary % okien skanujących bbox = step(detektortwarzy, I); % narysowanie kwadratów wokół wykrytych twarzy I_faces = step(obramowanie, I, int32(bbox)); figure, imshow(i_faces), title('wykryte twarze'); J. Jakubowski 56

R. Brunelli, T. Poggio, Face Recognition through Geometrical Features, https://www.researchgate.net/publication/2716938 4.6. Metody generacji cech Standardowe metody generacji cech dystynktywnych obrazu twarzy metody geometryczne (analityczne) o grubość brwi i ich położenie w pionie (np. względem oczu) o szerokość i położenie nosa (np. względem oczu) o wymiary ust i ich położenie (np. względem oczu) o długości promieni opisujących podbródek o inne (np. stopień asymetrii twarzy) metody holistyczne (całościowe) o obraz jako macierz pikseli obraz 24 x 24 metody opisu cech lokalnych o gradientowy opis wykrytych punktów charakterystycznych i porównywanie ich z bazą danych J. Jakubowski 57

J. Jakubowski 58 Generacja cech na przykładzie met. holistycznej eigenfaces Pochodzenie metody analiza wielowymiarowych wyników eksperymentu. Jeżeli mamy zbiór p-wymiarowych wektorów x (i) w liczbie N, to każdy z nich może być przedstawiony w postaci sumy p innych wektorów t k (wektory własne), które są wyznaczone w oparciu o ten zbiór i wzięte z amplitudami, które są wynikiem przekształcenia PCA. ) ( ) ( 2 ) ( 1 (3) (3) 2 (3) 1 (2) (2) 2 (2) 1 (1) (1) 2 (1) 1............ N p N N p p p x x x x x x x x x x x x... ) ( ) ( 2 ) ( 1 (3) (3) 2 (3) 1 (2) (2) 2 (2) 1 (1) (1) 2 (1) 1............ p p p p p p p t t t t t t t t t t t t... ) ( ) ( 2 ) ( 1 ) ( (3) (3) 2 (3) 1 ) ( 3 (2) (2) 2 (2) 1 ) ( 2 (1) (1) 2 (1) 1 ) ( 1 1 ) ( ) (............ p p p p i p p i p i p i k p k i k i t t t y t t t y t t t y t t t y y... t x amplitudy wektorów bazowych CECHY

BAZA DANYCH OBRAZOWYCH Zastosowanie Dany jest pewien zbiór obrazów o (i) twarzy osób, których kolejne fotografie mają być rozpoznawane 1 2 3 4 5 J. Jakubowski 59

Przepis postępowania przetworzyć obrazy o (i) zapewniając utworzenie wektorów, które będą traktowane jak wielowymiarowe wyniki eksperymentu x (i) obraz wektor 2 13 7 16 6 8 12 15 14 5 3 6 8 7 12 6 11 12 0 1 wyznaczyć obraz średni dla obrazów twarzy z bazy danych O 1 N N i 1 o ( i) wyznaczyć wektory własne w oparciu o procedurę PCA (potrzebna macierz kowariancji i wektor średni obliczony na podstawie obrazu średniego) przetworzyć wektory własne do postaci macierzy twarzy własnych w sposób odwrotny do przedstawionego powyżej J. Jakubowski 60

ZBIÓR FUNKCJI BAZOWYCH Zbiór twarzy własnych J. Jakubowski 61

Możliwość rekonstrukcja twarze własne stanowią zbiór bazowy, na której rozpięta jest przestrzeń oryginalnych danych, gdyż umożliwia perfekcyjną rekonstrukcję każdego z jej elementów: o ( i ) k i y ( ) k t k O wystarczy tylko kilka twarzy własnych (np. n=5) do odtworzenia rozpoznawalnych cech osobniczych generacja potencjalnych cech dystynktywnych J. Jakubowski 62

Idea systemu rozpoznawania na podstawie eigenfaces na przykładzie analizy konkretnych przypadków rozpoznawanie osoby znanej (osoby nr 5) na podstawie nowego, zarejestrowanego obrazu twarzy (obrazu testowego), którego nie ma w bazie danych obraz wejściowy rekonstrukcja przy n=4 płaszczyzna dwu cech PCA J. Jakubowski 63

rozpoznawanie osoby nieznanej na podstawie zarejestrowanego obrazu twarzy (obrazu testowego), którego nie ma w bazie danych obraz wejściowy rekonstrukcja przy wszystkich twarzach własnych płaszczyzna dwu cech PCA J. Jakubowski 64

rozpoznawanie osoby znanej na podstawie zarejestrowanego obrazu twarzy (obrazu testowego), który zawiera przesłonięcie obraz wejściowy rekonstrukcja przy wszystkich twarzach własnych płaszczyzna dwu cech PCA J. Jakubowski 65

rozpoznawanie osoby znanej na podstawie zarejestrowanego obrazu twarzy (obrazu testowego) zawierającego twarz obróconą obraz wejściowy rekonstrukcja przy wszystkich twarzach własnych płaszczyzna dwu cech PCA J. Jakubowski 66

rozpoznawanie osoby znanej na podstawie zarejestrowanego obrazu twarzy (obrazu testowego) zawierającego twarz zmniejszoną obraz wejściowy rekonstrukcja przy wszystkich twarzach własnych płaszczyzna dwu cech PCA J. Jakubowski 67

Podsumowanie rozpoznawania przypadków na podstawie eigenfaces przypadek 1 przypadek 2 przypadek 3 przypadek 4 przypadek 5 klasa 1 klasa 2 klasa 3 klasa 4 klasa 5 5.02 3.59 4.38 2.70 3.35 4.34 5.99 5.16 5.68 4.97 3.02 2.75 2.55 0.58 1.45 7.33 2.82 7.43 5.73 4.62 0.29 4.64 0.63 2.18 2.68 Odległości euklidesowe rozpatrywanych przypadków do poszczególnych klas w przestrzeni 2D. Kolor czerwony to niepoprawne rozpoznanie. J. Jakubowski 68

5. Systemy multibiometryczne jako clue biometrii J. Jakubowski 69

5.1. Pojęcie systemu multibiometrycznego Kategorie pojęcia multibiometria L.p. kategoria przykład 1 wiele biometryk co najmniej dwie biometryki, np. obraz twarzy i sygnał głosu 2 wiele umiejscowień lewa i prawa tęczówka 3 wiele odczytów trzy kolejne obrazy twarzy 4 wiele rejestratorów obraz twarzy w świetle widzialnym i podczerwieni 5 wiele klasyfikatorów (komparatorów) użycie metody k-nn i metody minimalno-odległościowej 6 wiele symboli integracja biometryki z mieniem i/lub wiedzą Metody składania informacji Integracja ścisła informacje z materiału(ów) biometrycznego łączone są w jeden wektor cech, na podstawie którego podejmowana jest jedna decyzja Integracja luźna łączeniu podlegają decyzje niezależnych klasyfikatorów J. Jakubowski 70

5.2. Integracja ścisła na przykładzie algorytmu k-nn Dane zbiór uczący złożony z wektorów liczb (multibiometryczne obserwacje, np. cechy liczbowe głosu, obrazu), opisujących obiekty (osoby) C 1, C 2,... C n X x ( 1) x (2)... zbiór wartości docelowych (etykiet przynależności do klas osób) y y ( 1) y (2)... nowa obserwacja nowy przypadek (osoba), opisany wektorem liczb (new) x x ( n ) y ( n ) Cel wyznaczyć etykietę przynależności dla nowego przypadku, czyli (new) y J. Jakubowski 71

Algorytm doboru najbliższych sąsiadów x (new) porównać ze wszystkimi obserwacjami za pomocą pewnej miary odległości: x ( new) x x ( x (1) (2) n) : : : d d d... ( new) ( new) ( new) wyznaczyć zbiór K-obserwacji ze zbioru, które są położone najbliżej nowego przypadku np. dla K=4: x x x x X, x, x, x (1) (2) ( n) (7) (13) (23) (41) 4 x x x x oraz zbiór odpowiadających im K wartości docelowych y (7) (13) (23) (41) (1) (2) (3) y y y y y y y ( 44) 4 4 4 4 y J. Jakubowski 72

Reguła decyzyjna x ( new) C ( new) ( new) ( new) ( new) x max P C x, P C x,... P C x P C w w 1 2 n prawdopodobieństwa warunkowe obliczanie prawdopodobieństw interpretacja częstościowa: K liczba wszystkich wybranych najbliższych sąsiadów k i liczba sąsiadów należących do klasy C i P C i ( x new) ki K równoważna reguła decyzyjna (bo K jest stałe): x ( new) C w k w max k1, k2,... k n J. Jakubowski 73

Dyskusja doboru liczby sąsiadów K x 2 klasa C 1 klasa C 2 przypadek x (new) x 1 dla 1-NN: klasa C 1 J. Jakubowski 74

Dyskusja doboru liczby sąsiadów K x 2 klasa C 1 klasa C 2 przypadek x (new) x 1 dla 2-NN: klasa C 1 lub C 2 J. Jakubowski 75

Dyskusja doboru liczby sąsiadów K x 2 klasa C 1 klasa C 2 przypadek x (new) x 1 dla 5-NN: klasa C 2 J. Jakubowski 76

Dyskusja doboru liczby sąsiadów K 1) zbyt mała wartość K metoda czuła na szumy 2) zbyt duża wartość K obliczenia prawdopodobieństw zaburzone liczebnością klas klasa C 1 klasa C 2 x 2 N 1 = 100 przypadek x (new) dla 100-NN: ( new) k2 10 x 0. 1 K P C 2 100 ( new) k1 90 x 0. 9 K P C 1 100 N 2 = 10 x 1 J. Jakubowski 77

5.3. Integracja luźna (na poziomie decyzji) Boolowskie zasady łączenia W protokole identyfikacji W protokole weryfikacji J. Jakubowski 78