Wykład 6

Transkrypt

Wykład 6
dr inż. Jacek Naruniec
Przetwarzanie
wstępne

Wyznaczenie
obszarów
zainteresowania
Ekstrakcja
cech - obraz
Klasyfikacja
Cel: Wyznaczenie parametrów charakterystycznych dla danego problemu,
pozwalających na podjęcie decyzji o semantycznych właściwościach
rozpatrywanych danych










Deskryptory MPEG-7
Detektor Hougha
Analiza składowych głównych (PCA)
SVD i PCA za pomocą SVD
Analiza składowych niezależnych (ICA)
Filtry Haara, Gabora, wavelet, ART
Deskryptor kolorów dominujących
Modele aktywnych kształtów, aktywnego wyglądu
Transformacje: DCT, FFT
Proste cechy – średnia luminancja, wariancja
Ekstrakcja cech
2
Cel:
wyznaczenie kierunków głównych zbioru
danych
Ekstrakcja cech
3

Wartość średnia:
1 n
   x (i )
n i 1

Odchylenie standardowe:
1 n

( x (i )   ) 2

n i 1

Wariancja:
1 n
   ( x (i )   ) 2
n i 1
2
Ekstrakcja cech
4

Kowariancja:
1 n
cov( X , Y )   ( X (i )   X )(Y (i )  Y )
n i 1

Macierz kowariancji w przypadku 2D:
  X2
cov( X , Y )
Rx  

2
cov(
X
,
Y
)

Y



Wartości i wektory własne:
Ax  x
λx
x
Ekstrakcja cech
5

Mnożenie punktu przez wektor w( w  1) oznacza operację
rzutowania na prostą określoną kierunkiem tego wektora
y  wt x
40
w  [0.196,0.980]
35
x
2.1911452
3.3730561
4.0434577
4.912485
17.615638
9.9771261
10.507112
11.619114
y
13.943483
14.712064
16.845968
16.729047
25.846839
19.480395
19.764288
18.923771
14.102429
15.087876
17.311818
17.367598
28.799622
21.058774
21.441093
20.83498
30
25
20
15
10
5
0
-5
Ekstrakcja cech
0
5
10
15
20
25
30
6

Znajdź taki kierunek, w którym wariancja rzutu punktów jest maksymalna:
Ekstrakcja cech
7

Maksymalizujemy funkcję wariancji względem w:
w  arg max wt w1 E[( wt ( x   )) 2 ]

Równanie można przedstawić w formie:
f ( w)  E[( wt ( x   )) 2 ] 
wt E[( x   )( x   ) t ]w 
wt Rx w

Funkcja postaci f (x)  x t Ax przy założeniu jednostkowej
długości wektora x jest:


Maksymalna dla wektora własnego odpowiadającego największej wartości własnej f(x)
Minimalna dla wektora własnego opowiadającego najmniejszej wartości własnej f(x)
[dowód: D. Poole „Linear Algebra: A Modern Introduction”, s. 417-418]
Ekstrakcja cech
8


Macierz kowariancji (jako funkcja
transformacji danych).
PCA - kierunki w których „rozciągane” są
zbiory danych – wektory własne

X:
X_mean = [16.19 11.71]

1. Wyznacz średnią zbioru danych:
Ekstrakcja cech
1 n
   x (i )
n i 1
10

2. Przesuń każdy element zbioru o wartość średnią

3. Wyznacz macierz kowariancji
X_cov =
39.76 28.37
28.37 21.73
1 n
cov( X , Y )   ( X (i )   X )(Y (i )  Y )
n i 1
Ekstrakcja cech
11

4. Wyznacz wartości własne i wektory własne macierzy
kowariancji, sortujemy nierosnąco
E=
60.523132
0.
0.
0.9832824
λ1
λ2
U=
- 0.8070828
- 0.5904382
w1

0.5904382
-0.8070828
w2
5. Wybierz wektory własne odpowiadające największym
wartościom własnym (wektory w kolumnach!)
Ekstrakcja cech
12
e2
e1
e1
Przenoszona energia (n – liczba wymiarów):
i
Ew 
j
i
j 1..n
Ew1  88%
Ew2  12%
PCA/KLT
Ekstrakcja cech
13

Faktoryzacja SVD macierzy liczb rzeczywistych:
A  UV T






Wartości osobliwe Σ odpowiadają pierwiastkowi wartości własnych AAT
Macierze U i V są to macierze wektorów osobliwych macierzy A
Macierz U (lewe wektory osobliwe) jest macierzą wektorów własnych
macierzy AAT
Wynik jest zwykle posortowany względem wartości własnych
Jeśli macierz jest osobliwa, niektóre wartości osobliwe będą zerowe
Nie wymaga macierzy kwadratowej – można działać bezpośrednio na X
Ekstrakcja cech
14
X mean0  UV T
U =
- 0.8070828 - 0.5904382
- 0.5904382 0.8070828
Σ=
173.78447 0.
0.
22.1508
Ekstrakcja cech
V=
0.8102270 - 0.5861163
0.5861163 0.8102270
15

Twarz znormalizowana do rozdzielczości
46x56, oczy w kolumnach 16 i 31, rząd 24
[źródło: baza twarzy AltKom]
Ekstrakcja cech
16



