Cel segmentacji Podział obrazu na obszary odpowiadające poszczególnym, widocznym na obrazie obiektom. Towarzyszy temu zwykle indeksacja (etykietowanie) obiektów, czyli przypisanie każdemu obiektowi innej etykiety (wszystkie piksele danego obiektu otrzymują tę samą wartość etykietę). Obszar na obrazie zbiór pikseli o podobnych właściwościach ciach (jasność kolor, tekstura). Podział obrazu na obszary jest podstawą do wykrycia obiektów oraz ich interpretacji. Podział metod segmentacji Segmentacja oparta na obszarach (sąsiedztwie pod kątem jednorodności pikseli) Segmentacja oparta na ekstrakcji krawędzi (wyznaczaniu granic i konturów obiektów) 1 Sąsiedztwo punktu na obrazie Bezpośredni sąsiedzi, B-sąsiedzi: punkty które mają wspólne boki z punktem (x,y) {0,2,4,6} Niebezpośredni sąsiedzi, N-sąsiedzi: punkty które mają wspólne narożniki z punktem (x,y) {1,3,5,7} 5 6 7 4 (x,y) 0 3 2 1 Spójność obszaru w sensie 4-sąsiedztwa dowolny z B-sąsiadów posiada cechę jednorodną z punktem (x,y) Spójność w sensie 8-sąsiedztwa dowolny z B-sąsiadów lub N- sąsiadów posiada cechę jednorodną z punktem (x,y) Spójność w sensie 4 lub 8-sąsiedztwa może odnosić się do obszarów jak również konturów 2
Miary odległości na obrazie Odległość Euklidesowa 1 1 (x 1,y 1 ) 1 1 Odległość 4-sąsiedztwa 2 1 2 1 (x 1,y 1 ) 1 2 1 2 Odległość 8-sąsiedztwa 2 2 2 2 2 2 1 1 1 2 2 1 (x 1,y 1 ) 1 2 2 1 1 1 2 2 2 2 2 2 3 oparta na obszarach przez podział na obszary w oparciu o techniki progowania Zaleta prostota realizacji Problem z doborem progu (progów) Zazwyczaj wymaga stosowania dodatkowej filtracji logicznej (nieliniowej) w celu usunięcia odizolowanych pikseli, wygładzenia brzegów obszarów czy ujednolicenia ich wnętrza 4
kolorowego Segmentacja z użyciem modelu HSV (HSI) Składowa H w sposób naturalny umożliwia określenie barwy i poszukiwanie obszarów jednorodnych pod względem koloru Składowa nasycenia S jest używana do maskowania obrazu w celu dalszej separacji poszukiwanych obszarów 5 Segmentacja z użyciem modelu RGB Do segmentacji wykorzystuje się trójkę składowych RGB określających wektor w przestrzeni RGB Kluczowym problemem jest określenie zakresów zmienności składowych RGB oraz sposobu pomiaru podobieństwa między punktami obrazu kolorowego w przestrzeni RGB. Jednym ze sposobów jest wykorzystanie miary w postaci odległości Euklidesowej [1] 6
Segmentacja i klasyfikacja obiektów w modelu RGB z użyciem techniki LUT 7 Segmentacja przez rozrost (łączenie) obszarów Polega na wstępnej segmentacji przez podział techniką progowania w sposób zachowawczy tak aby wyróżnić tzw. jednorodne obszary zarodnikowe (często wykorzystuje się pewną wiedzę o treści obrazu). Następnie przeprowadza się proces rozrostu tych obszarów dołączając piksele które pasują do przyjętego lokalnego modelu dla obszarów (np. zmienności funkcji obrazowej w obszarze). W trakcie rozrostu model może ulegać zmianom Obraz X-ray uszkodzeń spawu [1] 8
przez podział obszarów Obraz lub jego fragment (obszar) jest dzielony sukcesywnie na podobszary, tak długo aż nie zostanie spełniony określony warunek spójności (jednorodności) dla wszystkich wydzielanych podobszarów Podział obrazu w postaci drzewa czwórkowego [1] Segmentacja łącząca techniki podziału i rozrostu (ang. Split and Merge) Podczas podziału niektóre uzyskane obszary sąsiednie mogą mieć posiadać te same własności następuje ich połączenie 9 Etykietowanie obszarów na obrazie (wyznaczanie obszarów spójnych) Rekursywny algorytm wyznaczania obszarów spójnych 1. Przeglądaj obraz wierszami aż do napotkania piksela o wartości 1 któremu dotąd nie nadano etykiety. Nadaj mu nową etykietę L. 2. Rekursywnie nadawaj tę etykietę tym jego sąsiadom, którzy mają wartość 1, procedura Indeksuj(x,y,L) 3. Jeżeli zabrakło pikseli o wartości 1 i bez etykiety to stop. 4. Idź do punktu 1 Indeksuj(x,y,L) If J(x,y)==1 { } J(x,y)=L; Indeksuj(x-1,y,L); Indeksuj(x+1,y,L); Indeksuj(x,y-1,L); Indeksuj(x,y+1,L); 10
Indeksuj(x,y,L) Push(x,y) While!stos_pusty do { Pop(x,y) if J(x,y)==1 { J(x,y)=L; push(x-1,y,l); push(x+1,y,l); push(x,y-1,l); push(x,y+1,l); } } 11 Sekwencyjny algorytm wyznaczania obszarów spójnych Wersja I 1. Przeglądaj obraz linia po linii od lewej do prawej i z góry na dół 2. Jeżeli napotkany piksel ma wartość 1 to: a) jeżeli tylko jeden z sąsiadów n g n l ma etykietę L to etykieta piksela p=l b) jeżeli n g i n l = L to p=l c) jeżelieli n l =M n g =N to p=n i przyporządkuj w tablicy etykiet równoważnychnych M do N d) w pozostałych przypadkach nadaj nową etykietę i wprowadź do tablicy 3. Jeżeli są jeszcze inne piksele o wartości 1 to przejdź do 2 0 4. W każdym zbiorze etykiet równoważnych zastąp wszystkie etykiety numerem najniższej etykiety w zbiorze 5. Ponownie przejrzyj obraz zastępując każdą etykietę etykietą o najniższym numerze w każdej z klas etykiet równoważnych. 12
Wersja II 1. Nr_grupy = 2 2. Przeszukuj obraz wierszami od lewej do prawej i z góry na dół aż do napotkania punktu o wartości 1 - jeśli w sąsiedztwie badanego punktu P(w,k) nie ma punktów o wartościach większych od 1, to nadaj punktowi P(x,y)=Nr_grupy, zwiększ numer grupy Nr_grupy++ - jeśli wszystkie punkty z sąsiedztwa mają takie same etykiety L (numery grup) to nadaj P(x,y) etykietę równą punktom sąsiednim P(x,y)=L - jeśli nie mają to P(x,y) otrzymuje etykietę punktu o większej wartości M, następnie należy zamienić etykiety punktów o mniejszej wartości L na etykiety M na przeszukanym dotąd obrazie 3. Kontynuuj przeszukiwanie obrazu aż do napotkania kolejnego punktu o wartości 1 lub końca obrazu 13 przez detekcję krawędzi Ekstrakcję punktów krawędzi przeprowadza się przez binaryzację obrazu gradientowego uzyskanego w wyniku działania filtrów będących operatorami gradientowymi Operatory Sobela Binaryzacja 14
Segmentacja przez detekcję krawędzi wymaga przeprowadzenia procedury śledzenia krawędzi w celu wyznaczenia konturu stanowiącego granicę obszarów Problemy podczas śledzenia krawędzi Nieciągłość krawędzi łączenie punków krawędzi Krawędzie grube konieczność pocieniania Rozgałęzienia krawędzi Brak konturów zamkniętych Reprezentacja konturów Uporządkowana lista punktów krawędzi Odcinki proste Łuki Wielomiany sklejane 3 stopnia 15 Transformacja Hougha Po transformacji punktom prostej odpowiadają linie w przestrzeni parametrów, które przecinają się w punkcie 16
Dla linii pionowych powstaje problem z określeniem parametrów prostej, wprowadza się równanie w postaci normalnej Dyskretyzacja przestrzeni parametrów Dla każdego niezerowego punktu obrazu wyznacza się prostą inkrementując odpowiednią komórkę akumulatora 17 Przestrzeń parametrów - akumulator Obraz wejściowy Akumulator 18
Transformacja Hougha algorytm Poszukiwana krzywa:, gdzie - wektor parametrów 1. Dokonać kwantyzacji przestrzeni parametrów. Wymiar przestrzeni jest równy liczbie elementów wektora 2. Utworzyć n-wymiarową macierz akumulatora o strukturze odpowiadającej kwantyzacji przestrzeni, wyzerować jej elementy 3. Dla każdego punktu obrazu otrzymanego po odpowiednim progowaniu gradientu powiększyć te komórki akumulatora dla których zachodzi 4. Maksima lokalne macierzy akumulatora odpowiadają krzywym występującym na obrazie oryginalnym 19 20
21 Adaptacyjny algorytm progowania [Bradley, Roth, 2007] Obraz całkowy (ang. integral image) Obraz wejściowy Obraz całkowy 22
Suma wartości funkcji obrazowej między lewym górnym a prawym dolnym narożnikiem prostokątnego fragmentu obrazu Obraz wejściowy Obraz całkowy A B C D (A+B+C+D)-(A+B)-(A+C)+A=D Suma wartości funkcji obrazowej między lewym górnym a prawym dolnym narożnikiem na podstawie obrazu całkowego: 23 Algorytm adaptacyjnego progowania w oparciu o obraz całkowy For i=0 to w For j=0 to k x1=i-s/2; x2=i+s/2; y1=j-s/2; y2=j+s/2; count=(x2-x1)*(y2-y1); sum=i(x2,y2)-i(x2,y1-1)-i(x1-1,y2)+i(x1-1,y1-1); If (in(i,j)*count)<=(sum*(100-t)/100) then out(i,j)=0; else out(i,j)=1; endif endfor endfor w,k - s - t - liczba wierszy i kolumn rozmiar okna sumowania próg w procentach do binaryzacji 24
Algorytm adaptacyjnego progowania - przykłady Obraz wejściowy Binaryzacja z jednym progiem Binaryzacja z progowaniem adaptacyjnym 25 Segmentacja metodą wododziałową (ang. Morphological Watersheds) Metoda opiera się na wizualizacji funkcji obrazowej w trzech wymiarach, gdzie wartości pikseli obrazu określają trzecią składową i zalewania obszarów startując od lokalnych minimów. W takiej interpretacji mapy topograficznej można wyróżnić trzy typy punktów: (a) punkty stanowiące lokalne minima; (b) punkty z których woda będzie spływać dokładnie do jednego regionu minimum (punkty zboczy należące do wododziału danego minimum); (c) punkty dla których woda może spływać jednocześnie do więcej niż jednego działu wodnego (punkty, które tworzą grzbiety nazywane liniami wododziału na których buduje się tamy). Przekrój obrazu Początek zalewania Tworzenie tamy Końcowy rezultat zalewania z tamami linii wododziału 26
Przykład koncepcji zalewania obszarów Obraz oryginalny Widok topograficzny obrazu Pierwszy etap zalewania Drugi etap zalewania 27 Przykład koncepcji zalewania obszarów c.d. Dalszy etap zalewania Początek łączenia obszarów wodnych z dwóch różnych zlewni budowa tamy Kolejne rezultaty z budowanymi tamami Końcowy wynik podziału wodnego z liniami segmentacji 28
Zalewanie i konstrukcja tam Dwa obszary częściowo zalane w kroku n-1 Zalewanie w kroku n, woda rozlewa się i łączy w jeden obszar Rezultat dylatacji i tworzenia tamy Element strukturalny wykorzystany do budowy tamy 29 Przykład segmentacji obrazu metodą wododziałową Obraz wejściowy Obraz gradientu Wyznaczone linie wododziału Linie wododziału naniesione na obraz oryginalny 30
Częsty problem w segmentacji wododziałowej oversegmentation, przyczyną jest duża liczba minimów lokalnych 31 Eliminacja problemu zastosowanie markerów wewnętrznych oraz zewnętrznych Znaczniki lokalne po dolnoprzepustowej filtracji obrazu (jednolite obszary szare) oraz wynik segmentacji przez zalewanie Wynik segmentacji z użyciem markerów zewnętrznych (linii wododziału z obrazu lewego) określających obszary do zalewania indywidualnego 32