Upload
vannguyet
View
219
Download
0
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