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

Podobne dokumenty
4. Obraz twarzy jako identyfikator biometryczny.

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

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

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

POB Odpowiedzi na pytania

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

Komputerowe obrazowanie medyczne

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

Filtracja obrazu operacje kontekstowe

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

Przetwarzanie obrazu

Detekcja twarzy w obrazie

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

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Akwizycja obrazów. Zagadnienia wstępne

Filtracja obrazu operacje kontekstowe

3. OPERACJE BEZKONTEKSTOWE

Przetwarzanie obrazów wykład 4

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

Przetwarzanie obrazów rastrowych macierzą konwolucji

Przetwarzanie obrazu

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

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

ANALIZA SEMANTYCZNA OBRAZU I DŹWIĘKU

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

Rozpoznawanie Twarzy i Systemy Biometryczne

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

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

Przekształcenia punktowe

Implementacja filtru Canny ego

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

Analiza obrazów - sprawozdanie nr 2

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

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

dr inż. Tomasz Krzeszowski

Laboratorium Przetwarzania Sygnałów

Agnieszka Nowak Brzezińska

Podstawy przetwarzania obrazów teledetekcyjnych. Format rastrowy

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

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

Operacje przetwarzania obrazów monochromatycznych

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

Przetwarzanie obrazu

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

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

Agnieszka Nowak Brzezińska Wykład III

Python: JPEG. Zadanie. 1. Wczytanie obrazka

Agnieszka Nowak Brzezińska Wykład III

Zamiana reprezentacji wektorowej na rastrową - rasteryzacja

Rozpoznawanie obiektów z użyciem znaczników

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

Detekcja punktów zainteresowania

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

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

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

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

Systemy uczące się wykład 2

Laboratorium Cyfrowego Przetwarzania Obrazów

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

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

Metody systemowe i decyzyjne w informatyce

Teoria przetwarzania A/C i C/A.

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

Laboratorium Cyfrowego Przetwarzania Obrazów

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

Przekształcenia punktowe i geometryczne

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.

Sieci Kohonena Grupowanie

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

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

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

Adam Korzeniewski p Katedra Systemów Multimedialnych

Techniki wizualizacji. Ćwiczenie 2. Obraz cyfrowy w komputerze

oraz kilka uwag o cyfrowej rejestracji obrazów

Histogram obrazu, modyfikacje histogramu

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

WYBRANE ZAGADNIENIA WIDZENIA MASZYNOWEGO

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

Metody komputerowego przekształcania obrazów

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

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

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

Przekształcenia widmowe Transformata Fouriera. Adam Wojciechowski

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

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

FOTOGRAMETRIA I TELEDETEKCJA

Mathcad c.d. - Macierze, wykresy 3D, rozwiązywanie równań, pochodne i całki, animacje

Transformata Fouriera i analiza spektralna

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

10. Redukcja wymiaru - metoda PCA

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

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Transkrypt:

Jacek Jakubowski jjakubowski@wat.edu.pl tel. 261-839-082 konsultacje: wtorki, 15.05 16.35 s. 56/100 J. Jakubowski 1

Spis treści [..] 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 2

4. Obraz twarzy jako identyfikator biometryczny J. Jakubowski 3

Spis treści [..] 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 4

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 5

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 6

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 7

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 8

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

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 10

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 11

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 12

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 13

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

Operacje I/O dla obrazów 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 15

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 16

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

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

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 19

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 20

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

wpływ kąta padania światła w zakresie 90 (oświetlenie żarowe) J. Jakubowski 22

5. Kluczowe przekształcenia obrazu biometrycznego 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 23

Spis treści [..] 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 24

5.1.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 25

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 26

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

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 28

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

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

5.1.2. 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 np. metoda NN y new x new J. Jakubowski 31

Operacje na obrazach w Matlabie cz. 1 (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 32

5.2.1. 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 33

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 34

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 35

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

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

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

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

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

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

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

Przykładowe operacje arytmetyczne bezkontekstowe - rozciągnięcie histogramu (wzrost kontrastu) 255 J ( x, y) I ( x, y) I I I max min min J. Jakubowski 43

Przykładowe operacje arytmetyczne bezkontekstowe - wyrównywanie histogramu (wzrost kontrastu) J. Jakubowski 44

Operacje na obrazach w Matlabie cz. 2 (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 45

5.2.2. 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 46

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 47

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

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

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

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

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 52

Operacje na obrazach w Matlabie cz. 3 (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 53

Spis treści [..] 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 54

5.3. 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 55

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 56

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 57

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 58

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 59

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 TA=95% przy FA 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 60

Symbole stosowane w klasyfikacji binarnej równoważne zapisy: Stan faktyczny nie twarz (reject) Wynik klasyfikacji Nie - twarz Twarz liczba TR liczba FA (true reject) (false accept) twarz (accept) liczba FR (false reject) liczba TA (true accept) Stan faktyczny nie twarz (negative) Wynik klasyfikacji Nie - twarz Twarz liczba TN liczba FP (true negative) (false positive) twarz (positive) liczba FN (false negative) liczba TP (true positive) J. Jakubowski 61

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 TA= prawie 100% i FA 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 62

5. Finałowa postać detektora Violi Jonesa łącznie 38 warstw z całkowitą liczbą cech 6060 warstwa nr 1: 2 cechy TA=99.9%, FA=50% warstwa nr 2: 10 cech TA=99.9%, FA=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 63

Operacje na obrazach w Matlabie cz. 4 (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 64

Spis treści [..] 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 65

R. Brunelli, T. Poggio, Face Recognition through Geometrical Features, https://www.researchgate.net/publication/2716938 5.4. 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 66

J. Jakubowski 67 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 68

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 69

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

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 71

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 72

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 73

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 74

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 75

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 76

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 77

6. Systemy multibiometryczne jako clue biometrii J. Jakubowski 78

Spis treści [..] 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 79

6.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 80

6.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 81

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 82

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 83

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 84

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 85

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 86

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 87

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