• Nie Znaleziono Wyników

Geometria obrazu

N/A
N/A
Protected

Academic year: 2021

Share "Geometria obrazu"

Copied!
37
0
0

Pełen tekst

(1)

Geometria obrazu

Wykład 2

Rozpoznawanie obrazu

1. Suma Minkowskiego

2. Morfologia matematyczna

3. Szkielety

(2)

Suma Minkowskiego (Minkowski sum).

Definicja.

Rozpatrzmy wielokąty A i B jako zbiory wektorów o współrzędnych odpowiadających współrzędnym punktów należących do tych

wielokątów. Sumą Minkowskiego wielokątów A i B jest

A + B := {x + y : x  A  y  B}.

Fakt.

Suma Minkowskiego dwóch wielo-kątów zależy od ich położenia.

(3)

Załóżmy, że obszar R ma stałą liczbę wierzchołków, a obszar D ma n wierz- chołków.

R D Rozmiar sumy Złożoność czasowa konstrukcji wypukły wypukły O(n) O(n)

wypukły niewypukły O(n) O(n log n) niewypukły niewypukły O(n2 ) O(n2 log n) Twierdzenie.

Niech P i R będą wielokątami o odpowiednio n i m wierzchołkach. Złożoność sumy Minkowskiego wielokątów P i R ma następujące ograniczenia:

-O(n+m), jeśli oba wielokąty są wypukłe,

- O(nm), jeśli jeden z wielokątów jest wypukły, a drugi nie, - O(n2m2), jeśli oba wielokąty nie są wypukłe.

Ograniczenia są ścisłe w pesymistycznym przypadku.

(4)

Morfologia matematyczna (mathematical morphology).

Podstawową koncepcją morfologii matematycznej jest to, że struktura

geometryczna jest odkrywana poprzez relację między nią a oddziałującymi na nią elementami strukturującymi. Elementy te modyfikują kształt

obiektu, określając jego strukturę.

Podstawowymi operacjami stosowanymi w tym modelu przetwarzania obrazu są:

- dylacja, - erozja,

- szkieletyzacja.

Morfologia matematyczna ma zastosowanie głownie do obrazów

binarnych, ale nie tylko. Wykorzystuje się ją przy filtrowaniu, segmentacji, detekcji cech itp.

(5)

Element strukturujący (structuring element).

W naszych rozważaniach elementem strukturującym będzie układ pikseli z wyróżnionym jednym punktem, zwanym początkowym (lub centralnym).

Po zadziałaniu elementem strukturującym na obraz, punkt początkowy wskazuje na piksel obrazu, którego dotyczy wynik przeprowadzanej operacji.

Składniki elementu strukturującego nie muszą być jednobarwne.

(6)

Dylacja (dilation).

Do każdego piksela obrazu przykładamy element strukturujący (o wartościach wszystkich pikseli = 1) w punkcie początkowym.

Jeśli choć jeden z pikseli przykrytych przez element strukturujący ma wartość 1, to piksel odpowiadający punktowi początkowemu przyjmuje wartość 1.

Innymi słowy, jeśli sij odpowiada wartościowaniu elementu

strukturującego a oij odpowiednich pikseli obrazu, to piksel wskazywany przez punkt początkowy przyjmuje wartość V(sijoij).

(7)

Przykład.

- Rozmiar obrazu wzrasta (kontur staje się wyraźniejszy).

- Znikają detale (jasne elementy są przykrywane ciemnymi).