Każdy piksel obrazu traktowany jest jako
oddzielny wymiar
Daje to w sumie 46x56 = 2576 wymiarową
przestrzeń danych (nie analizujemy 2D)
Wektory własne PCA odpowiadające
najwyższym wartościom własnym formują
tzw. twarze własne
Ekstrakcja cech
17

Twarze własne:
Ekstrakcja cech
18
Ekstrakcję cech twarzy można traktować jako operację
sumy iloczynów odpowiadających pikseli twarzy własnej z
analizowanym obrazem
 Rekonstrukcja polega na stworzeniu liniowej kombinacji
twarzy średniej i twarzy własnych.

8
14
2
Ekstrakcja cech
19

Rozpoznawanie – najprostsza metoda:
 Stwórz bazę osób, w której każda twarz
reprezentowana jest przez deskryptor
 Porównaj analizowany deskryptor z każdym
deskryptorem
 Jako zidentyfikowaną osobę wybierz tą, dla której
odległość euklidesowa deskryptora jest
najmniejsza
Ekstrakcja cech
20
 Detekcja:
1. Wyznacz średni deskryptor twarzy korzystając ze
2.
3.
4.
5.
zbioru testowego Dm
Wyznacz okno analizy W = [46x56]
Dla każdej pozycji okna w obrazie wyznacz jego
deskryptor DW.
Jeśli odległość euklidesowa deskryptora DW od Dm w
dowolnym oknie jest mniejsza od ustalonego progu,
oznacz pozycję okna jako twarz.
Skaluj okno analizy mnożąc jego wielkość przez
współczynnik skalujący k (np. 1.2) i powtarzaj kroki 3-5
do osiągnięcia maksymalnego rozmiaru okna
Ekstrakcja cech
21

Plusy
 prosta interpretacja
 liniowe przekształcenia
 pozwala na redukcję wymiaru danych bez utraty
znaczących informacji

Minusy
 nie uwzględnia klas przypisanych elementom
 jako jedyna metoda analizy, jest zwykle mało
skuteczna (ale stosowana z innymi już
niekoniecznie)
Ekstrakcja cech
22
Ekstrakcja cech
23
Ekstrakcja cech
24
Ekstrakcja cech
25
Ekstrakcja cech
26


Algorytm bardzo zbliżony do transformaty Radona
Jedna zasadnicza różnica
y  ax  b
1
1
cos
a 

