Segmentacja obrazu Segmentacja obrazu
Transkrypt
Segmentacja obrazu Segmentacja obrazu
Segmentacja obrazu • 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 (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) – Segmentacja pełna (suma wszystkich obszarów jest obrazem i wszystkie obszary są rozłączne) – Segmentacja niepełna (część punktów może nie być zaklasyfikowana lub może być przypisana do większej liczby obiektów) 1 Segmentacja obrazu • 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 8-sąsiedztwo 4-sąsiedztwo 2 Segmentacja obrazu • Miary odległości na obrazie 1 – Odległość Euklidesowa 1 (x1,y1) 1 1 – Odległość 4-sąsiedztwa – Odległość 8-sąsiedztwa 2 1 2 1 (x1,y1) 1 2 1 2 2 2 2 2 2 2 1 1 1 2 2 1 (x1,y1) 1 2 2 1 1 1 2 2 2 2 2 2 3 Segmentacja obrazu Segmentacja obrazu oparta na obszarach • Segmentacja obrazu 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 Segmentacja obrazu • Segmentacja obrazu 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 obrazu – 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 obrazu – Segmentacja i klasyfikacja obiektów w modelu RGB z użyciem techniki LUT 7 Segmentacja obrazu • 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 Segmentacja obrazu • Segmentacja obrazu 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 Segmentacja obrazu • 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 Segmentacja obrazu 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 Segmentacja obrazu – 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 ng nl ma etykietę L to etykieta piksela p=L b) jeżeli ng i nl = L to p=L c) jeżeli nl=M ng=N to p=N i przyporządkuj w tablicy etykiet równoważnych 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 20 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 Segmentacja obrazu 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 Segmentacja obrazu • Segmentacja obrazu 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 obrazu – 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 Segmentacja obrazu • Transformacja Hougha – Po transformacji punktom prostej odpowiadają linie w przestrzeni parametrów , które przecinają się w punkcie 16 Segmentacja obrazu – 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 Segmentacja obrazu – Przestrzeń parametrów - akumulator Obraz wejściowy Akumulator 18 Segmentacja obrazu • 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 Segmentacja obrazu 20 Segmentacja obrazu 21 Segmentacja obrazu • Adaptacyjny algorytm progowania [Bradley, Roth, 2007] – Obraz całkowy (ang. integral image) Obraz wejściowy Obraz całkowy 22 Segmentacja obrazu – Suma wartości funkcji obrazowej między lewym górnym a prawym dolnym narożnikiem prostokątnego fragmentu obrazu Obraz wejściowy A Obraz całkowy B C (A+B+C+D)-(A+B)-(A+C)+A=D D Suma wartości funkcji obrazowej między lewym górnym a prawym dolnym narożnikiem na podstawie obrazu całkowego: 23 Segmentacja obrazu – 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 Segmentacja obrazu – Algorytm adaptacyjnego progowania - przykłady Obraz wejściowy Binaryzacja z jednym progiem Binaryzacja z progowaniem adaptacyjnym 25 Segmentacja obrazu • 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 Segmentacja obrazu – Przykład koncepcji zalewania obszarów Obraz oryginalny Widok topograficzny obrazu Pierwszy etap zalewania Drugi etap zalewania 27 Segmentacja obrazu – 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 Segmentacja obrazu – 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 Segmentacja obrazu – Przykład segmentacji obrazu metodą wododziałową Obraz wejściowy Wyznaczone linie wododziału Obraz gradientu Linie wododziału naniesione na obraz oryginalny 30 Segmentacja obrazu – Częsty problem w segmentacji wododziałowej – oversegmentation, przyczyną jest duża liczba minimów lokalnych 31 Segmentacja obrazu – 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