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