Opis i wydzielanie (ekstrakcja) cech

Transkrypt

Opis i wydzielanie (ekstrakcja) cech
Opis i wydzielanie (ekstrakcja) cech
Po segmentacji jest otrzymywany obraz wynikowy
(np. binarny) na podstawie którego jest łatwiej
wydzielać cechy/parametry obiektów wyodrębnionych w
etapie segmentacji.
Cechy obiektów obrazu można podzielić na kilka
kategorii:
• cechy linii brzegowej obiektu (np. kształt tej linii),
• cechy pola obszaru obiektu (np. rodzaj tekstury
obszaru, kolor).
• topologiczne cechy kształtu
Opis i wydzielanie (ekstrakcja) cech
Zależnie od celu analizy obrazu opis cech obiektu
skupia się na jego obszarze (np. jego polu powierzchni)
lub kształcie jego linii brzegowej (np. długości tej linii).
Analiza obszaru
Analiza konturu obiektu
Topologiczne cechy kształtu
Topologiczne cechy kształtów to cechy, które są
niezmienne względem tzw. transformacji „rubber-sheet”,
tj. przekształcenia w których nie dopuszcza się cięcia
płaszczyzny oraz tworzenia połączeń pomiędzy jej
brzegami.
Odległość Euklidesowa, nie jest cechą topologiczną gdyż
podlega zmianie po rozciągnięciu lub kurczeniu
płaszczyzny (podobnie równoległość jak i prostopadłość
linii).
Cechy topologiczne, oprócz cech geometrycznych, są
dodatkowym sposobem opisu kształtu obiektów.
Cechy topologiczne
Spójność obszaru jest cechą topologiczną.
Obszar zawierający trzy spójne obiekty C=3.
Cechy topologiczne
Liczba otworów jest niezmienną cechą topologiczną.
Obszary z dwoma otworami H=2.
Liczba Eulera
Liczba Eulera jest zależnością pomiędzy spójnością
obiektu i jego liczbą otworów:
E=C-H
Liczba Eulera jest niezmienną cechą topologiczną.
E=0
E=-1
Liczba Eulera - przykład
E=-2
E=-85
%MATLAB
BW = imread('circles.tif');
imshow(BW);
E=bweuler(BW)
%MATLAB
BW1 = imread('circbw.tif');
imshow(BW1);
E=bweuler(BW1)
Dopełnienie wypukłe (ang. convex hull)
Dopełnienie wypukłe CH obszaru S jest obszarem o
najmniejszym polu powierzchni, dla którego suma
CH ∪ S jest figurą wypukłą.
dopełnienie
dopełnienie
wypukłe
wypukłe
 Addison-Wesley
Szkielet obszaru (ang. skeleton)
Ważnym sposobem reprezentacji kształtu jest jego
redukcja do linii - zwanej szkieletem obiektu.
Szkielet obiektu wyznacza się za pomocą algorytmów
ścieniania (zwanych szkieletonizacją).
Linia szkieletowa obiektu jest podstawową cechą
kształtu wykorzystywaną w rozpoznawaniu znaków
alfanumerycznych i innych zastosowaniach np.
testowaniu jakości płytek drukowanych, granulometrii
itd.
Wyznaczanie szkieletu obszaru
Szkielet obiektu można wyznaczyc za pomocą transformacji
osi srodkowej (ang. medial axis transformation).
Oś środkowa to zbiór punktów obiektu, które mają więcej niż
jeden punkt brzegu położony najbliżej punktu osi.
 Addison-Wesley
