• Nie Znaleziono Wyników

Geometria obrazu

N/A
N/A
Protected

Academic year: 2021

Share "Geometria obrazu"

Copied!
23
0
0

Pełen tekst

(1)

Geometria obrazu

Wykład 6

Znajdywanie konturu.

Metody mieszane.

1. Metoda zorientowanej energii.

2. Metody oparte na filtrze gradientowym.

3. Metoda lokalizacji.

4. Metoda znormalizowanego przekroju.

Uzupełnianie konturu z wykorzystaniem warunkowych pól

losowych.

(2)

Aby lepiej określić kontury elementów obrazu możemy stosować metody bardziej urozmaicone niż filtry lub transformacje.

W tym celu można analizować zależności wynikające z jasności, koloru, tekstury obrazu. Wiele z nich jest bardzo względnych, więc ustalenie odpowiednich parametrów bywa trudne.

Poza tym w większości przypadków nie badamy z góry określonych masek, lecz zbiory losowych pikseli wokół analizowanego punktu.

(3)

Metoda zorientowanej energii (OE).

W tym przypadku jasność I poddawana jest transformacji z pomocą dwóch filtrów o różnej symetrii: drugiej pochodnej funkcji Gaussa (parzysty) i

transformaty Hilberta (nieparzysty), np. dla kąta 0 i odpowiednich wartości  mamy:

Ogólnie otrzymujemy wzór:

gdzie f-y określają odpowiednie filtry zależne od orientacji  i skali .

(4)

Dla każdego piksela q znajdujemy kierunek * maksymalizujący wartość OE,. Następnie badamy wartości dla pikseli sąsiadujących z q w kierunku prostopadłym do *. Jeśli wartość OE* w q nie jest większa od

maksymalnych wartości energii sąsiadów, to pikselowi q nadajemy wartość 0 (porównanie wykonujemy równolegle dla wszystkich pikseli). Piksele o

niezerowej energii wskazują miejsca, w których mogą występować krawędzie.

Co więcej, możemy zdefiniować prawdopodobieństwo wystąpienia krawędzi w danym pikselu wzorem pcon=1-exp(-OE*/).

(5)

Metody oparte na filtrze gradientowym (BG,CG,TG).

W tym przypadku tworzymy małe kółko o środku w punkcie (x,y) i promieniu r. Następnie dzielimy je na pół średnicą o kierunku . Funkcja gradientowa G(x,y,,r) porównuje zawartość obu półkoli. Dostatecznie duża różnica wskazuje istnienie nieciągłości w obrazie wzdłuż średnicy koła.

W ten sposób możemy porównać różne cechy obrazu.

Gradienty też mogą być liczone na różne sposoby.

Histogramy g, h dla odpowiednich półkoli możemy porównać z pomocą funkcji

W ten sposób można badać histogramy jasności (BG), koloru (CG) lub tekstury (TG) i rozpatrywać różne ich układy.

(6)

W przypadku analizy koloru można też zastosować model CIELAB (który jest zbliżony do percepcji ludzkiego oka) i liczyć gradienty względem kanałów a i b (osobno – kierunki te są prostopadłe), a następnie policzyć ich sumę

CGa+b=CGa+CGb. Tak zdefiniowany gradient może różnić się od gradientu CGab liczonego jednocześnie dla obu kanałów.

https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/papers/mfm-pami-boundary.pdf

(7)

Przykład.

https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/papers/mfm-pami-boundary.pdf

(8)

Metoda lokalizacji.

Badanie gradientu może doprowadzić do sytuacji, w której po obu stronach brzegu zachodzą duże wahania. W takiej sytuacji staramy się uwzględnić odległość od najbliższego maksimum funkcji. Odległość tę aproksymuje wartość d(x) = -|f’(x)|/|f”(x)|. Chcemy, aby wartość funkcji malała wraz ze wzrostem odległości.

Tworzymy funkcję:

gdzie  jest tak dobrany, aby optymalizować efekty działania algorytmu, natomiast ḟ jest wygładzoną funkcją gradientu eliminującą podwójne ekstrema.