as
tg
sin 
y
y0  r sin 
x0  r cos
y0
cos
r
r cos ) 
sin 
sin 
cos
r
y
x
sin 
sin 
b  r sin   ( 
r
θ
x0
x
r( )  x cos  y sin 
Ekstrakcja cech
27

Algorytm transformaty:
1. Wyznacz zakres parametrów:
1.
2.
rmax, rmin, Δr
θmax, θmin, Δθ
2. Dla każdej wartości θi w zakresie od θmin do θmax co Δθ
stablicuj wartości sin θ i cos θ:
1.
2.
si = sin θi
ci = cos θi
3. Dla każdego piksela obrazu (x, y) z etykietą „1” wykonaj:
1.
Dla każdej wartości θi w zakresie od θmin do θmax co Δθ wyznacz r i
inkrementuj odpowiednią komórkę histogramu:
1.
2.
r = x*ci + y*si
H(r, θi)=H(r, θi)+1
Ekstrakcja cech
28

0, 0
Krok 3 algorytmu dla pojedynczego piksela:
r4
r3
r2
0
r1
45
90
r4
r1
r1
+
+
r3
r2
135
+
+
r( )  x cos  y sin 
Ekstrakcja cech
29
Ekstrakcja cech
30
Ekstrakcja cech
31

Algorytm dwustopniowy:
 Wyznacz zgrubny kąt obrotu:
1. Wyznacz rmax, rmin, i θmax, θmin, dla wysokich wartości Δr i Δθ.
2. Wyznacz transformatę Hougha
3. Wybierz parę wartość ropt i θopt o największych wartościach w
transformacie Hougha
 Sprecyzuj wyznaczony kąt obrotu:
▪ Wyznacz r’max, r’min, i θ’max, θ’min, dla niskich wartości Δr’ i Δθ’
w otoczeniu ropt i θopt.
▪ Wyznacz transformatę Hougha
▪ Wybierz parę wartośc ropt i θopt.o największych wartościach w
transformacie Hougha
Ekstrakcja cech
32
Ekstrakcja cech
33


Detekcja okręgów wykonywana jest poprzez
algorythm CHT (Circle Hough Transform).
Algorytm CHT:
 Wyznacz obraz krawędziowy (B) wraz z kierunkami
gradientów krawędzi
 Dla każdego punktu krawędziowego:
▪ Wiedząc, że prosta prostopadła do kierunku krawędzi koła
przechodzi przez środek o znanym promieniu r wyznaczamy
ten środek (xc, yc)
▪ Inkrementuj komórkę transformaty Hougha odpowiadającą
punktowi (xc, yc)
 Wyznacz elementy transformaty o największych
wartościach
Ekstrakcja cech
34
xc  x  r cos 
x, y
yc  y  r sin 


xc
xc, yc
yc
Ekstrakcja cech
35
Wykrywanie koła o określonym promieniu – takim jak koło w obrazie
[wygenerowane za pomocą appletu:
http://users.ecs.soton.ac.uk/msn/book/new_demo/houghCircles/
Ekstrakcja cech
36
Wykrywanie wielu kół o określonym promieniu
Ekstrakcja cech
37
Wykrywanie koła o określonym promieniu – innym niż koło w obrazie
Ekstrakcja cech
38
Wykrywanie wielu kół o określonym promieniu – innym niż koło w
obrazie
Ekstrakcja cech
39
W celu detekcji kół o różnej długości
promienia wprowadzamy dodatkowy
parametr r (3D obraz transformaty)
 Algorytm CHT:

 Wyznacz obraz krawędziowy (B) wraz
z kierunkami gradientów krawędzi
 Dla każdego r z zakresu rmin..rmax
wykonaj:
▪ Wiedząc, że prosta prostopadła do
kierunku krawędzi koła przechodzi przez
środek o określonym promieniu r
wyznaczamy ten środek (xc, yc)
▪ Inkrementuj komórkę transformaty
Hougha odpowiadającą punktowi (xc, yc) i
promieniowi r
 Wyznacz maksymalne wartości
yc
r
xc
transformaty
Ekstrakcja cech
40



General Hough Transform (GHT)
Pozwala na detekcję kształtów o dowolnym,
określonym konturze
Wymaga stworzenia odpowiedniego modelu
wykrywanego obiektu
Ekstrakcja cech
41
[źródło: Ballard, Brown: „Generalized Hough Transform”
Ekstrakcja cech
42

Tworzenie modelu obiektu:
 Wybierz punkt referencyjny (xc, yc) – np. środek ciężkości
figury
 Dla każdego punktu krawędziowego figury (xi, yi):
▪ Wyznacz kąt krawędzi θ w punkcie xi, yi
▪ Wyznacz wektor r łączący punkty (xi, yi) i (xc, yc)
▪ Przypisz krawędzi θ wektor r.
 W efekcie otrzymujemy tablicę, w której dla każdego kąta
θ mamy zbiór wektorów r:
▪
▪
▪
▪
θ 1: r1, r2, r3
θ 2: r4, r5, r6, r7
θ 3: r8
θ 4: r9, r10
Ekstrakcja cech
43
r1  ( x1  xc , y1  yc )
x1, y1
1  0 ,  2  45 ,  3  90  ,  4  135 
x5, y5
xc, yc
x4, y4
x2, y2
x3, y3
Ekstrakcja cech
1 : r1
 2 : r5
 3 : r2 , r4
 4 : r3
44

Detekcja konturu:
 Kwantuj przestrzeń transformaty Hougha xcmin..xcmax,
ycmin..ycmax.
 Wykryj krawędzie obrazu (x, y) i kierunki ich
gradientów
 Dla każdego punktu krawędziowego:
▪ Z modelu obiektu wybierz wszystkie wektory r
odpowiadające kierunkowi krawędzi
▪ Dla każdego wybranego r zwiększ komórkę histogramu
Hougha o pozycji ([x, y] + r)
 Wybierz element o najwyższej wartości histogramu –
jest to centrum szukanego obiektu
Ekstrakcja cech
45

Wektor r może być także reprezentowany
przez:
 Kąt α odpowiadający kątowi nachylenia odcinka
do osi współrzędnych x
 Długość wektora r (jak na wcześniejszym rysunku)
 W tej postaci pozycja xc i yc w stosunku do punktu
krawędziowego x, y może być obliczona poprzez:
xc  x  r cos
yc  y  r sin 
Ekstrakcja cech
46
W prosty sposób można wprowadzić inwariantność
od skali i obrotu.
 W celu sparametryzowania równania od obrotu β i
skali s równanie:

xc  x  r cos
yc  y  r sin 
przyjmuje postać:
xc  x  ( x' cos   y ' sin  ) s
yc  y  ( x' sin   y ' sin  ) s
x'  r cos
y '  r sin 
Ekstrakcja cech
47
Tworzymy 4D tablicę Hougha (xc, yc, s, β)
Kwantuj przestrzeń transformaty Hougha xcmin..xcmax,
ycmin..ycmax.
 Wykryj krawędzie obrazu (x, y) i kierunki ich
gradientów
 Dla każdego punktu krawędziowego:


 Z modelu obiektu wybierz wszystkie wektory r
odpowiadające kierunkowi krawędzi
 Dla każdego dopuszczalnego kąta β i skali s
▪ wyznacz centra punktu za pomocą wzoru z poprzedniego slajdu
▪ zwiększ komórkę histogramu odpowiadającą aktualnemu centrum,
kątowi i skali.
Ekstrakcja cech
48




Przy 4 wymiarach znaczne wymagania pamięciowe i
złożoność obliczeń
Można stosować podejście takie, jak w liniach dominujących
– detekcja zgrubna, następnie dokładna
Może być stosowana przy częściowo
zdeformowanych kształtach
Daje dobre wyniki nawet w obecności
innych obiektów w obrazie, szumów
Ekstrakcja cech
49

Implicit Shape Model (zarówno do weryfikacji jak i
detekcji)
 Pochodna uogólnionej transformaty Hougha
 „Wizualna” książka kodowa
[źródło: A. Mohan „Implicit Shape Model” presentation]
50

Każdy rozpoznany obiekt (zgodnie z książką
kodową) głosuje na pojedynczy punkt
[źródło: A. Mohan „Implicit Shape Model” presentation]
51

Tworzenie książki kodowej:
 W pierwszej kolejności wyznaczane są punkty zainteresowania w
przykładach trenujących(SIFT, Harris, itp.)
 Podobne obrazy są klasteryzowane
 Zapisywana jest ich średnia
 Dla przykładów wyznaczane są odległości do centrum obiektu
[źródło: A. Mohan „Implicit Shape Model” presentation]
52

Detekcja:
[źródło: A. Mohan „Implicit Shape Model” presentation]
Przetwarzanie końcowe
53


Przykład: detekcja przechodniów (punkty SIFT)
Głosowanie w świetle podczerwonym jest w tym
przypadku skuteczniejsze niż w widzialnym)
[źródło: Kai Jungling and Michael Arens: „Pedestrian Tracking in Infrared from Moving Vehicles”
Robot mobilny ze skanerem 3W

Poszukujemy algorytmu rozpoznawania
lokacji, w którym:
 Będzie inwariantny od rotacji i translacji zbioru
punktów.
 Będzie skuteczny także w obecności szumów.
 Będzie działał także dla niepełnych lokacji.
trenowanie
Wyznaczenie
relacji punktów do
środka obiektu
Detekcja
punktów
szczególnych
Wyznaczenie
deskryptorów
Zachowanie
punktów z
deskryptorami
rozpoznawanie
Porównanie
deskryptorów z
deskryptorami modelu
Głosowanie

Wyznaczanie punktów
szczególnych:
 Dla każdego punktu:
▪ Wyznacz punkty w
sąsiedztwie
danego punktu
▪ Wyznacz macierz
kowariancji
punktów w otoczeniu
▪ Wyznacz wartości własne
macierzy kowariancji

Wyznaczanie punktów
szczególnych:
 Dla każdego punktu:
▪ Wyznacz punkty w
sąsiedztwie
danego punktu
▪ Wyznacz macierz
kowariancji
punktów w otoczeniu
▪ Wyznacz wartości własne
macierzy kowariancji

Wyznaczanie punktów
szczególnych:
 Dla każdego punktu:
▪ Wyznacz punkty w

sąsiedztwie
danego punktu
▪ Wyznacz macierz
kowariancji
punktów w otoczeniu
▪ Wyznacz wartości własne
macierzy kowariancji
xy
  x2  xy  xz 


2
   yx  y  yz 
 zx  zy  z2 



Wyznaczanie punktów
szczególnych:
 Dla każdego punktu:
▪ Wyznacz punkty w
sąsiedztwie
danego punktu
▪ Wyznacz macierz
kowariancji
punktów w otoczeniu
▪ Wyznacz wartości własne
macierzy kowariancji
Σx  x

Wyznaczanie punktów
szczególnych:
▪ Sortowanie wartości własnych
względem wartości
▪ Jeśli najmniejsza wartość
własna (T3) jest odpowiednio
duża oznacza to, że punkt jest
charakterystyczny (np.
narożnik)
▪ Dodatkowo stosunek
wielkości poszczególnych
wartości własnych nie może
być równy jeden (bo punkt taki
jest nierozróżnialny) (T21 i T32)
▪ Usuwanie elementów
niemaksymalnych
Detekcja punktów w zależności od progu wartości najmniejszej wartości własnej
Detekcja punktów w zależności od progu stosunku kolejnych wartości własnych
(bez usuwania elementów niemaksymalnych)

Wyznaczanie deskryptora





Normalizacja względem
wektorów własnych macierzy
kowariancji (czyli obrót 3W tak,
aby wektory własne były zawsze
tak samo zwrócone)
Histogram opisany na wielokącie
(jak na rysunku)
Każdy punkt w otoczeniu punktu
oddaje jeden głos w histogramie
Komórka histogramu odpowiada
pozycji przestrzennej punktu
względem punktu badanego
Brane są pod uwagę – elewacja,
azymut i odległość w jakiej
znajduje się punkt
Trenowanie odbywa się osobno dla każdego modelu.
 Do modelu zaliczamy:


Deskryptory punktów szczególnych
 Kombinację liniową wektorów własnych prowadzącą do środka obiektu
 Ponieważ wektory własne mogą mieć różny zwrot, należałoby zapisać 8 kombinacji *.
(* Liczbę tę można zredukować, choćby poprzez wykorzystanie iloczynu kartezjańskiego
dwóch pierwszych wektorów własnych zamiast trzeciego wektora własnego)
a1 
b 
 1
 c1 
c  w 1
 a2 
b 
 2
 c2 
w2
ai 
T
w 3   bi 
 ci 
 Odbywa się na zasadzie głosowania.
 Deskryptor każdego punktu szczególnego jest porównywany z
punktami modelu.
 W przypadku dopasowania punkt oddaje głos na centrum obiektu.
 Jeden punkt może oddawać wiele głosów, o ile deskryptory pokrywają
się z modelem.
 Innym problemem zostaje jeszcze zliczenie głosów!

Obrót i translacja

Metoda zupełnie inwariantna od obrotu i
translacji (zgodnie z oczekiwaniami)

Zaszumienie
 Duży wpływ ze
względu na istotną
zmianę liczby punktów
szczególnych
Ekstrakcja cech
75

Zestaw (jet) filtrów Gabora – część
rzeczywista:
Ekstrakcja cech
76



Wykorzystane w detektorze obiektów opartego
na klasyfikacji AdaBoost
Podstawowy zestaw - 5 typów obszarów
kontrastowych
Czarny obszar oznacza odejmowanie pikseli
należących do obszaru, biały obszar –
sumowanie pikseli należących do obszaru
Ekstrakcja cech
77

Przykład w detekcji oczu
Ekstrakcja cech
78

Cechy:
 Proste obliczenia, jasna interpretacja.
 Skalowalność – jeśli np. standaryzujemy średnie
odchylenie.
 Dzięki obrazom całkowym – szybkość obliczeń.
Obraz całkowy – integral image (ii)
Pozwala na obliczenie sumy pikseli dowolnego
obszaru prostokątnego za pomocą 4 sumowań
 Wartość pojedynczego elementu obrazu
całkowego ii(xi,yi) odpowiada sumie wszystkich
pikseli spełniających warunek x<xi i y<yi.
 Algorytm tworzenia ii dla obrazu I(x,y):







Wszystkim elementom ii(x, y) przypisz wartość 0
Skopiuj pierwszy rząd I(x,1) do ii(x, 1)
Sumuj po kolumnach (od 2 rzędu): ii(x,y)=ii(x,y-1)+I(x, y)
Sumuj po rzędach (od 2 kolumny): ii(x,y)=ii(x-1,y)+ii(x,y)
Przyjmij ii(x, 0)= ii(0, y) = 0
Ekstrakcja cech
80

Suma pikseli szarego prostokąta = ii(A)+ii(D)Suma pikseli prostokąta o zaczepieniu
ii(B)-ii(C).
x, y i wysokości h, szerokości w:
S  ii( x  1, y  1)  ii( x  w  1, y  h  1)
 ii( x  w  1, y  1)  ii( x  1, y  h  1)
Ekstrakcja cech
81

Wprowadzony przez Lienharta:

Wyznaczany jest dodatkowy obraz całkowy dla
obszarów odwróconych o 45 stopni.
[obrazy: R. Lienhart, J. Maydt: „ An Extended Set of Haar-like Features for Rapid Object Detection”]
obraz testowy
średnie krawędzie postaci
dla zbioru uczącego
deskryptor HOG
danego obrazu
reprezentacja SVM
zbioru tła
(czytaj – jak nie wygląda
człowiek)
reprezentacja SVM
zbioru postaci (czytaj – jak
wygląda człowiek)



Podział obrazu na nakładające się bloki.
Wyznaczenie rozkładu prawdopodobieństwa
wystąpienia krawędzi o danej orientacji w
komórkach.
Normalizacja rozkładów.
84/15
Podstawowa idea (po poniższym schemacie jest jeszcze normalizacja):
atan(Gy/Gx)
Gx
Gy
0
0
0
0
45
90
45
45
90
45
135
45
90
45
45
90
Gx2  G y2
1
5
1
5
1
5
1
3
1
4
1
4
1
1
3
3
histogram gradientów
0
45
90
135
12
17
10
1
[obraz: O. Deniz i inni: „Face recognition using Histograms of Oriented Gradients”]



Niezwykle skuteczne w większości zadań
detekcji/rozpoznawania obiektów.
Dość złożone obliczeniowo.
Proste w interpretacji.



MPEG-7: Multimedia Content Description
Interface
Standaryzuje opis zawartości danych
multimedialnych w wielu aplikacjach
Skoncentrowany bardziej na możliwościach,
jakie powinien spełniać system niż na
narzędziach przetwarzania
Ekstrakcja cech
88

Części MPEG-7:
1. Systems
2. Description Definition Language
3. Visual
4. Audio
5. Generic Entities and Multimedia Description Schemes
6. Reference Software
7. Conformance Testing
8. Extraction and Use of MPEG-7 Descriptors
Ekstrakcja cech
89

Zadania systemu
 Grafika – narysuj linie w prostym edytorze
 Obraz – wyniki na podstawie przykładu
 Wideo – w zestawie obiektów wideo opisz ruchy
obiektu, ruch kamery, relacje między obiektami
 Aktywność wideo – w kontekście danego wideo
określ spodziewane akcje
Ekstrakcja cech
90

Standard MPEG-7 proponuje następujące
kategorie deskryptorów danych wizualnych:
 ogólne
▪ koloru,
▪ tekstury,
▪ kształtu,
▪ ruchu
 Zależne od aplikacji
▪ deskryptor twarzy
Ekstrakcja cech
91
Deskryptor
koloru
Deskryptor
koloru
dominującego
Skalowalny
deskryptor
koloru
Deskryptory
GOF i GOP
Ekstrakcja cech
Deskryptor
struktury
koloru
Deskryptor
widoku
(layout) koloru
Temperatura
barwowa
92

Obraz opisany maksymalnie ośmioma
kolorami dominującymi
Ekstrakcja cech
93
 Działa w przestrzeni kolorów CIE-LUV (jednorodna
percepcyjnie)
 Miara zaburzenia:
Di   h(n ) x(n )  ci , x(n )  Ci
2
n
 Współczynnik h(n) wyznaczony statystycznie na podstawie
jednorodności obszaru
 Klastry aktualizowane są poprzez równanie:
ci 
 h ( n )x ( n ) , x ( n )  c
 h(n )
i
 Algorytm zaczyna się od jednego klastra dzielonego do
momentu osiągnięcia założonego maksymalnego zaburzenia
lub ilości iteracji.
Ekstrakcja cech
94

Algorytm k-średnich (dołączone pliki)
Zawiera informację
o ilości procentowej
danego koloru w
obrazie
 Do deskryptora
może być dołączona
informacja o
przestrzennej
koherencji kolorów.
 Zawiera informację
o wariancji koloru

[źródło: http://makarandtapaswi.wordpress.com/]
Ekstrakcja cech
96


Działa w przestrzeni HSV
256-komórkowy histogram kolorów
w przestrzeni HSV

odcień (hue): 0 – R, 120 – G, 240 – B, 16
poziomów,

nasycenie (saturation): 0 – barwy
achromatyczne, 1 – barwy czyste, 4
poziomy,

wartość (value): 0 – czerń, 1 – biel i barwy
maksymalnie jasne, 4 poziomy,

indeks komórki: i = 64s+16v+h, i = 0,...,255
Ekstrakcja cech
[źródło: http://image.acasystems.com]
97
Ekstrakcja cech
98
+
+
+
-

x

+


+
+
+

+
+

+
+
+
-
+
+

+
-

Transformata Haara:
y
+
3
V=0
S=0,
12
0
+

-



+

+
+

+
-

+
+

++-

19
V=0
S=1,
18
17
16
.

-

+
+

-
+

+
+-

++


Ilość
współczynników
Maksymalna
wartość H
Maksymalna
wartość S
Maksymalna
wartość V
256
16
4
4
128
8
4
4
64
8
4
2
32
8
2
2
16
4
2
2
+-



++
bins
16
bins
32
bins
64
bins
128
bins
256
+-
82
V=1
S=1,
83
+-
80
.
81
Elementy sumy – łączenie histogramu
Elementy różnicowe –w rzeczywistych
obrazach małe wartości
+
+
++

+-

++

+-

66
V=1
67
S=0,
65
64
.
+
+ 
+ 
Ekstrakcja cech
99

W rezultacie otrzymamy:
 16 elementów zsumowanych
 różnice pomiędzy e


Możemy odzyskać dowolny poziom
histogramu.
Np. po połączeniu:
H1 = 10 H2 = 11
H1+H2 = 21
H1–H2 = -1
Dwa równania z dwoma niewiadomymi – odzyskamy
H1 i H2.
Group of Frames i Group of Pictures
Reprezentuje histogram kolorów zbioru obrazów
Liczymy skalowalny deskryptor koloru dla każdego
obrazu
 Zależnie od algorytmu wyznaczamy:



 średni histogram
 medianę histogramów
 przecięcie histogramów

Potem tworzymy
skalowany deskryptor
koloru
[źródło: http://perfectgolfswingreview.net]
Ekstrakcja cech
101
Color
c0
Akumulacja histogramu
Ujednolicenie komórek
8×8 Structuring Element
Bin Value
h (0) + 1
c1
h (1)
c2
h (2)
c3
h (3) + 1
c4
h (4)
c5
h (5) + 1
c6
h (6) + 1
c7
h (7)
Kwantyzacja wartości komórek
p  max{0, log 2 WH  7,5}
krok : K  2
p
Structuring Element
Pixels w/in image having color
Structuring Element
Pixels w/in image having color
cm
cm
• analiza dla danego okna analizy o kroku jak wyżej,
• niezależnie czy w danym miejscu mamy jeden czy więcej piksel o danym kolorze –
zwiększamy odpowiadający mu akumulator o 1.
Ekstrakcja cech
102
Structuring Element
Pixels w/in image having color
Structuring Element
Pixels w/in image having color
cm
cm
niskie wartości deskryptora
wysokie wartości histogramu
Ekstrakcja cech
104







White Color
Parametry:
Min = min(R,G,B)
Max = max(R,G,B)
Diff = Max-Min
Hue – tak jak w HSV
Sum = (Max+Min)/2
Sum
Min
Diff
Opis:
 H, Max, Min,
 H, Diff, Sum
Hue
Max
Black Color
Ekstrakcja cech
105
Wybór koloru
reprezentatywnego
Dzielenie obrazu
1. Podział na bloki 8x8.
2. Kolor reprezentatywny –
np. kolor średni w YCbCr
3. 3 zestawy 8x8 kolorów
reprezentacyjnych (3
kanały)
4. Jeden z najbardziej
oszczędnych
deskryptorów koloru.
Ekstrakcja cech
DCT
Zig-zag i ważenie
R1G1B1
R2G2 B2
R3G3B3
106

DCT dla 3x64 współczynników
N 1 M 1
F ( x, y )  cx c y   f (i, j ) cos
i 0 j 0


cx  


x(i  0.5)
y ( j  0.5)
cos
N
M
1
if x  0
N
2
if x  1,..., N  1
N
Ekstrakcja cech
107



Skanowanie zigzag
Nieliniowa
kwantyzacja
Rekomendacja:
 6 współczynników
luminancji
 Po 3 chrominancji
Ekstrakcja cech
108

Określona w stosunku do
temperatury
promieniowania idealnego
ciała czarnego emitującego
światło o określonym
kolorze (składowa Hue).
[źródło: wikipedia]
BrowsingCategory
Kategoria
Zakres wartości temperatur
00
Gorąca
 2250K
01
Ciepła
2251K  4170K
10
Neutralna
4171K  8060K
11
Zimna
Ekstrakcja cech
 8061K
109
zimna/neutralna/ciepła
zimna/neutralna
neutralna/ciepła/gorąca
neutralna/ciepła
Ekstrakcja cech
zimna/neutralna/ciepła
zimna/ciepła
110
Temperatura barwowa jest określana jako średnia
temperatur barwowych wszystkich pikseli
 Wartości skrajne są odrzucane

[źródło: wikipedia]
Ekstrakcja cech
111

Metoda oparta na kolorach dominujących
80000K
7000K
…..
Ekstrakcja cech
112
Ekstrakcja cech
113
Deskryptor
tekstury
Deskryptor
tekstur
jednorodnych
Ekstrakcja cech
Deskryptor
przeglądania
tekstur
Deskryptor
histogramu
krawędzi
114
s

[źródło: wikipedia]
Ekstrakcja cech
115
Ekstrakcja cech
116
[obraz wyprodukowany używając appletu http://homepages.inf.ed.ac.uk/rbf/HIPR2/fftdemo.htm]
[obraz wyprodukowany używając appletu http://homepages.inf.ed.ac.uk/rbf/HIPR2/fftdemo.htm]
[obraz wyprodukowany używając appletu http://homepages.inf.ed.ac.uk/rbf/HIPR2/fftdemo.htm]
Wyznaczany z
transformaty Fouriera.
Określa:
• energię poszczególnych
pasm
•odchylenie standardowe
poszczególnych pasm
Ekstrakcja cech
120
Idealne banki filtrów mają ostre krawędzie – wynik
filtrowania (w przestrzeni obrazu) będą miały artefakty
 W zamian wprowadzony został zestaw filtrów Gabora:

  (  s )2 
  (   r )2 
GP s ,r (,  )  exp
  exp

2
2
2

2



s
r



odchylenie
w kierunku radialnym
odchylenie
w kierunku kątowym
[źródło: Y. M. Ro i inni: „MPEG-7 Homogeneous Texture Descriptor”]
Ekstrakcja cech
121

Wartości deskryptora
 Energia i-tego obszaru:
ei  log[1  pi ],
pi 
  G
1
360
 0  0
Ps , r ( ,  )  w  F (,  )

2
 Wariancja i-tego obszaru:
d i  log[1  qi ],
qi 
G




1
360
0 0
Ps , r
Ekstrakcja cech

(,  )  w  F (,  )  pi
2

2
122

Optymalizacja szybkości:
 Central Slice Theorem:
 1D transformata Fouriera rzutu obrazu pod kątem θ odpowiada wycinkowi
transformaty 2D pod kątem θ:
Ekstrakcja cech
[źródło: Y. M. Ro i inni: „MPEG-7 Homogeneous Texture Descriptor”]
123

Próbkowanie przestrzeni częstotliwościowej transformatą
Radona:
[źródło: Y. M. Ro i inni: „MPEG-7 Homogeneous Texture Descriptor”]
Ekstrakcja cech
124

Algorytm:
 Wyznacz transformatę Radona, w której wiersz
odpowiada jednemu kątowi linii, kolumna odpowiada
przesunięciu tej linii.
 Wyznacz 1D transformatę Fouriera dla wektorów
złożonych z wartości przesunięć dla pojedynczych
kątów (tyle transformat ile kątów).
 Wykorzystaj wyznaczone 1D transformaty do
stworzenia uproszczonej transformaty 2D.
 Na podstawie podanych wzorów wyznacz deskryptor.

TBD=[v1 v2 v3 v4 v5] (bez szczegółów)
 v1 – regularność struktury
 v2, v3 – kierunkowość tekstury
 v4, v5 – skale, które najlepiej określają
niejednorodność tekstury
Przykład
regularność
3
bardzo regularna
Ekstrakcja cech
2
regularna
1
mało regularna
0
nieregularna
126

Operacje oparte na filtrach Gabora (zestaw podobny do tego z DTJ)
[źródło: B.S. Manjunath i inni: „A texture descriptor for browsing and similarity retrieval”]
Ekstrakcja cech
127
(1100)
Ekstrakcja cech
128



Deskryptor określa histogram kierunków
krawędzi w każdym „podobrazie”
Kierunek może być wyznaczany za pomocą
prostych masek:
Jeśli wartość absolutna filtracji żadną z masek
nie da wysokiej wartości, jest to obszar bez
krawędzi
Ekstrakcja cech
129


Deskryptor obszaru
Deskryptor konturu
Ekstrakcja cech
130




Przedstawienie kształtu jako ważonej sumy
regionów bazowych
Obiekt może składać się z wielu regionów
Niezależne od obrotu
Reprezentacja za pomocą Angular Radial
Transform (ART)
Ekstrakcja cech
131

Funkcja bazowa ART:
Vnm (  ,  )  Am ( ) Rn (  )
1
exp( jm )
2
n0
1
Rn (  )  
2 cos(n ) n  0
Am ( ) 
Wartość bezwzględna funkcji:
Ekstrakcja cech
132
3*12 splotów funkcji bazowej z
obrazem
Wyznaczenie modułów liczb
wynikowych
Normalizacja przez współczynnik
odpowiadający m=0, n=0
Kwantyzacja do 4 bitów
Ekstrakcja cech
133

Curvature Scale Space (CSS)
 Na osi x:
▪ Pozycja na konturze
(unormowana)
ewolucja konturu
obraz CSS
 Na osi y:
▪ Ilość iteracji uśredniania
 Czerwione punkty w
miejscach dla których funkcja
krzywizny przechodzi przez 0.
 Krzywizna określona jako
zmiana tangensa kąta do
konturu (określonego jako
x(u), y(u))
 Algorytm wygładzania
przeprowadzony jest do
momentu utraty wszystkich
punktów przegięcia
Ekstrakcja cech
kontur po 80 iteracjach
szczyty CSS
kontur po 20 iteracjach
kontur oryginalny
134
Kolistość [12-110):

obwod 2
kolistosc 
pole powierzchni
Mimośród - e (na ile kształt jest okrągły):

mimosrod 
2
2
i20  i02  i20
 i02
 2i02i20  4i112
i20  i02  i  i  2i02i20  4i
2
20
2
02
2
11
,
M
i02   ( yk  yc )2
k 1
M
i11  ( xk  xc )( yk  yc )
k 1
M
i20   ( xk  xc )2
[źródło: wikipedia]
k 1
Ekstrakcja cech
135

Deskryptor zawiera:
 Mimośród i kolistość obrazu oryginalnego i po
filtracji
 Ilość szczytów CSS
 Wielkość najwyższego szczytu
 Pozycje szczytów i ich wysokości
Ekstrakcja cech
136
Independent Component Analysis
Dąży do wyznaczenia zmiennych niezależnych z
obserwacji
 Problem polega na „ślepej” separacji sygnałów – nie
ma żadnej informacji o źródle dźwięku


[źródło (także kolejnych obrazków o ICA): A.Hyvarinen, E. Oja: „Independent Component Analysis: Algorithms and Applications”]
Ekstrakcja cech
137
Ekstrakcja cech
138

Dane obserwowane x można wyrazić jako suma iloczynów
źródeł sygnału s i współczynników mieszających a:
x1 (t )  a11s1  a12 s2
x2 (t )  a21s1  a22 s2

Problem ten można odwrócić:
s1 (t )  w11 x1  w12 x2

Czyli
s2 (t )  w21 x1  w22 x2
s  Wx
Ekstrakcja cech
139
ICA dąży do wyznaczenia macierzy W, która pozwala na
wyznaczenie źródeł sygnału s korzystając z obserwacji x
 Zakłada się, że źródła sygnału są niezależne
 Załóżmy dwie zmienne niezależne:

Ekstrakcja cech
140

Transformując liniowo zmienne można otrzymać
następujący zbiór punktów – o składowych zależnych:
Ekstrakcja cech
141


Centralne twierdzenie graniczne informuje,
że suma rozkładów zmiennych niezależnych
(o tej samej wartości oczekiwanej i określonej
wariancji) dąży do rozkładu normalnego =>
rozkład średniej upodabnia się do
normalnego
W celu wyróżnienia zmiennych niezależnych
możemy szukać takich transformacji, które
wyznaczą wymiary o jak najmniejszym
podobieństwie do funkcji Gaussa
Ekstrakcja cech
142

1 krok - wybielenie macierzy (dekorelacja) za pomocą
wektorów własnych i wartości własnych:
Ekstrakcja cech
143

2 krok – znalezienie kierunków o najmniejszym podobieństwie do
rozkładu gaussowskiego
 negentropia
 kurtoza
[źródło: http://sccn.ucsd.edu/~arno/indexica.html]
Ekstrakcja cech
144

Negentropia – różnica między entropią rozkładu Gaussa
o wariancji i średniej aktualnych danych i entropią
aktualnych danych
 zeruje się dla rozkładu normalnego
 nieujemna

Kurtoza – miara spłaszczenia układu
1 n
4
(
x


)

i
i 1
Kurt  n
3
4

 zeruje się dla rozkładu normalnego
 ujemna dla cech mniej skoncentrowanych niż w rozkładzie
normalnym
 dodatnia dla cech bardziej skoncentrowanych niż w rozkładzie
normalnym
Ekstrakcja cech
145

Przykład przewagi PCA nad ICA w separacji
klas:
Kierunek największej
wariancji (wynik PCA)
Kierunek najmniejszego
podobieństwa do rozkładu
Gaussowskiego (ICA)
Ekstrakcja cech
146

Popularne metody rozwiązywania ICA:
 FastICA,
 Infomax
Ekstrakcja cech
147

Podobne dokumenty