78
J. Jakubowski 1 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm 4. Obraz twarzy jako identyfikator biometryczny

4. Obraz twarzy jako identyfikator biometrycznyzese.wel.wat.edu.pl/adobrowolski/do_pobrania/PSB-2n.pdf · • każdy piksel obrazu wyjściowego przyjmuje wartość obliczoną na podstawie

Embed Size (px)

Citation preview

J. Jakubowski 1 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

4. Obraz twarzy jako identyfikator

biometryczny

J. Jakubowski 2 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 3 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 4 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Kwantyzacja w przestrzeni - pikselizacja

𝑥𝑎 𝑡1, 𝑡2próbkowanie

𝑥 𝑚, 𝑛

𝑥 𝑚, 𝑛 = 𝑥𝑎 𝑚 ∙ 𝑇1 + 𝑡1, 𝑛 ∙ 𝑇2 + 𝑡2

𝑇22

−𝑇22

𝑇12

−𝑇12

𝑑𝑡1𝑑𝑡2

𝑇1

𝑇2

𝑥𝑎 𝑡1, 𝑡2 𝑥 𝑚, 𝑛

- próbki obrazu pobrane z częstotliwościami :

𝑓1 =1

𝑇1 𝑓2 =

1

𝑇2

próbka obrazu to nie punkt,

ale element obrazu o

wymiarach

T1 xT2 zwany pikselem:

picture element

𝑚 = 0 … 𝑀 − 1

𝑛 = 0 … 𝑁 − 1

J. Jakubowski 5 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 6 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Podsumowanie: obraz rzeczywisty – obraz cyfrowy

obraz

rzeczywisty

obraz

cyfrowy

kwantyzacja w stanach

(kwantyzacja wartości)

kw

an

tyzacja

w p

rzestr

zen

i

(pik

selizacja

)

J. Jakubowski 7 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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)

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, …

J. Jakubowski 8 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

htt

p://w

ww

.cyb

erp

hysic

s.c

o.u

k

macierz M x N x 3

R

G

B

Y

C

M

J. Jakubowski 9 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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!)

250 kolumn

27

4 w

iers

ze

tablica danych

tablica (paleta) kolorów

• dla obrazu indeksowanego należy

zapamiętać macierz danych 274 x 250

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

J. Jakubowski 10 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

http://white.stanford.edu/teach/index.php/QuachFu

Rejestracja obrazu kolorowego

http://www.trustedreviews.com/opinions/digital-photography-tutorial-raw-usage

http://www.fotoporadnik.pl

J. Jakubowski 11 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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:

konwersja struktur danych obrazowych: • monochromatyczne – RGB: rgb2gray

• indeksowane – RGB: ind2rgb, rgb2ind

• monochromatyczne – binarne: im2bw

• RGB – binarne: im2bw

• indeksowane – monochromatyczne: ind2gray, gray2ind

TYP OBRAZU A uint8 na B double A double na B uint8indeksowany (konwersja

tylko dla tablicy indeksów)B=double(A)+1 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)))

we na double double na we format we

J. Jakubowski 12 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

4.2. Rozpoznawanie tożsamości na podstawie obrazu twarzy

Obraz

przetworzony

Ekstraktor

cech

Klasyfikator

/np. metoda k-NN,

metody neuronowe/

Referencyjna

baza danych

Wynik Detektor

twarzy

[23,6 7,89 0,34 1,92]

[12,1 4,22 1,15 5,63]

[13,7 3,43 2,45 6,47]

[………………………..]

[23,9 7,67 0,39 1,89]

[15,2 5,77 1,17 4,35]

[………………………..]

Mirek

Janek

Jacek

Darek

Jacek

Przetwarzanie

wstępne

Akwizycja

obrazu

J. Jakubowski 13 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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.,

• 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),

• 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.

https://www.fbi.gov

https://obywatel.gov.pl http://www.clubcard.com.pl

http://www.gettyimages.in

J. Jakubowski 14 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Główne problemy wykorzystania obrazu twarzy w systemach rozpoznawania

