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