Analiza obrazu komputerowego wykład 7 Marek Jan Kasprowicz Uniwersytet Rolniczy 2009 Slajdy przygotowane na podstawie książki Komputerowa analiza obrazu R.Tadeusiewicz, P. Korohoda,
Filtry morfologiczne
Podstawowym pojęciem przekształceń morfologicznych jest tzw. element strukturalny obrazu. Jest to pewien wycinek obrazu (pewien podzbiór elementów) z wyróżnionym jednym punktem punktem centralnym. Najczęściej stosowanym elementem strukturalnym jest koło o promieniu jednostkowym.
Ogólny algorytm przekształcenia morfologicznego: element strukturalny jest przemieszczany po całym obrazie i dla każdego punktu obrazu dokonywane jest porównanie punktów obrazu i elementu strukturalnego, przy założeniu, że badany punkt obrazu jest punktem centralnym elementu strukturalnego w każdym punkcie obrazu następuje sprawdzenie, czy rzeczywista konfiguracja pikseli obrazu w otoczeniu tego punktu jest zgodna z wzorcowym elementem strukturalnym w przypadku wykrycia zgodności wzorca pikseli obrazu i szablonu elementu strukturalnego następuje wykonanie pewnej operacji na badanym punkcie
Erozja
Aby zdefiniować operację erozji zakłada się, że istnieje nieregularny obszar X i koło B o promieniu r, które będzie elementem strukturalnym. Jako punkt środkowy elementu strukturalnego przyjmuje się środek koła B. Wówczas erozję figury X elementem B można zdefiniować na dwa sposoby: figura zerodowana to zbiór wszystkich środków kół opromieniur,którewcałości zawarte są we wnętrzu obszaru X koło B przetacza sięę po wewnętrzneję stronie brzegu figury, a kolejne położenia środka koła B wyznaczają brzeg figury zerodowanej Erozję można także zdefiniować jako tzw. filtr minimalny, tzn. taki operator, w którym każdemu punktowi przypisuje się minimum z wartości jego sąsiadów.
Definicja I Zakładamy, że obraz wyjściowy zawiera pewien obszar (figurę) X, wyróżniający się pewną charakterystyczną cechą (np. odróżniającą się od tła jasnością). Figura X po wykonaniu operacji erozji (często określana krótko jako figura zerodowana) to zbiór punktów centralnych wszystkich elementów strukturalnych, które w całości mieszczą się we wnętrzu obszaru X. Miarą stopnia erozji jest wielkość elementu strukturalnego. Im większy rozmiar elementu strukturalnego - tym większa część brzegu podlegającej erozji figury zostaje usunięta. Definicja II Erozję można traktować jako filtr minimalny. Dzięki temu pojęcie erozji można rozszerzyć na obrazy posiadające wiele stopni szarości, a nawet kolorowe. W przypadku obrazu posiadającego wiele poziomów jasności operację erozji wygodnie zapisać jest jako: L'( m, n) = m i min, n i B( m, n) ( L( m gdzie: L(m,n) - jasność punktu o współrzędnych (m,n); B(m, n) - element strukturalny z punktem centralnym o współrzędnych (m,n). i, n i ))
Przykładową operacje erozji można wykonać posługując się elementem strukturalnym przedstawionym poniżej: 1 1 1 1 1 1 1 1 1 Element strukturalny dla erozji
Efektem operacji erozji jest usunięcie ę małych obiektów oraz nieistotnych szczegółów dużych obiektów
Efektem operacji erozji jest usunięcie ę małych obiektów oraz nieistotnych szczegółów dużych obiektów
Efekt erozji silnie zależy od obiektu strukturalnego, którym erozja jest wykonywana y Obraz komórek poddanych operacji erozji z pomocą elementu strukturalnego o postaci dużego kwadratu (po lewej) i małego krzyża (po prawej)
Obraz przed erozją Obraz po 1-kr. erozji Obraz po 2-kr. erozji Obraz po 3-kr. erozji Obraz po 4-kr. erozji Obraz po 5-kr. erozji
obraz oryginalny erozja 3 x 3 erozja 5 x 5
Erozję możemy również interpretować jako filtr minimalny, co ukazuje poniższy schemat. Z lewej strony umieszczony jest obraz wyjściowy, natomiast z prawej obraz po erozji. 88758835 8 8 8 5 33333333 3 3 3 3 3 3 3 5 3 3 5 8 3 3 4 53588555 5 8 5 5 5 3 3 3 3 3 3 3 3 33333333 3 3 3 3 3 3 3 5 5 8 8 5 5 5 5 33558877 3 5 8 7 3 3 3 5 5 5 5 5 32225555 2 2 5 5 5 7 7 2 7 8 8 5 7 75578777 5 7 7 7 7 3 2 3 2 5 5 7 5 52223335 2 2 3 3 5 5 5 3 3 3 3 5 8 5 3 3 3 3 3 3 5
Erozja obrazu barwnego
Dylatacja
Dylatacja jest to przekształcenie odwrotne do erozji. Aby zdefiniować operację dylatacji zakłada się, że istnieje nieregularny obszar (figura) na obrazie X i koło B o promieniu r, które będzie elementem strukturalnym. Wówczas dylatację figury X elementem B można zdefiniować na trzy sposoby: figura po dylatacji jest zbiorem środków wszystkich kół B, dla których choć jeden punkt pokrywa się z jakimkolwiek punktem figury wyjściowej koło B przetacza się po zewnętrznej stronie brzegu figury. Kolejne położenia ł ż środka koła B wyznaczają brzeg figury po dylatacji analogicznie jak w przypadku erozji, dylatację można zdefiniować jako filtr maksymalny
Operacje dylatacji można wykonać posługując się elementem strukturalnym przedstawionym poniżej: x x x x 0 x x x x Element strukturalny dla dylatacji
Dylatacja powoduje, że niewielkie dziury optyczne na obrazie zostają wypełnione, a także wygładzają się niewielkie zagłębienia konturu obiektów
Definicja I Zakładamy, że obraz wyjściowy zawiera obszar X wyróżniający się pewną charakterystyczną cechą (np. jasnością). Figura przekształcona przez dylatację to zbiór punktów centralnych wszystkich elementów strukturalnych, których którykolwiek punkt mieści się we wnętrzu obszaru X. Miarą dylatacji jest wielkość elementu strukturalnego. Definicja II Dylatację można traktować jako filtr maksymalny. Rozpatrywane otoczenie lokalne l punktu jest odpowiednikiem d iki elementu strukturalnego. Dzięki temu pojęcie dylatacji można rozszerzyć na obrazy posiadające wiele stopni szarości, a nawet kolorowe. W przypadku obrazu posiadającego wiele poziomów jasności operację dylatacji wygodnie zapisać jako: L'( mn, ) = max ( L( m, n)) m i, n i Bmn (, ) gdzie: di L(m,n) - jasność punktu o współrzędnych (m,n); B(m, n) - element strukturalny z punktem centralnym o współrzędnych (m,n). i i
Efekt dylatacji silnie zależy od obiektu strukturalnego, którym dylatacja jest wykonywana y Obraz komórek poddanych operacji dylatacji z pomocą elementu strukturalnego o postaci dużego ż kwadratu (po lewej) i małego ł krzyża ż (po prawej)
Obraz przed dylatacją Obraz po 1-kr. dylatacji Obraz po 2-kr. dylatacji Obraz po 3-kr. dylatacji Obraz po 4-kr. dylatacji Obraz po 5-kr. dylatacji
obraz oryginalny dylatacja 3 x 3 dylatacja 5 x 5
Analogicznie dylatację możemy interpretować jako filtr maksymalny, co ukazuje poniższy schemat. Tak jak poprzednio z lewej strony umieszczony jest obraz wyjściowy, natomiast z prawej obraz po dylatacji. 88758835 8 8 8 5 88888884 8 8 8 8 8 8 5 3 3 5 8 3 3 4 53588555 5 8 5 5 5 8 8 8 8 8 8 8 5 58888855 8 8 8 8 5 5 5 5 8 8 5 5 5 5 33558877 3 5 8 7 5 8 8 8 8 8 8 7 78888887 8 8 8 8 8 7 7 7 2 7 8 8 5 7 75578777 5 7 7 7 7 7 7 7 8 8 8 8 7 77788888 7 7 8 8 8 8 5 5 3 3 3 3 5 8 7 7 7 8 8 8 8 7
Dylatacja obrazu barwnego
Operacja dylatacji pozwala wyznaczać kontury figur na obrazie kontur (X) = XOR [ X, dylatacja (X) ] kontur taki wygląda lepiej, gdy obraz X poda się przed dylatacją filtracji medianowej
Przekształcenia ł takie jak: erozja i dylatacja posiadają istotną t wadę. Zmieniają i one w wyraźny sposób pole powierzchni przekształcanych obrazów. Erozja zmniejsza je, a dylatacja zwiększa. Aby wyeliminować tę wadę wprowadzono dwa przekształcenia będące złożeniem poprzednich: Są to otwarcie i zamknięcie, które można zdefiniować następująco: otwarcie = erozja + dylatacja zamknięcie = dylatacja + erozja
Otwarcie - polega na przetaczaniu koła B po wewnętrznej stronie brzegu figury i odrzuceniu wszystkich tych punktów, które nie mogą być osiągnięte przez koło. Zamknięcie - polega na przetaczaniu koła B po zewnętrznej stronie brzegu figury i dodaniu do niej wszystkich tych punktów, które nie mogą być osiągnięte przez koło. Własności użytkowe operacji otwarcia i zamknięcia dla obrazów binarnych: otwarcie usuwa drobne obiekty i drobne szczegóły, jak półwyspy i wypustki, rozłącza niektóre obiekty z przewężeniami zamknięcie wypełnia wąskie wcięcia i zatoki oraz drobne otwory wewnątrz obiektu, może też połączyć leżące blisko siebie obiekty Obydwie operacje nie zmieniają kształtu ani wymiarów dużych obiektów o wyrównanym y gładkim brzegu
Przykład działania operacji zamknięcia: Obraz binarny Obraz binarny zakłócony Zakłócony obraz po operacji domknięcia jest wolny od części zakłóceń
Przykład działania operacji otwarcia: Obraz binarny Obraz binarny zakłócony Zakłócony obraz po operacji otwarcia jest wolny od części innych zakłóceń
Przykład działania operacji zamknięcia i otwarcia: Obraz binarny zakłócony Obraz binarny zakłócony po operacji domknięcia i i otwarcia jest wolny od wszystkich zakłóceń
Operacje domknięcia i otwarcia - obok tego, że usuwają zakłócenia - nieznacznie zniekształcają obraz. Najłatwiej to zauważyć na obrazach rzeczywistych. Obraz oryginalny Obraz po operacji domknięcia ę elementem strukturalnym 3 x 3 Obraz po operacji otwarcia elementem strukturalnym 3 x 3
Sekwencja operacji otwarcia i zamknięcia daje możliwość usunięcia zakłóceń z obrazu Obraz oryginalny Obraz zaszumiony Obraz filtrowany otw-zamk Obraz filtrowany medainowo
Sekwencja operacji otwarcia i zamknięcia użyta do usunięcia zakłóceń z obrazu tesktury Obraz oryginalny Obraz zaszumiony Obraz filtrowany medianowo Obraz filtrowany otw-zamk
Efekt kilka razy powtórzonej morfologicznej operacji otwierania i na obrazie medycznym. Powód zastosowania operacji związany był z koniecznością separacji Powód zastosowania operacji związany był z koniecznością separacji obrazu mózgowia i gałek ocznych, ale efektem było przerwane połączenia między obszarami i utrata dokładności
Inne przekształcenia morfologiczne
Kolejne przekształcenia morfologiczne mogą być budowane jako coraz bardziej złożone transformacje obrazu - w oparciu o zdefiniowane wcześniej otwarcie i zamknięcie. Serię interesujących przekształceń figury f można na przykład zrealizować przez porównanie złożeń otwarcia i zamknięcia - z obrazem wyjściowym figury f zanim wykonano na niej jakiekolwiek przekształcenia. Powstać mogą w ten sposób następujące przekształcenia: Otwarcie właściwe: Q(f) = min(f, C(O(C(f)))) Zamknięcieę właściwe: Q (f) () =max(f, O(C(O(f)))) ( ( Automediana: A(f) = max(o(c(o(f))), min(f, C(O(C(f))))) Przekształcenia te prowadzić mogą do regularyzacji konturów obiektów (zwłaszcza na obrazach binarnych) i do swoistej filtracji kształtów obiektów.
Zdefiniowane wcześniej operacje otwarcia i zamknięcia możemy wykorzystać do wyodrębnienia lokalnych ekstremów (minimów i maksimów). Maksima lokalne wyszukujemy poprzez odjęcie obrazu wyjściowego od wyniku otwarcia tego obrazu. Następnie dokonujemy binaryzacji ( B(f) ) z dolnym progiem otrzymanej różnicy. M(f) = B(O(f) f) Efekt działania ł i operacji detekcji lokalnego l maksimum
Aby wyodrębnić lokalne minima obrazu, należy dokonać podobnej operacji, z tą różnicą, że pierwszą operacją jest zamknięcie. m(f) = B(C(f) f) Efekt działania ł i operacji detekcji lokalnego l minimum i
Ścienianie
Tą nazwą można określić pewną grupę przekształceń morfologicznych, które charakteryzują się podobnym sposobem ich wykonania. Ścienianie obiektu X przy użyciu elementu strukturalnego B polega na przyłożeniuł ż tego elementu do każdego punktu obrazu w ten sposób, że punkt centralny pokrywa się z analizowanym punktem. Następnie podejmujemy decyzję: nie zmieniamy punktu, gdy element nie pokrywa się z jego sąsiedztwem zamieniamy wartość punktu na zero, jeżeli element strukturalny pasuje do sąsiedztwa analizowanego punktu x 1 1 1 1 1 1 1 x 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 x 1 1 1 x 1 1 Przykładowe elementy strukturalne wykorzystywane przy ścienianiu
Bardzo często element strukturalny jest rotowany (dla siatki kwadratowej jest to obrót o kąt 90 0 ) pomiędzy kolejnymi operacjami. W wyniku ścieniania zawsze otrzymamy obraz binarny. Operację ścienianiai i i możemyż powtarzać ć wielokrotnie, i ażż do momentu kiedy następny krok nie spowoduje zmian. Poniższy przykład przedstawia element strukturalny i jego zastosowanie do wyodrębnienia brzegu analizowanej figury. 1 1 1 1 X 1 1 1 1 Element strukturalny wykorzystany y y przy ścienianiu oraz figura przed i po ścienianiu
Szkieletyzacja
Szkieletyzacja jest operacją pozwalająca wyodrębnić osiowe punkty (szkielety) figur w analizowanym obrazie. Definicja Szkielet figury jest zbiorem wszystkich punktów, które są równoodległe od co najmniej dwóch punktów należących do brzegu figury. Szkielet figury jest znacznie mniejszy od samej figury, ale w pełni odzwierciedla jej podstawowe topologiczne własności.
Wybrane figury i ich szkielety: Efekty szkieletyzacji bywają zaskakujące:
Analiza szkielet figur umożliwia przeprowadzenie następujących analiz obrazu: klasyfikacja cząstek na podstawie ich kształtu określanie orientacji podłużnych obiektów rozdzielenie posklejanych obiektów wyznaczenie linii środkowej szerszych linii symulacja procesów rozrostu cząstek oraz tworzenia struktury ziarnistej
Szkieletyzacja może być realizowana jako ścienianie z elementem strukturalnym przedstawionym poniżej: x 0 x x 1 x 1 1 1 Element strukturalny używany do ścieniania podczas szkieletyzacji
W praktyce do ścieniania podczas procesu szkieletyzacji często stosowane są różne elementy strukturalne (naprzemiennie), na przykład: 1 1 1 1 x 1 1 1 1 x 0 1 0 x 0 x 0 1 0 x 0 x 0 1 0 x 0
Efekt szkieletyzacji prostego obrazu binarnego: Obraz binarny przed szkieletyzacją Obraz binarny po szkieletyzacji
Szkielet może dobrze odtwarzać bardzo skomplikowane kształty. Poniżej znajduje się przykład wykonania szkieletyzacji na obrazie ERCP - przedstawiającym przewód trzustkowy: Oryginalny obraz ERCP Obraz zbinaryzowany Obraz po szkieletyzacji
Obcinanie gałęzi
Algorytm obcinania gałęzi polega na stopniowym redukowaniu odcinków posiadających wolne zakończenie. W ostateczności powstają jedynie zamknięte pętle i odcinki przecinające brzeg obrazu. Algorytm obcinania gałęzi może być realizowany jako ścienianie przy elemencie strukturalnym pokazanym poniżej: 0 x x 0 1 0 0 0 0 Element strukturalny dla uzyskania efektu obcinania gałęzi
Efekt działania algorytmu obcinania gałęzi na szkielecie prostego obrazu binarnego: Szkielet obrazu Obraz po obcięciu gałęzi binarnego (5 iteracji algorytmu)
Efekt działania algorytmu obcinania gałęzi na szkielecie zakłóconego obrazu binarnego: Szkielet Obraz po pięciu Obraz po dziesięciu zakłóconego obrazu iteracjach algorytmu iteracjach algorytmu binarnego
Inne przekształcenia
Centroid jest szkieletem figury z szczególnie mocno obciętymi gałęziami. Operacja wyznaczania centroidu sprowadza figurę do punktu w przypadku, gdy figura nie posiada otworów lub do pętli, gdy takie posiada. 0 X X 0 1 1 0 0 X X 0 X 0 1 1 X 0 X rys. 1 rys. 2 Rysunek pierwszy przedstawia figury i ich centroidy, natomiast rysunek drugi pokazuje dwa elementy strukturalne, przy pomocy których przeprowadzane jest wyznaczanie centroidu (jako operacja ścieniania). Elementy te są używane w kolejnych iteracjach naprzemiennie, dopóki wprowadzane są jakieś zmiany
Pogrubianie obiektu X przy użyciu elementu strukturalnego B polega na przyłożeniu tego elementu do każdego punktu obrazu w ten sposób, że punkt centralny pokrywa się z analizowanym punktem. Następnie podejmujemy j decyzję: nie zmieniamy punktu, gdy element nie pokrywa się z jego sąsiedztwem zamieniamy wartość punktu na zero, jeżeli element strukturalny pasuje do sąsiedztwa analizowanego punktu x 1 x 0 0 x 0 0 0 x 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 0 x x 1 x x 0 0 Przykładowe elementy strukturalne wykorzystywane przy pogrubianiu Pogrubianie jest przekształceniem odwrotnym do ścieniania, tzn. ścienianie zbioru X elementem B dopełnienie zbioru powstałego w wyniku pogrubiania i dopełnieniał i zbioru X elementem dopełniającymł B.
Przekształcenie, które powiększa powierzchnię obszarów zachowując pewien odstęp pomiędzy nimi nazywa się dylatacją bez stykania obszarów. Może ono być realizowane jako pogrubianie następującym elementem strukturalnym: x x x 1 1 1 1 1 1 Powyższą operację można wykonać również stosując rotujący element strukturalny x 1 x 0 x x 0 0 0 x x 0 x 0 x 0 0 1 x 0 x 1 0 0 0 0 0 0 x x x 1 x x x 0 Przekształcenie SKIZ, choć jest bardzo przydatne, to jednak posiada pewne wady. Powstałe w jego wyniku figury mają bardzo nieregularny brzeg z licznymi wąskimi i głębokimi wklęsłościami.
Przekształcenie SKIZ ma wiele praktycznych zastosowań. Oprócz znanego już efektu separacji obiektów stykających się na obrazach binarnych stosowane jest ono także naprzykład w symulacji procesów zachodzących wstrukturach ziarnistych. i Procesy teobejmują j rozrost ziaren, krzepnięcie, i pękanie itp. Separacja obiektów stykających y sięę za pomocą ą algorytmu SKIZ
Wypukłe otoczenie figury możemy zdefiniować jako najmniejsza figurę wypukłą zawierającą daną figurę. Z tego wynika, że jeżeli dana jest figura wypukła to jej wypukłe otoczenie jest z nią tożsame. Figura wraz z jej wypukłym otoczeniem Wypukłe otoczenie możemy wyznaczyć pogrubiając kolejno dwoma następującymi elementami strukturalnymi: 1 x x x 1 x 1 x 1 1 x 0 1 1 x x 1 x
Przekształcenie trafi - nie trafi jest jednym z najprostszych przekształceń morfologicznych. Na jego podstawie można zdefiniować wszystkie inne przekształcenia morfologiczne. Jego definicja jest następująca: Do każdego punktu analizowanego obrazu przykładany jest punkt centralny danego elementu strukturalnego. Jeżeli lokalne otoczenie analizowanego punktu zgodne jest z elementem strukturalnym - odpowiedni punkt obrazu wynikowego uzyskuje wartość 1. W przeciwnym wypadku wartość 0. Tak jak we wcześniej opisanych przekształceniach operacja ta jest przeprowadzana wielokrotnie, aż do braku zmian wprowadzanych przez operację. Przykład Do detekcji pojedynczych odizolowanych punktów w obrazie możnaż wykorzystać przekształcenie trafi - nie trafi z nastąpującym elementem strukturalnym: 0 0 0 0 1 0 0 0 0
Złożone przekształcenia morfologiczne
Rekonstrukcja, czyszczenie brzegu
Rekonstrukcja k - polega na cyklicznym dokonywaniu dylatacji obrazu i wyznaczeniu części wspólnej z obrazu uzyskanego po dylatacji i obrazu wyjściowego całego przekształcenia (wykonuje się operacje logiczna AND z obrazem wyjściowym a więc usuwa te fragmenty, które po dylatacji wyszły poza odtwarzaną figurę). Czyszczenie brzegu - ma na celu wyeliminowanie z obrazu wszystkich obszarów przecinających brzeg obrazu. Przekształcenie to często poprzedza dokonanie wnikliwszej analizy obrazu. Jest ono szczególnie przydatne jeśli chcemy wykonywać ć operacje tylko na całkowicie i widocznych obiektach.
Przykład działania algorytmu czyszczenie brzegu: tworzenie markerów - wspólnej części obrazu i jego brzegu rekonstrukcja obiektów przeciętych przez brzeg obrazu generacja różnicy obrazu wejściowego i obrazu z obiektami po rekonstrukcji markery rekonstrukcja wynik znaczniki znaczników różnica obrazów
Zalewanie otworów
Kiedy zachodzi potrzeba wypełniania zamkniętych otworów: niekiedy otwory na obrazie nie odpowiadają rzeczywistym otworom w obiekcie, lecz powstają sztucznie na przykład jako skutek odblasku światła reflektorów oświetlających scenęę potrzebne jest wyznaczenie parametrów obiektu bez uwzględnienia otworów (na przykład trzeba wyznaczyć współczynniki kształtu) zachodzi potrzeba policzenia otworów i sprawdzenia ich rozmieszczenia, wtedy należy zalać otwory i wyznaczyć obraz różnicowy obrazu oryginalnego i obrazu z zalanymi otworami
Algorytm zalewania otworów: wyznaczenie negatywu z obrazu wyjściowego wyczyszczenie brzegu uzyskanego negatywu (w wyniku tego na obrazie pozostają tylko otwory) wyznaczenie sumy logicznej (operacja OR) obrazu wyjściowego i wyniku czyszczenia brzegu obraz wyjściowy negatyw negatyw z wyczyszczonym brzegiem obraz wynikowy