W efekcie dostajemy bardziej jednoznaczny wykres funkcji (TG vs. TG z daszkiem w poprzednim przykładzie).

(9)

Przykład (kontury widoczne po zastosowaniu różnych metod).

https://www2.eecs.berkeley.edu/Research/Projects/CS/vision/grouping/papers/mfm-pami-boundary.pdf

(10)

Metoda znormalizowanego przekroju (Normalized Cut Framework).

Traktujemy obraz jako ważony graf nieskierowany, którego wierzchołkami są piksele.

Wagę krawędzi między wierzchołkami i oraz j oznaczamy przez Wij.

Dla zbiorów A i B takich, że AB = V oraz AB =  definiujemy wartość przekroju cut(A,B) = iA,jB Wij .

Chcemy tak podzielić graf, aby zminimalizować przekrój przy jednoczesnej maksymalizacji wag wewnątrz każdego ze zbiorów.

Jest to równoważne znormalizowanemu przekrojowi, którym nazywamy wartość Ncut(A,B) = cut(A,B)/assoc(A,V) + cut(B,A)/assoc(B,V),

gdzie assoc(A,V) = iA,kV Wik .

Niech W będzie macierzą wag krawędzi a D macierzą diagonalną taką, że Dii = jV Wij .

(11)

Shi i Malik (2000) pokazali, że optymalny podział można znaleźć obliczając y* = arg min Ncut = arg miny yT(D-W)y/yTDy ,

gdzie arg min f(x)={xT: f(x)=mintTf(t)}.

Wyrażenie to ma postać x*Mx/x*x (gdzie x* oznacza transpozycję

Hermite’a), tzn. ilorazu Rayleigha (Rayleigh quotient), dzięki czemu istnieją metody pozwalające na znalezienie w czasie wielomianowym przybliżonego rozwiązania problemu dyskretnego (rozwiązaniem jest minimalny wektor własny).

(12)

Jak zdefiniować Wij ?

Można to zrobić na różne sposoby.

Wykorzystując metodę zorientowanej energii możemy przyjąć

Wij = 1-maxu(i,j)pcon(u), gdzie u oznacza piksele wzdłuż krawędzi (i,j).

Gdy zastosujemy funkcję gradientową dla histogramów odpowiednich zbiorów otrzymamy

Wtij = exp(-2(hi,hj)/), gdzie  jest czynnikiem skalującym.

Wtedy ptex = 1-1/(1+ exp[-(*2-)/]), gdzie  i  są dobierane empirycznie a

* jest maksimum z  obliczonego dla podziału kół, w których średnica jest dodana do lewej lub prawej części podziału.

(13)

Możemy połączyć oba te sposoby otrzymując pB = (1-ptex)pcon i odpowiednią wagę WBij = 1-maxu(i,j)pB(u).

Przykład.

Otrzymane kontury, w których pB (prawy) jest funkcją pcon (góra) i 1-ptex (dół).

https://people.eecs.berkeley.edu/~malik/papers/MalikBLS.pdf

(14)

Uzupełnianie konturu z wykorzystaniem warunkowych pól losowych (Conditional Random Fields).

W celu zastosowania tej metody, najpierw znajdujemy kontury elementów obrazu wykorzystując metodę detekcji krawędzi Canny’ego.

Założeniem tej metody jest:

-dobra detekcja – powinno zostać wykrytych możliwie dużo krawędzi,

-dobre umiejscowienie – wykryte krawędzie powinny być możliwie blisko rzeczywistych krawędzi,

-minimalna odpowiedź – dana krawędź powinna być wykryta tylko raz, a zaburzenia obrazu nie powinny tworzyć fałszywych krawędzi.

(15)

Algorytm Canny’ego składa się z czterech faz.

1.Stosujemy filtr gaussowski w celu eliminacji zaburzeń.

2.Z pomocą filtru Sobela lub Prewitta obliczamy wartości pochodnej poziomej Gx i pionowej Gy.

Następnie liczymy gradient

oraz jego kąt nachylenia  = arctg(Gy/Gx). Kąt zaokrąglamy do wielokrotności /4.

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