Linie szkieletowe trzech przykładowych obiektów.
Wyznaczanie szkieletu obszaru
Wzorce masek dla których można usunąć punkt środkowy
Wzorce masek dla których nie można usunąć punktu środkowego
Zliczanie obiektów
Zasłonięte lub
stykające się obiekty
Detekcja brzegów nie prowadzi rozwiązania
Zliczanie obiektów
Wielokrotna erozja:
BW(i+1)=bwmorph(BW(i),'erode',1);
i sumowanie pośrednich wyników
Distance
transform
Zliczanie obiektów
Threshold the multiple eroded image
Segmentacja wododziałowa
(ang. watershed segmentation)
Dział wodny
(tu budujemy
tamę
Zlewisko
Segmentacja wododziałowa
Obraz
źródłowy
Obraz
gradientowy
Segmentacja
obrazu
gradientowego
Wynik
segmentacji
S. Beucher, “The watershed transormation applied to image
segmentation”, Conference on Signal and Image Processing in
Microscopy and Microanalysis, pp. 299-314, September 1991.
website: http://cmm.ensmp.fr/~beucher/publi/pfefferkorn.pdf
Przykład zastosowania szkieletonizacji
Obrazy metalograficzne:
a) obraz źródłowy,
a)
b)
b) obraz po progowaniu
(czarne obszary wtrącenia węgla),
c) obraz uzyskany po
szkieletonizacji b),
 Addison-Wesley
c)
d)
d) obraz uzyskany po
tzw. pruningu
obrazu c.
Opis i reprezentacja brzegów
Linia brzegowa obiektu wyznacza granice obiektu,
decyduje o jego kształcie.
Wyznaczenie brzegu obiektu jest konieczne do
określenia cech geometrycznych obiektu oraz jego
ułożenia przestrzennego.
Wyniki opisu ilościowego linii brzegowej jest
wykorzystywany w dalszej analizie obrazu (np.
klasyfikacji i rozpoznawaniu
kształtów).
Kody łańcuchowe (Freemana)
Kody łańcuchowe służą do reprezentacji konturów wg
schematu zaproponowanego przez Freemana. Najczęściej
stosuje się kody cztero- i ośmio- kierunkowe, które budują
kontur wg definicji cztero- lub ośmio- sąsiedztwa punktów.
 Addison-Wesley
Kody
łańcuchowe
Lokalne
zniekształcenia linii
konturu mogą
powodować
zafałszowanie
kodu.
Problemu tego
można uniknąć
powiększając
wymiar siatki.
 Addison-Wesley
Kody łańcuchowe
Kod łańcuchowy zależy od punktu początkowego
konturu. Kod taki można znormalizować następująco:
rozpocznij kodowanie od dowolnego punktu konturu;
z ciągu otrzymanych cyfr utwórz liczbę, znajdź liczbę
(przemieszczając się w ciągu cyfr) o największej (lub
najmniejszej) wartości
143527723565364762
Kody łańcuchowe
Można również uniezależnić kod łańcuchowy od
obrotu figury. Należy znaleźć kod różnicowy (np. dla
kodu
czterokierunkowego
10103322,
kodem
różnicowym jest 33133030).
Można również próbować
uniezależnić kod od skali
obiektu przez odpowiednią
zmianę wymiaru siatki.
1
0
2
3
Sygnatury – kody kształtów
Sygnaturą nazywamy jednowymiarową funkcję
odwzorowującą brzeg obszaru (np. kod Freemana).
 Addison-Wesley
y
θ
t
θ
t
x
parametryczna reprezentacja konturu
θ(t) - kąt θ w funkcji parametru t
Jak uzyskać niezależny opis od skali i obrotu obiektu?
Przykładowe figury i ich sygnatury
 Addison-Wesley