• Zmienne oświetlenie

• Różne ustawienie twarzy względem kamery

J. Jakubowski 15 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Główne problemy wykorzystania obrazu twarzy w systemach rozpoznawania

• Mimika twarzy

• Przesłonięcie części twarzy

J. Jakubowski 16 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Charakterystyka obrazów rejestrowanych w podczerwieni

• Zakresy promieniowania elektromagnetycznego

• Prawo Plancka

htt

p:/

/ww

w.p

ro-t

he

rm.c

om

• Rejestracja obrazu w podczerwieni

bliska podczerwień: 0,78mm – 3mm

średnia podczerwień: 3mm – 5mm

daleka podczerwień: 8mm – 14mm

htt

p:/

/im

gkid

.co

m

dł. fali promieniowania obiektu o

temperaturze ludzkiego ciała

J. Jakubowski 17 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 18 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

• wpływ zmiany natężenia oświetlenia żarowego (oświetlenie frontalne)

• wpływ rodzaju oświetlenia (kolejno: żarowe, jarzeniowe, LEDowe)

J. Jakubowski 19 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

• 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

0 1 2 3

0

1

2

3

0 1

0

1

J. Jakubowski 20 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 …..

np. powiększenie x2

0 1 2 3

0 1 21

2 3 43

0 1

0 1 21 3 4

J. Jakubowski 21 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Metoda najbliższego sąsiedztwa (NN – Nearest Neighbours)

• wyznaczanie współrzędnych najbliższego odpowiednika (sąsiada)

• skopiowanie wartości piksela z obrazu wejściowego o współrzędnych (xorg, yorg)

do piksela obrazu wyjściowego o współrzędnych (xnew, ynew) – w wyjściowym

wystąpią tylko kolory (odcienie) z obrazu wejściowego

metoda NN

)floor(

)floor(

orgRorgnew

orgR

orgRorgnew

orgR

yyS

yy

xxS

xx

;

;

J. Jakubowski 22 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Test metody najbliższego sąsiedztwa przy powiększeniu obrazu

0 1 2 3

0 1 21

2 3 43

0 1

0 1 21 3 4

J. Jakubowski 23 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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

metoda interpolacji

liniowej

J. Jakubowski 24 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Test metody liniowej (bilinear) przy powiększaniu obrazu

J. Jakubowski 25 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Pomniejszanie obrazu – interpolacja typu bilinear

z oceną wpływu filtracji antyaliasingowej

J. Jakubowski 26 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przekształcenia geometryczne - obrót

sincos ByAxAx orgorgnewR

cossin ByAxBy orgorgnewR

xorg

yorg

xnew

ynew

interpolacja

np. metoda NN

zaokrąglenie współrzędnych

J. Jakubowski 27 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 28 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 29 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 30 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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:

),(),( yxILUTyxJ

piksel F(piksel)

0 9

1 45

2 204

3 120

4 250

… …

253 12

254 35

255 254

Cel tabeli LUT:

przykładowa tabela LUT

• 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

),(),( yxICByxJ

Popularne liniowe operacje bezkontekstowe:

zmiana jasności zmiana kontrastu

J. Jakubowski 31 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przykładowe operacje arytmetyczne bezkontekstowe - operacja identycznościowa

J. Jakubowski 32 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przykładowe operacje arytmetyczne bezkontekstowe - negatyw

J. Jakubowski 33 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przykładowe operacje arytmetyczne bezkontekstowe - progowanie

J. Jakubowski 34 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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

J. Jakubowski 35 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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

J. Jakubowski 36 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przykładowe operacje arytmetyczne bezkontekstowe - zwiększenie kontrastu

J. Jakubowski 37 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przykładowe operacje arytmetyczne bezkontekstowe - zmniejszenie kontrastu

J. Jakubowski 38 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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)

In(1) In(2)

Out(1)

Out(2)

(0,0)