(16)

3. Usuwanie niemaksymalnych pikseli.

Eliminujemy piksele o tym samym kierunku

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 zwężamy krawędzie w sposób zapewniający ich ciągłość. Otrzymujemy ciągłą linię złożoną z pojedynczych pikseli.

4. Progowanie z histerezą.

Krawędzie z dużą wartością gradientu są

akceptowane. Krawędzie z małą wartością

gradientu są usuwane. Usuwane są też krawędzie pośrednie jeśli nie przylegają do

zaakceptowanych. Następnie następuje zmiana parametrów (obniżenie górnego progu i

podwyższenie dolnego progu).

Histereza – zależność aktualnego stanu od stanów poprzednich.

http://www.mif.pg.gda.pl/homepages/marcin/AG2011-12/Wyklad3.pdf

(17)

Przykłady.

https://www.youtube.com/watch?v=vZg3aldg89M (3’24” ) https://www.youtube.com/watch?v=17cOHpSaqi0 (3”50’)

(18)

Otrzymane w ten sposób krzywe aproksymujemy odcinkami tak, aby kąt między sąsiednimi odcinkami nie przekraczał określonego parametru .

Wierzchołki odcinków wyznaczają zbiór, dla którego tworzymy ograniczoną triangulację Delaunay (constrained DT) tzn. triangulację zawierającą dany zbiór krawędzi i taką, że pozostałe krawędzie spełniają warunki triangulacji Delaunay (maksymalizujemy kąty w powstałych trójkątach zmieniając

przekątne w badanych czworokątach).

Taką triangulację możemy znaleźć algorytmem przyrostowym, bo własności triangulacji mają lokalny zasięg (po dodaniu kolejnego punktu zmianie mogą ulec tylko te trójkąty, które w trakcie zmian mają wierzchołek w tym

punkcie).

Następnie z pomocą pól losowych staramy się zdefiniować te krawędzie triangulacji, które mogłyby uzupełnić kontur.

(19)

Przykład.

https://homes.cs.washington.edu/~xren/publication/xren_iccv05_contour.pdf

(20)

Niech (V, E) będzie nieskierowanym grafem, Sv – zbiorem sąsiadów v, C - zbiorem kolorów, a x:VC – obrazem.

Niech X={X1, …, X|V|} będzie rodziną zmiennych losowych zdefiniowanych na zbiorze V, w której każda zmienna X przyjmuje wartość x={x1,…,x|V|}CV. X nazywamy losowym polem Markowa na V względem systemu sąsiedztwa S

={S1,…,S|V|} wtedy i tylko wtedy, gdy zachodzą następujące dwa warunki:

P(x)>0, dla każdego xX, P(xv|xV-{v})=P(xv|xSv).

CRF jest nieskierowanym modelem grafowym, na którego wierzchołkach można określić dwie zmienne losowe X (obserwowanych zmiennych) i Y (zmiennych wynikowych) odzwierciedlającym warunkowy rozkład

prawdopodobieństwa P(Y|X).

Dążymy do minimalizacji vVlog(1/P(yv|xv)).

(21)

Przykład.

https://homes.cs.washington.edu/~xren/publication/xren_iccv05_contour.pdf

(22)

Przykład.

https://www.youtube.com/watch?v=rc3YDj5GiVM (22’22”)

(23)

Dziękuję za uwagę.

Cytaty

Powiązane dokumenty

Jest to model wynikający z właściwości odbiorczych ludzkiego oka, w którym wrażenie widzenia dowolnej barwy można wywołać przez zmieszanie w ustalonych proporcjach trzech

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.

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

Niestety mają tu też znaczenie subiektywne odczucia obserwatora... Tworząc wizualizację grafu możemy kierować się np. następującymi kryteriami:.. a) maksymalizacją

Wykorzystuj¹c wzór na dyla- tacjê czasu (MT 06/06), stwierdzamy, ¿e jeœli po- ci¹g porusza siê z prêdkoœci¹ v, to czas zmie- rzony pomiêdzy zdarzeniami (wys³anie i