środek
ciężkości
Funkcje sklejane
Funkcje sklejane (ang. splines) są złożeniem funkcji
wielomianowych. Umożliwiają opis kształtu brzegu
lub konturu za pomocą małej liczby parametrów.
Funkcje sklejane są wykorzystywane w syntezie
kształtów, grafice komputerowej i w metodach
rozpoznawania kształtów.
Ich nazwa pochodzi od
łączących
(sklejających)
wielomianów.
punktów węzłowych
kolejne
odcinki
Funkcje sklejane
Ogólny wzór definiujący funkcje sklejane:
a)
p ( x) = pi ( x)
xi ≤ x≤xi +1
i = 0,1,K, k − 1
b)
pij ( xi ) = pij+1 ( xi ) j = 0,1,K r − 1, i = 1,K, k − 1
gdzie: x1,…,xk-1 nazywane są punktami węzłowymi, pi(x) są
wielomianami, oraz pij (x) jest ich j-tą pochodną.
Warunek (b) wymaga równości pochodnych sąsiednich
wielomianów w punktach węzłowych.
Oko ludzkie nie rozróżnia nieciągłości pochodnej trzeciego
rzędu.
Funkcje
sklejane w
reprezentacji
konturów
punkty
węzłowe
Syntaktyczna reprezentacji konturów
W
reprezentacji
syntaktycznej
kontur
podlega
dekompozycji na elementarne kształty podstawowe.
Buduje się też reguły łączenia tych kształtów w
łańcuchy aproksymujące kontury.
Ta
metoda
reprezentacji
konturów
jest
rzadko
stosowana ze względu na kłopotliwe reguły budowania
tzw. gramatyk dla zbioru kształtów podstawowych oraz
dużą czułość na zniekształcenia opisywanego konturu.
Kształty
podstawowe
Syntaktyczna
reprezentacja
konturu
Oś liczb urojonych
Deskryptory Fouriera
Oś liczb rzeczywistych
 Addison-Wesley
Deskryptory Fouriera
Kontur obiektu można przedstawić w postaci
parametrycznej za pomocą szeregu par współrzędnych
{x(k), y(k)}. Szereg ten można ponadto zinterpretować
jako okresowy sygnał zespolony:
s (k ) = x(k ) + jy (k )
k = 0,1,K, N − 1
Dyskretna transformata Fouriera tego sygnału:
1 N −1
a (u ) =
∑ s(k ) exp(− j 2πuk / N ),
N k =0
u = 0,1,K, N − 1
Współczynniki a(u) są nazywane deskryptorami Fouriera.
Rekonstrukcja
konturu za pomocą
5, 10 i 25
deskryptorów
Fouriera
 CRC Press
Wymiar przestrzeni – wymiar fraktalny
D=1
D=2
D=3
N=rD
log(N )
D=
log(r )
r=2
N=4
N=8
r=3
N=9
N=27
Czy D musi być
całkowite?
Wymiar fraktalny
Wymiar fraktalny można intuicyjnie rozumieć jako
„szorstkość” konturu. Definiuje się go szybkością z jaką
powiększa się długość konturu w miarę zmniejszania
skali pomiarowej długości (np. linijka metrowa,
centymetrowa, milimetrowa itd.).
1.03
1.10
1.23
Przykłady konturów i ich wymiary fraktalne
1.17
 CRC Press
Miary fraktalne
Wymiar Richardsona
Zlicza się liczbę kroków potrzebnych do przemierzenia
konturu w funkcji długości kroku.
Wymiar fraktalny Richardsona uzyskuje się po wykreśleniu
tej funkcji w skali podwójnie logarytmicznej i wyznaczeniu
tangensa kąta stycznej do tej funkcji.
Miary fraktalne
Wymiar Minkowskiego
Koła o różnych promieniach są
przemieszczane wzdłuż konturu;
Wykres pola powierzchni
zakreślonej przez koło w funkcji
średnicy koła (w skali podwójnie
logarytmicznej) daje wymiar
fraktalny Minkowskiego.
Miary fraktane
Wymiar Kołmogorowa
Siatka kwadratowa jest
nakładana na obraz.
Liczba oczek siatki, przez którą
przechodzi kontur wykreślona w
funkcji wymiaru siatki (w skali
podwójnie logarytmicznej) daje
prostą, której nachylenie daje
wymiar fraktalny Kołmogorowa.
Wymiary fraktalne:
a) Kołmogorowa,
b) Richardsona,
c) Minkowskiego.
a)
b)
c)
 CRC Press