(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:

In=[55 200]/255;

Out=[55 200]/255;

J. Jakubowski 39 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Chwila przerwy … - postrzeganie kolorów przez człowieka

Edward H. Adelson.:

http://web.mit.edu/persci/people/adelson/checkershadow_illusion.html

J. Jakubowski 40 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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): IW [(2m+1) x (2n+1)]

f : liniowa lub nieliniowa

• W szczególności kontekstem może być cały obraz

Cele:

• Poprawa jakości w zakresie wyostrzania i usuwania szumu

• Wzmacnianie cech (np. krawędzi)

),(),(),( jyixIfyxJyxI

J. Jakubowski 41 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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:

m

mi

n

nj

jyixIjiwyxIyxwyxJ ),(),(),(),(),(

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)

)1,1()1,1(),1()0,1()1,1()1,1(

)1,()1,0(),()0,0()1,()1,0(

)1,1()1,1(),1()0,1()1,1()1,1(

),(

yxIwyxIwyxIw

yxIwyxIwyxIw

yxIwyxIwyxIw

yxJ

Przykład.

Obliczenia dla maski w o wymiarach m x n = 3 x 3

w – maska splotu

J. Jakubowski 42 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przykłady filtracji – filtracja dolnoprzepustowa, maska równomierna

oryginał

J. Jakubowski 43 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przykłady filtracji – filtracja dolnoprzepustowa, filtr wagowy Gaussa

oryginał

sigma = 0.9 sigma = 0.6

maska jednolita

J. Jakubowski 44 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przykłady filtracji – filtracja górnoprzepustowa (filtry Laplace’a)

oryginał

J. Jakubowski 45 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Przykłady filtracji – wyostrzanie krawędzi

oryginał

+

+

=

=

maski Laplace’a

J. Jakubowski 46 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 47 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 48 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

4.5. Detekcja twarzy w obrazie

• Historycznie – wiele podejść:

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)

• 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.

M. Yang i inni, Detecting faces in

images: a survey, IEEE Trans. on Pattern

Analysis and Machine Intelligence, 2002

m

x

n

y

yxIxVI

yxIxHI

1