[http://aragorn.pb.bialystok.pl/~boldak/DIP/CPO-W05-v01-50pr.pdf]

(8)

Przykład.

Dylacja elementem strukturującym różnym od kwadratu.

[http://aragorn.pb.bialystok.pl/~boldak/DIP/CPO-W05-v01-50pr.pdf]

(9)

Fakt.

Obraz powiększy się równomiernie, gdy element strukturyzujacy będzie mieć kształt zbliżony do koła.

Algorytm obliczania dylacji.

Przesuwamy obraz o wektor przeciwny do wektora wyznaczonego przez punkt początkowy i niezerowy piksel

elementu strukturyzującego.

R(0,0)

(10)

Erozja (erosion).

Do każdego piksela obrazu przykładamy element strukturujący (o wartościach wszystkich pikseli = 1) w punkcie początkowym.

Jeśli choć jeden z pikseli przykrytych przez element strukturujący ma wartość 0, to piksel odpowiadający punktowi początkowemu przyjmuje wartość 0.

Innymi słowy, jeśli sij odpowiada wartościowaniu elementu

strukturującego a oij odpowiednich pikseli obrazu, to piksel wskazywany przez punkt początkowy przyjmuje wartość (sijoij).

(11)

Przykład.

- Obraz zmniejsza się.

- Niektóre fragmenty obrazu zanikają.

- Rosną „0-dziury” i przybierają kształt elementu strukturyzującego.

[http://aragorn.pb.bialystok.pl/~boldak/DIP/CPO-W05-v01-50pr.pdf]

(12)

Przykład.

Erozja elementem strukturującym różnym od kwadratu.

[http://aragorn.pb.bialystok.pl/~boldak/DIP/CPO-W05-v01-50pr.pdf]

(13)

Stosując dylację i erozję możemy określić brzeg obrazu odejmujac od siebie

- obraz po dylacji i przed nią lub - obraz przed erozją i po niej.

(14)

Przykład.

(15)

Otwarcie morfologiczne (opening) jest złożeniem erozji i dylacji.

W wyniku złożenia operacji obraz zachowuje swój początkowy rozmiar, ale może stracić niektóre detale (np. wystające fragmenty).

Im większy jest element strukturyzujący tym więcej detali znika.

Złożenie kilku kolejnych erozji i takiej samej liczby dylacji jest równoważne otwarciu z odpowiednio większym elementem strukturyzującym.

[http://aragorn.pb.bialystok.pl/~boldak/DIP/CPO-W05-v01-50pr.pdf]

(16)

[http://aragorn.pb.bialystok.pl/~boldak/DIP/CPO-W05-v01-50pr.pdf]

Zamknięcie morfologiczne (closing) jest złożeniem dylacji i erozji.

W wyniku złożenia operacji obraz zachowuje swój początkowy rozmiar, a wklęsłości (m.in. „dziury”) są uwypuklane.

Kolejne otwarcia nie zmieniają „zamkniętego” obrazu.

Im większy jest element strukturyzujący tym więcej detali jest pochłanianych przez obraz (łączą się ze sobą).

(17)

Stosując odpowiednie elementy strukturyzujące możemy badać pewne cechy obrazu np. znajdywać rogi.

W tym celu definiujemy cztery elementy strukturyzujące takie, że obraz ma róg w miejscu, w którym któryś z tych elementów pasuje do obrazu.

(18)

Pogrubianie – znajdywanie wypukłej powłoki.

Stosując następujące osiem elementów możemy „uwypuklać” obraz.

(19)

Niech S={p1, ... , pn} będzie zbiorem n punktów na płaszczyźnie. Dla każdego z punktów należących do S określamy obszar Voronoi (Voronoi region) zawierający

punkty płaszczyzny, dla których dany punkt jest najbliższy spośród punktów z S, tzn.:

VD(pi)={x: ii d(pi,x)  d(pj,x)}.

Punkty należące do brzegów obszarów

Voronoi tworzą diagram Voronoi (Voronoi diagram).

Graf dualny do diagramu Voronoi to triangulacja Delaunay (Delaunay triangulation).

Szkieletem (skeleton) lub osią medialną (medial axis) wielokąta prostego nazywamy graf podziału jego wnętrza na obszary

Voronoi wyznaczane przez krawędzie wielokąta.

(20)

W podobny sposób jak uwypuklenie można pogrubiać obraz w celu znalezienia podziału odpowiadającego diagramowi Voronoi (należy uważać, aby rosnące obszary nie naszły na siebie).

Natomiast tworząc coraz cieńszy obraz możemy w wyniku otrzymać jego szkielet.

(21)

Szkielet prosty (straight skeleton).

Załóżmy, że dany wielokąt będzie

„obkurczać się” w taki sposób, że jego wierzchołki będą poruszać się wzdłuż dwusiecznych kątów wyznaczanych przez proste zawierające boki wielokąta.

Mamy dwa rodzaje zdarzeń, które powo- dują zmianę kierunku poruszania się wierzchołka:

- zdarzenie krawędziowe, gdy znika krawędź „obkurczającego się” wielokąta, - zdarzenie rozdzielające, gdy krawędź

„obkurczającego się” wielokąta jest

rozbijana przez wierzchołek poruszający się w przeciwnym kierunku.

(22)

Rozpoznawanie obrazu z pomocą szkieletu.

Szkielet dla pewnego spójnego obszaru, aby być przydatnym w rozpoznawaniu obrazu powinien spełniać następujące własności:

1. powinien zachowywać topologiczne informacje o oryginalnym obiekcie, 2. jego położenie powinno być jednoznaczne,

3. nie powinien się zmieniać przy małych deformacjach,

4. powinien zawierać środki maksymalnych kół wpisanych, które mogłyby być użyte do rekonstrukcji oryginalnego obiektu,

5. nie powinien zmieniać się pod wpływem takich przekształceń przestrzeni takich jak przesunięcia lub obroty,

6. powinien reprezentować istotne wizualnie części obiektu.

(23)

Dla danego obrazu możemy tworzyć mniej lub bardziej dokładne

szkielety rezygnując z niektórych gałęzi, zmieniając minimalny promień koła wpisanego wewnątrz obrazu lub upraszczając kontur obrazu.

[X. Bai et al. IEEE Transactions on Pattern Analysis and Machine Intelligence 29 (2007)]

(24)

Jeszcze jedna metoda znajdywania szkieletu.

W celu znalezienia szkieletu, dla każdego piksela wykonujemy następujące operacje.

1. Wykorzystując zgromadzone w preprocessingu dane określamy dla danego piksela oraz jego ośmiu sąsiadów najbliższe wybrane punkty brzegowe.

2. Sprawdzamy, czy odległość między odpowiednimi parami najbliższych punktów brzegowych jest większa od zadanego parametru  (punkty na brzegu nie są zbyt blisko).

3. Sprawdzamy, czy różnica odpowiednich odległości od punktów

brzegowych jest nie większa od odległości badanych punktów (punkty są jednakowo oddalone od brzegu).

4. Jeśli dla badanego piksela i przynajmniej jednego z jego sąsiadów

otrzymamy pozytywne wyniki w punktach 2 i 3, to dany piksel należy do szkieletu.

(25)

Przykład.

Wpływ parametru  na wygląd szkieletu.

[W.-P. Choi et al. Pattern Recognition 36 (2003)]

(26)

Aby zmniejszyć rozmiar szkieletu, zachowując jednocześnie możliwie dużo jego cech charakterystycznych, rekurencyjnie zmniejszamy liczbę wierzchołków obiektu.

Zaczynamy od zbioru wierzchołków wyznaczających końce gałęzi szkieletu.

Następnie analizujemy zależności między kolejnymi odcinkami brzegu.

Możemy w tym celu wprowadzić miarę, np.

funkcja zależna od kąta między sąsiednimi krawędziami pomnożona przez iloczyn ich długości i podzielona przez sumę długości (np. absin/

(a+b) -eliminowane są krawędzie tworzące duży kąt i o dużej różnicy długości).

Eliminujemy wierzchołki o odpowiednio małej mierze i tworzymy nowy kontur obiektu.

(27)

Przykład.

Wpływ wyboru konturu na postać szkieletu.

[X.Bai et al. IEEE Transsactions on Pattern Analysis and Machine Intelligeence 29 (2007)]

(28)

Przykład.

[X.Bai et al. IEEE Transsactions on Pattern Analysis and Machine Intelligeence 29 (2007)]

(29)

Sposoby identyfikacji obrazu : 1. Badanie podobieństw szkieletu:

- Analiza grafowa (izomorfizm krawędzi).

- Przekształcenia zaburzające graf.

- Odwzorowania między liśćmi drzewa.

2. Badanie podobieństw szkieletu i konturu.

3. Analiza ścieżek w grafie szkieletu.

4. Badania dla różnych wartości parametrów.

(30)

Niebezpieczeństwa.

Podobne obiekty mają różne grafy.

[X.Bai et al. Int. Journal of Pattern Rec. and Art. Intelligence 22 (2008)]

(31)

Podobny graf – różne kształty.

[X.Bai et al. Int. Journal of Pattern Rec. and Art. Intelligence 22 (2008)]

(32)

Pozytywny wynik dopasowania.

[X.Bai et al. IEEE Transsactions on Pattern Analysis and Machine Intelligeence 29 (2007)]

(33)

Badanie odcisków palców (fingerprint identification).

Na odcisku palca określamy zbiór istotnych punktów.

Zwykle są to końce linii papilarnych lub punkty, w których się one łączą.

Dla danego zbioru punktów tworzymy triangulację Delaunay.

[G. Bebis et al. „Fingerprint Identyfication Using Delaunay Triangulation”]

(34)

Każdy trójkąt triangulacji jest opisany za pomocą trzech zmiennych.

Niech l1, l2, l3 oznaczają długości boków danego trójkąta w porządku niemalejącym. Niech α będzie katem przeciwległym do krawędzi o maksymalnej długości.

Wtedy definiujemy zmienne z1, z2, z3, które przyjmują wartość:

0 ≤ z1 = l1/l3 ≤ 1, 0 ≤ z2 = l2/l3 ≤ 1, -1 ≤ z3 = cos α ≤ 1.

Następnie skalujemy zmienne, określając odpowiednie progi tak, aby zmienne były liczbami całkowitymi (dopuszczamy pewien margines

błędu).

(35)

Badamy odpowiednie triangulacje dla wzorca i danych z bazy.

Dla trójkątów opisanych tymi samymi zmiennymi zapamiętujemy parametry odpowiedniego przekształcenia w przestrzeni transformacji.

Obszar w przestrzeni transformacji, w którym znajduje się najwięcej

punktów odpowiadających odwzorowaniom różnych trójkątów wskazuje na przekształcenie, które najlepiej dopasowuje oba obrazy.

Po dokonaniu takiego przekształcenia, można z pomocą przekształcenia afinicznego dodatkowo dopasować trójkąty, które niewiele się różnią.

Procentową zgodność dopasowania określa formuła 200n/(p+q), gdzie n oznacza liczbę pokrywających się punktów, a p i q są liczbami

wierzchołków badanych triangulacji (200 odpowiada „procentowo” p+q).

(36)

Przykład.

Dopasowane dwie triangulacje przed i po afinicznej korekcie (jasne i ciemne krawędzie pokrywają się w większym stopniu).

[G. Bebis et al. „Fingerprint Identyfication Using Delaunay Triangulation”]

(37)

Dziękuję za uwagę.

Cytaty

Powiązane dokumenty

gradientu (prostopadłego do szukanej krawędzi), dla których wartość gradientu nie jest większa (lub jednostronnie równa) od wartości gradientu sąsiadów.. W ten sposób

3.Wyznaczamy zbiór S’ lokalnych minimów w triangulacji Delaunay oraz podzbiór E’ zbioru E krawędzi, które łączą punkty z S’ z punktem o..

Drzewo, które pozostanie na liście, jest nazywane drzewem Huffmana – prawdopodobieństwo zapisane w korzeniu jest równe 1, natomiast w liściach drzewa zapisane są symbole.

całości trójwymiarowej sceny sześcianem (lub prostopadłościanem), który następnie dzielony jest na osiem

dla każdego źródła światła sprawdź, czy istnieje promień odbijający się w danym punkcie w kierunku obserwatora, jeśli tak, to oblicz parametry odbicia;.. jeśli promień

Punkt p znajduje się w półcieniu, gdy źródło światła jest częściowo widoczne z tego punktu.. Punkt p znajduje się w antycieniu, gdy całe źródło światła jest widoczne

- bottom-up : najpierw znajdujemy bryły ograniczające małe grupy bliskich obiektów, a następnie łączymy je w coraz większe zbiory, - top-down : znajdujmy bryłę

Time of light – generowane są błyski światła i na podstawie czasu dotarcia ich do kamery określana jest odległość od poszczególnych elementów sceny (metoda wrażliwa na