1

),()(

),()(

dla obrazu m x n:

J. Jakubowski 49 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

• 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 50 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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

kowariancja wzajemna

Analiza wybranego przekroju obrazu – wzdłuż linii oczodołów i podstawy nosa:

duża złożoność obliczeniowa: mnożenie dwu przebiegów i dodawanie

J. Jakubowski 51 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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:

czarnym obszarze wpikselebiałym obszarze wpiksele

• czy jest to dobra cecha twarzy?

J. Jakubowski 52 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 53 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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:

Paul Viola, Michael Jones, Robust Real-Time Face Detection, International Journal of Computer Vision 57(2), ss. 137–154, 2004

)(...)()()( 2002002211 IfIfIfIF

klasyfikatory słabe

obraz wagi

klasyfikator wypadkowy

• 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

J. Jakubowski 54 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 55 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 56 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 57 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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

R. B

runelli

, T. P

oggio

, F

ac

e R

ec

og

nit

ion

th

rou

gh

Ge

om

etr

ica

l F

ea

ture

s,

htt

ps://w

ww

.re

se

arc

hg

ate

.ne

t/p

ub

lica

tio

n/2

716

938

• metody opisu cech lokalnych

o gradientowy opis wykrytych punktów

charakterystycznych i porównywanie

ich z bazą danych

J. Jakubowski 58 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 tk (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

ppp 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

ppp 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

yy ..... tx

„amplitudy” wektorów bazowych – CECHY

J. Jakubowski 59 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Zastosowanie

Dany jest pewien zbiór obrazów o(i) twarzy osób, których kolejne fotografie mają być

rozpoznawane

BA

ZA

DA

NY

CH

OB

RA

ZO

WY

CH

1

2

3

4

5

J. Jakubowski 60 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

2 13 7 16 6 8 12 15 14 5 3 6 8 7 12 6 11 12 0 1

obraz wektor

Przepis postępowania

• przetworzyć obrazy o(i) zapewniając utworzenie wektorów, które będą traktowane

jak wielowymiarowe wyniki eksperymentu x(i)

• wyznaczyć obraz średni dla obrazów twarzy z bazy danych

N

i

i

N 1

)(1oO

• 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 61 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Zbiór twarzy własnych

ZB

IÓR

FU

NK

CJ

I B

AZ

OW

YC

H

J. Jakubowski 62 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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:

Oto k

k

i

k

i y )()(

• wystarczy tylko kilka twarzy własnych (np. n=5) do odtworzenia rozpoznawalnych

cech osobniczych – generacja potencjalnych cech dystynktywnych

J. Jakubowski 63 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 64 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

• 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 65 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

• 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 66 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

• 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 67 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

• 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 68 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Podsumowanie rozpoznawania przypadków na podstawie „eigenfaces”

przypadek 1

przypadek 2

przypadek 3

przypadek 4

przypadek 5

klasa 1 5.02 3.59 4.38 2.70 3.35

klasa 2 4.34 5.99 5.16 5.68 4.97

klasa 3 3.02 2.75 2.55 0.58 1.45

klasa 4 7.33 2.82 7.43 5.73 4.62

klasa 5 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 69 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

5. Systemy multibiometryczne jako clue

biometrii

J. Jakubowski 70 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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 71 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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) C1, C2, ... Cn

• zbiór wartości docelowych (etykiet przynależności do klas – osób)

• nowa obserwacja – nowy przypadek (osoba), opisany wektorem liczb

)()2()1( ... nxxxX

)(newx

)()2()1( ... nyyyy

Cel

• wyznaczyć etykietę przynależności dla nowego przypadku, czyli

)(newy

J. Jakubowski 72 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Algorytm doboru najbliższych sąsiadów

• porównać ze wszystkimi obserwacjami za pomocą pewnej miary

odległości:

• wyznaczyć zbiór K-obserwacji ze zbioru , które są położone najbliżej nowego

przypadku

np. dla K=4:

• oraz zbiór odpowiadających im K wartości docelowych

)()()(

)2()()2(

)1()()1(

)(

,d :

...

,d :

,d :

nnewn

new

new

new

xxx

xxx

xxx

x

)(newx

X

)41()23()13()7(

4 xxxxx

)4(

4

)3(

4

)2(

4

)1(

4

)41()23()13()7(

4 yyyyyyyyy

J. Jakubowski 73 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Reguła decyzyjna

prawdopodobieństwa warunkowe

• obliczanie prawdopodobieństw – interpretacja częstościowa:

– liczba wszystkich wybranych najbliższych sąsiadów

– liczba sąsiadów należących do klasy Ci

• równoważna reguła decyzyjna (bo K jest stałe):

)()(

2

)(

1

)(

)(

| ... ,| ,|max| new

n

newnewnew

w

w

new

CPCPCPCP

C

xxxx

x

K

ik

K

kCP inew

i )(| x

nww

new kkkkC ... , ,max 21

)( x

J. Jakubowski 74 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Dyskusja doboru liczby sąsiadów K

x2

x1

klasa C1

klasa C2

przypadek x(new)

dla 1-NN: klasa C1

J. Jakubowski 75 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Dyskusja doboru liczby sąsiadów K

x2

x1

klasa C1

klasa C2

przypadek x(new)

dla 2-NN: klasa C1 lub C2

J. Jakubowski 76 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

Dyskusja doboru liczby sąsiadów K

x2

x1

klasa C1

klasa C2

przypadek x(new)

dla 5-NN: klasa C2

J. Jakubowski 77 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

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

dla 100-NN:

x2

x1

klasa C1

klasa C2

przypadek x(new)

N2 = 10

N1 = 100

1.0100

10| 2)(

2 K

kCP new

x

9.0100

90| 1)(

1 K

kCP new

x

J. Jakubowski 78 http://zese.wel.wat.edu.pl/adobrowolski/psb.htm

5.3. Integracja luźna (na poziomie decyzji)

Boolowskie zasady łączenia

• W protokole identyfikacji

• W protokole weryfikacji