praca magisterska medycyna 2 TOCGNIGOSXNICJ3VYO2UTKLI52DCJB3C3WJQC4A


Streszczenie

Obecność wielu schorzeń mózgu, takich jak np. choroba Alzheimera, przejawia się licznymi zmianami zachodzącymi w tkankach mózgowych, których monitorowanie mogłoby wpłynąć na przyspieszenie badań, mających na celu poznanie przyczyn tych chorób oraz opracowanie skutecznej profilaktyki.

Celem niniejszej pracy jest porównanie metod analizy trójwymiarowych obrazów MRI, mających za zadanie wydzielenie obszarów istoty szarej i białej z obrazu mózgu. Wykorzystano metodę segmentacji przez progowanie jasności opracowaną w [4]. Dodatkowo opracowano metodę segmentacji na podstawie wykrytych brzegów. Pierwszym etapem było przetwarzanie wstępne obrazu, obejmujące filtrację medianową oraz półprogowanie, mające na celu usunięcie lokalnych zakłóceń. Następnie zastosowano trójwymiarowe maski Sobela, dzięki którym otrzymano obraz gradientowy, uwydatniający brzegi obszarów istoty szarej i białej. Następnie brzegi te zostały zawężone do najjaśniejszych wokseli, w wyniku czego otrzymano krawędzie w obrazie MRI. W celu zapewnienia ich ciągłości wykorzystano algorytm aktywnego konturu (model ciśnieniowy). Dzięki niemu uzyskano ciągłe krawędzie ograniczające obszary, które następnie zostały wypełnione. W wyniku tych operacji wydzielono z obrazu istotę szarą i białą. Przeprowadzone porównanie obydwu metod segmentacji dotyczy szybkości działania programów, złożoności obliczeniowej, a także skuteczności i niezawodności. Progowanie jasności jest 174 razy szybsze od segmentacji na podstawie wykrytych brzegów. Czas działania obu algorytmów zależy liniowo od rozmiaru danych. Wyniki otrzymane dla segmentacji na podstawie wykrytych brzegów są dokładniejsze od wyników otrzymanych przez progowanie. Otrzymane obszary istoty szarej i białej, poza drobnymi wyjątkami, są dokładnym odzwierciedlenie tych obszarów w obrazie oryginalnym. Segmentacja przez progowanie daje wyniki w dużym stopniu niezgodne z rzeczywistością. Progowanie jest bardzo czułe na nierównomierność jasności analizowanej sceny.

Otrzymane wyniki są podstawą do dalszych prac ukierunkowanych na aproksymację powierzchni kory mózgowej odwzorowanej w obrazach MRI.

1. Wstęp

1.1 Krótka charakterystyka mózgu

0x08 graphic
Człowiek już od starożytności starał się zgłębić tajemnice ludzkiego mózgu. Zawsze interesowało nas, w jaki sposób funkcjonuje ta złożona struktura, kierująca całym naszym organizmem i wszystkimi procesami, które w nas zachodzą. To właśnie mózg jest najbardziej skomplikowaną częścią ludzkiego ciała, dzięki której możemy logicznie myśleć oraz dokonywać świadomych wyborów. Stopień rozwoju mózgu daje nam przewagę nad pozostałymi organizmami żywymi, wskutek czego staliśmy się dominującą formą życia.

0x08 graphic


(a) (b)

Rys 1: (a) Ludzki mózg, widok z boku, © Adam Świergul: A- płat czołowy, B- płat skroniowy, C- płat ciemieniowy, E- płat potyliczny, F- móżdżek; (b) fragment ludzkiego mózgu.

W miarę upływu czasu i rozwoju techniki uczeni poznawali budowę ludzkiego mózgu. Obecnie znamy ją bardzo szczegółowo jednak wciąż przeprowadzane są szerokie badania mające na celu dokładniejsze zgłębienie jego tajemnicy. Mówiąc o budowie wewnętrznej mózgu możemy wyróżnić dwie zasadnicze warstwy [1]. Są to mianowicie


istoty (substancje) biała i otaczająca ją istota szara czyli tzw. kora mózgowa. Substancja szara ma grubość około 2-6 mm i jej powierzchnia, czyli jednocześnie powierzchnia mózgu

jest bardzo pofałdowana, tworzy liczne szczeliny i zagłębienia. Składa się ona z komórek nerwowych tzw. neuronów, które tworzą sześć warstw. Z kolei istota biała zbudowana jest z aksonów, czyli włókien nerwowych wychodzących z ciał neuronów.

Mózg, a dokładnie jego trójwymiarowy obraz otrzymany metodą rezonansu magnetycznego (ang. MRI - Magnetic Resonance Imaging), będzie głównym przedmiotem badań tej pracy. Rozwój techniki MRI otworzył bardzo szerokie perspektywy, jeśli chodzi o obrazowanie wnętrza ludzkiego ciała, a w tym mózgu [2]. Technika MRI umożliwia otrzymywanie zarówno obrazów trójwymiarowych jak i poszczególnych przekrojów. Badanie MRI zrewolucjonizowało medycynę, gdyż jako pierwsze pozwoliło na uzyskiwanie obrazów tkanek miękkich organizmu ludzkiego. Najczęściej jest ono wykorzystywane przy badaniu ośrodkowego układu nerwowego, [2] czyli mózgu i rdzenia kręgowego.

1.2 Charakterystyka badania przy użyciu rezonansu magnetycznego

Technika MRI jest stosowana w diagnostyce medycznej w celu uzyskiwania wysokiej jakości obrazów wnętrza ludzkiego ciała [2]. Niemal każdy słyszał o jej istnieniu, jednak wiedza na temat sposobu działania aparatury MRI oraz sposobu uzyskiwania tego typu obrazów nie jest powszechna.

Badanie MRI polega na umieszczeniu pacjenta w komorze aparatu, w stałym polu magnetycznym o indukcji rzędu 0,15 T do 2.0 T [2]. Podstawowym spostrzeżeniem, niezbędnym do zrozumienia działania aparatury MRI jest to, że człowiek w bardzo dużej mierze składa się z wody i innych substancji, bogatych w wodór. Poddanie pacjenta działaniu silnego pola magnetycznego powoduje, że linie pola magnetycznego jąder atomów w organizmie człowieka ustawiają się równolegle do kierunku wytworzonego pola magnetycznego. Istotną rzeczą jest to, że uporządkowanie nie jest idealne, to znaczy że momenty magnetyczne nie układają się dokładnie w kierunku pola, lecz wykonują wokół tego kierunku ruchy precesyjne Larmora [3] ze ściśle określoną częstotliwości Częstotliwość ta zależy od rodzaju jądra i jest proporcjonalna do natężenia pola magnetycznego. Aby uzyskać użyteczny diagnostycznie sygnał należy zmienić kierunek momentów magnetycznych uporządkowanych wzdłuż stałego pola na prostopadły do jego


kierunku lub przeciwny. Dokonuje się tego impulsowo, za pomocą energii dodatkowego pola magnetycznego wytworzonego przez cewkę umieszczoną na zewnątrz, prostopadle do kierunku pola stałego. Cewka ta generuje krótki impuls o częstotliwości rezonansowej równej częstotliwości Larmora swobodnego protonu. Stąd nazwa metody - obrazowanie za pomocą rezonansu magnetycznego. Następuje odchylenie momentów magnetycznych jąder wodoru od kierunku pola stałego. Po wysłaniu impulsu odchylającego cewka staje się anteną i odbiera sygnał generowany przez jądra powracające do stanu wyjściowego. W stanie odchylenia jądra pozostają przez czas trwania impulsu odchylającego, a następnie po pewnym czasie (relaksacji T) wracają do położenia wymuszanego przez pole stałe. Wracając jądra oddają energię dostarczoną przez cewkę odchylającą, wysyłając sygnały radiowe o częstotliwościach bliskich częstotliwości Larmora swobodnego protonu, ale różnych dla różnych jąder (atomów). Przedmiotem pomiaru są częstotliwość rezonansowe Larmora oraz czasy relaksacji sygnałów: T1 - odpowiadającego czasowi narastania składowej momentu magnetycznego pochodzącego od jąder odchylonych w kierunku pola (relaksacja podłużna) i T2 (relaksacja poprzeczna) odpowiadającego czasowi zanikania składowej momentu magnetycznego w kierunku poprzecznym, czyli w kierunku odchylenia. Czasy relaksacji poprzecznej T2 i relaksacji podłużnej T1 różnią się między sobą. Wartości częstotliwości Larmora i czasów relaksacji zależą od gęstości protonów i rodzaju tkanki, dzięki czemu stanowią podstawę do różnicowania tkanek, a tym samym rekonstrukcji obrazu struktury przekroju ciała. W szczególności czynnikiem różnicującym tkanki oraz zachodzące w nich zmiany chorobowe są czasy relaksacji T1 i T2. W praktyce jako "rezonator" wykorzystuje się jądro atomu wodoru. Liczba jąder wodoru w poszczególnych tkankach jest różna, co między innymi umożliwia powstawanie obrazu. Komputer dokonując skomplikowanych obliczeń, na ekranie przedstawia uzyskane dane w formie obrazów struktur anatomicznych. Komputer na żądanie operatora może dokonać też obliczeń w taki sposób, aby przedstawić obraz anatomiczny w dowolnie wybranej płaszczyźnie [2,3].

Bardzo ważną cechą badania MRI jest jego nieinwazyjność [2]. W przeciwieństwie do innych badań radiologicznych nie wykorzystuje promieniowania rentgenowskiego, lecz nieszkodliwe dla organizmu pole magnetyczne i fale radiowe.

Tak więc rezonans magnetyczny umożliwia w bezpieczny sposób ocenę struktur anatomicznych całego ciała człowieka w dowolnej płaszczyźnie oraz trójwymiarowo, a


szczególnie dobrze ocenę ośrodkowego układu nerwowego (mózg i kanał kręgowy) jak i tkanek miękkich kończyn (tkanki podskórne, mięśnie i stawy). Obecnie jest to metoda pozwalająca w najlepszy sposób ocenić struktury anatomiczne oraz zlokalizować ewentualne obszary patologiczne z dokładnością do kilku milimetrów.

1.3 Główny cel pracy

Lekarze już od dawna wykazywali zainteresowanie w szacowaniu objętości i rozmiarów poszczególnych warstw mózgu, a co za tym idzie w określeniu liczby neuronów wchodzących w jego skład, z możliwie największą dokładnością. Obecnie wykonuje się pomiary przy użyciu tradycyjnych metod, poprzez pobranie próbek kory mózgowej [4]. Oczywiście tego typu pomiary są wykonywane jedynie na martwych tkankach. Dodatkowym warunkiem, jaki musi być spełniony, aby wynik badania nie był obarczony znacznym błędem jest wymóg prostopadłości próbkowania [4]. Oznacza to, że każda z próbek musi być pobrana dokładnie w kierunku prostopadłym do powierzchni kory mózgowej. W przeciwnym wypadku biorąc pod uwagę fakt, iż kora składa się z sześciu warstw o różnej gęstości neuronów, próbki dla których nie spełniony będzie powyższy warunek dadzą wyniki niezgodne z rzeczywistością. Jednakże wyznaczenie prostopadłości z zewnątrz mózgu nie jest proste, co jest spowodowane skomplikowanym, nierównomiernym kształtem powierzchni kory mózgowej, która tworzy liczne zagłębienia i wcięcia. W celu rozwiązania tego problemu należałoby, posługując się metodami przetwarzania obrazów i korzystając z danych uzyskanych za pomocą badania MRI, wyznaczyć dokładną powierzchnię kory mózgowej, a następnie obliczyć prostopadły do niej kierunek w punktach, w których pobrane zostaną próbki tak, aby nie były one obarczone błędem. Poza tym w wyniku tego badania uzyskuje się informacje na temat wzajemnego rozmieszczenia poszczególnych warstw kory mózgowej, co jest niezbędne przy poznawaniu licznych chorób mózgu. W dzisiejszych czasach medycyna zna wiele


schorzeń, których obecność przejawia się licznymi zmianami zachodzącymi w tkankach mózgowych. Wiadomo, że szereg chorób takich jak autyzm, epilepsja, stwardnienie rozsiane, czy też uzależnienia, których przyczyn powstawania nie rozumiemy, prowadzą do trwałych zmian w mózgu. Choroby takie jak choroba Alzheimera, Parkinsona czy schizofrenia [5] powodują redukcję komórek nerwowych, co z kolei można zaobserwować

w zmianach rozmiarów i wzajemnego ułożenia poszczególnych warstw istoty szarej. Monitorowanie tego typu zmian mogłoby niewątpliwie wpłynąć na przyspieszenie badań mających na celu dokładne poznanie przyczyn powyższych chorób, a co za tym idzie opracowanie skutecznej profilaktyki. W tej sytuacji obrazowanie z wykorzystaniem rezonansu magnetycznego okazuje się niezwykle przydatne, pozwalając na wielokrotne badanie tego samego pacjenta. Poza tym na przekrojach obrazów MRI ludzkiego mózgu widoczne są obydwie jego warstwy, czyli istota szara i biała. Dzięki temu, wykorzystując metody segmentacji obrazów, możliwe jest oddzielenie od siebie obydwu tych warstw oraz wydzielenie całości mózgu z otoczenia. W wyniku takiej operacji wyznaczony zostanie dokładny kształt powierzchni kory mózgowej i możliwe będzie wirtualne wygenerowanie na niej jednorodnego rozkładu punktów, w których należałoby pobrać próbki do badania.

Z powyższych względów celem niniejszej pracy jest opracowanie, a następnie porównanie metod analizy trójwymiarowych obrazów MRI. Będą to metody segmentacji obrazów, mających na celu wydzielenie obszarów z całości obrazu [6,8]. Dokładnie mówiąc ich głównym zadaniem będzie:

Opracowanie metod segmentacji, w wyniku których otrzymamy wyodrębnione obszary istoty szarej i białej, umożliwi oszacowanie ich rozmiarów. Dzięki temu przeprowadzając badania MRI mózgu chorego i zdrowego pacjenta, a następnie dokonując segmentacji otrzymanych obrazów, możliwe będzie dokładne zaobserwowanie zmian zachodzących w rozmiarach poszczególnych warstw. To z kolei umożliwi zbadanie destruktywnego wpływu określonych chorób układu nerwowego na liczbę komórek


nerwowych, a co za tym idzie opracowanie, jeśli będzie to możliwe, skutecznej profilaktyki. Poza tym dzięki metodom segmentacji będzie również możliwe wydzielenie z

obrazu MRI wszelkiego rodzaju nowotworów, a następnie poprzez oszacowanie ich rozmiarów określenie stopnia ich zaawansowania i tego jak szybko postępuje choroba.

Planuje się opracowanie metody segmentacji obrazów na podstawie wykrytych brzegów [6,7,8,9]. Dodatkowo do porównania zostanie wykorzystana metoda segmentacji przez progowanie jasności, opracowana w [4].

W niniejszej pracy zostanie dokonane porównanie metod segmentacji obrazu MRI, w celu wyszczególnienia wad i zalet tych metod. Dzięki temu określona zostanie ich przydatności w medycynie oraz możliwości zastosowania w innych przypadkach, a także będzie można wskazać metodę optymalną.

Porównanie to będzie dotyczyło charakterystycznych cech, branych pod uwagę przy ocenianiu danej metody i będzie zmierzało w dwóch kierunkach. Z jednej strony należy oszacować szybkość działania programów komputerowych. Jest to parametr mający duże znaczenie np. w przemyśle, w przypadku kontroli jakości dużej liczby produktów wytwarzanych taśmowo. Należy bowiem w czasie rzeczywistym określić czy dany wyrób spełnia określone normy jakości.

Z drugiej strony parametrem odgrywający bardzo ważną rolę jest skuteczność metody oraz to, w jakim stopniu wynik, otrzymany z jej pomocą, jest zgodny z rzeczywistością. Ma to przede wszystkim ogromne znaczenie w sferze medycyny, gdzie na pierwszym miejscu stawia się zdrowie pacjenta. Lekarz wspierający się podczas badania daną metodą, zaimplementowaną w postaci programu komputerowego, musi mieć pewność, że działa ona poprawnie, gdyż w przeciwnym wypadku jego diagnoza może być błędna, co może mieć poważne konsekwencje.

Tak więc porównanie wspomnianych wcześniej metod segmentacji trójwymiarowych obrazów MRI, będzie miało na celu wskazanie ich wad i zalet, a co za tym idzie określenie z uzasadnieniem, która z metod może być bardziej przydatna w medycynie.

Porównane zostaną podstawowe parametry, brane pod uwagę przy ocenianiu danej metody:


2. Podstawy teoretyczne przetwarzania i analizy obrazów

Analiza obrazów jest pojęciem bardzo szerokim i rozbudowanym, obejmującym wiele metod przetwarzania obrazów. Systemy przetwarzania obrazów znajdują zastosowanie w wielu dziedzinach nauki, w tym także w medycynie [6]. Mówiąc ogólnie głównym celem analizy obrazów jest wydobywanie informacji z ich treści w postaci danych numerycznych bądź symbolicznych, na drodze następujących etapów przetwarzania obrazów [6,8]:

2.1 Przetwarzanie wstępne

Dane wejściowe, czyli różnego rodzaju obrazy, często zawierają wiele cech niepożądanych w postaci licznych zakłóceń, które uniemożliwiają dalsze etapy przetwarzania. Dlatego też są one z reguły poddawane przetwarzaniu wstępnemu [6], którego celem jest usunięcie bądź stłumienie cech niepożądanych, a jednocześnie wzmocnienie tych cech, które są interesujące i które będą wykorzystywane w dalszych etapach. Metody przetwarzania wstępnego można podzielić na trzy zasadnicze grupy [6,7,8,9]:


2.2 Metody segmentacji obrazów

Segmentacja obrazów jest jednym z najważniejszych etapów ich przetwarzania. Jej głównym celem jest podział obrazu na rozłączne obszary, w wyniku czego uzyskujemy wyodrębnienie obiektów o określonych cechach w stosunku do tła obrazu, które nie podlega segmentacji. Najczęstszymi problemami towarzyszącymi operacją segmentacji jest niejasność i dwuznaczność treści obrazu, a także powszechnie towarzyszące temu zakłócenia. Dlatego też wybór odpowiedniej metody segmentacji decyduje często o jej skuteczności i powodzeniu w dążeniu do osiągnięcia oczekiwanych rezultatów [6,7,8,9].

Algorytmy segmentacji dla obrazów monochromatycznych bazują głównie na nieciągłości i podobieństwie wartości poziomów szarości [8]. Detekcja pojedynczych punktów, linii i krawędzi opiera się właśnie na wykrywaniu nagłych zmian poziomów szarości w obrazie. Z kolei do grupy bazującej na podobieństwach w poziomach szarości należą takie metody jak: progowanie jasności oraz rozrost i podział obszaru. Tak więc reasumując metody segmentacji mogą być podzielone na cztery grupy [6]:

  1. progowanie jasności,

  2. segmentacja na podstawie brzegów,

  3. obszarowe metody segmentacji,

  4. dopasowanie wzornika.

2.2.1 Progowanie jasności

Progowanie jasności jest podstawowym i najprostszym sposobem segmentacji. Metoda ta polega na określeniu tzw. wartości progowej T, czyli określonej jasności, która dzieli punkty obrazu na dwie grupy [6,7,8,9]. Po określeniu progu T, wartość jasności każdego elementu obrazu jest porównywana z wartością progową, a następnie element jest przydzielany do jednej z dwóch kategorii: o wartości progowej przekroczonej bądź nie przekroczonej. W wyniku takiej operacji punkty obrazu f(x, y, z) ulegną podziałowi na dwie grupy zgodnie z zależnością:

0x01 graphic
(2.1)

gdzie g(x, y, z) = 1 oznacza punkty obiektów, a g(x, y, z) = 0 punkty należące do tła, lub odwrotnie. Tak więc widać, że w wyniku tej operacji otrzymaliśmy obraz binarny. Jest to najprostszy przypadek, w którym pojedynczy próg stosowany jest do całego obrazu - próg globalny [6,8]. W rzeczywistości najczęściej konieczne jest określenie kilku wartości progowych, zmieniających się pomiędzy poszczególnymi częściami obrazu - próg lokalny [6,8].

Istnieją różne modyfikacje powyższej metody, polegające na różnych doborach wartości progu. Przykładem jest progowanie wielopoziomowe [6,8], polegające na określeniu kilku wartości progu, na skutek czego otrzymuje się obraz podzielony na obszary o różnych jasnościach np.:

0x01 graphic
(2.3)

W przypadku progowania jasności bardzo ważną rzeczą, decydującą o powodzeniu segmentacji jest wybór odpowiedniej wartości progu T. Większość metod doboru progu bazuje na analizie kształtu histogramu [6,7,8,9]. Próg może być określony eksperymentalnie jako minimum pomiędzy dwoma lokalnymi maksimami. Eksperymentalne dobieranie wartości progu może być często niedokładne i przez to prowadzić do niezadowalających rezultatów. Metodą obarczoną minimalnym błędem jest tzw. optymalne progowanie [6,8,9], w której próg jest ustalany automatycznie, co jednak wymaga posiadania pewnej wiedzy a priori o rozkładach jasności obiektów i tła w obrazie.

Podstawowymi zaletami segmentacji przez progowanie są:

Podstawowymi wadami segmentacji przez progowanie są:

2.2.2 Segmentacja na podstawie brzegów

Segmentacja na podstawie brzegów dotyczy dużej liczby metod opartych o detekcję lokalnych zmian jasności w obrazach [6,8,9]. Brzegiem jest to granica między obszarami posiadającymi różne wartości jasności. Na podstawie wykrytych brzegów obszarów można określić położenie obiektów w obrazie, dlatego ta metoda segmentacji znajduje szerokie zastosowanie w analizie obrazów. Detekcji brzegów dokonuje się przez wyznaczenie korelacji pomiędzy współczynnikami maski detekcyjnej, a punktami obrazu [6,8]. Maska taka jest macierzą współczynników zaprojektowaną w celu badania określonych cech obrazu. Współczynniki te mają różne wartości w zależności od rodzaju obiektu poszukiwanego w obrazie [6,8].

Maski służące do detekcji brzegów bazują na właściwościach tzw. operatorów gradientowych [6,8], czyli pierwszej i drugiej pochodnej obrazu. Pierwsza pochodna może być użyta do detekcji brzegu oraz jego kierunku, natomiast punkt zmiany znaku drugiej pochodnej (miejsce zerowe) służy do wyznaczenia miejsca wystąpienia brzegu. Pierwszą pochodną w dowolnym punkcie obrazu otrzymuje się przez wyznaczenie gradientu w tym punkcie, a drugą poprzez wyznaczenia tzw. operatora Laplacea [6,8].

Możemy wyróżnić następujące zalety segmentacji na podstawie wykrytych brzegów:

Możemy wyróżnić następujące wady segmentacji na podstawie wykrytych brzegów:

miejscach, w których tak naprawdę występują. W obydwu przypadkach ma to negatywny wpływ na wyniki segmentacji,

2.2.3 Obszarowe metody segmentacji

Polegają na wydzieleniu z obrazu obszarów posiadających wspólne cechy takie jak jasność, kolor, tekstura. Obraz jest wstępnie dzielony na rozłączne obszary, dla których są zdefiniowane określone kryteria jednorodności obszaru. Wyróżnia się dwie podstawowe metody segmentacji obszarowej [6,8]:

Rozrost obszaru jest procedurą, która grupuje punkty w obszary lub obszary w większe struktury. Segmentacja rozpoczyna się od punktów obrazu zwanych ziarnami, do których są dołączane punkty sąsiednie posiadające takie same cechy jak ziarna (spełniające określone kryterium jednorodności) [6,7,8].

Segmentacja przez podział obszaru polega na podziale obrazu na rozłączne obszary. Następnie obszary te są dalej dzielone lub łączone tak, aby spełnione były kryteria jednorodności obszaru. Należy zauważyć, iż wykonywanie jedynie dzielenia obszarów mogłoby spowodować, że otrzymalibyśmy przylegające do siebie obszary o takich samych właściwościach. Można temu zapobiec poprzez umożliwienie łączenia sąsiednich obszarów o tych samych cechach [6,8].

Najważniejszymi zaletami segmentacji obszarowej są:

Najważniejszymi wadami segmentacji obszarowej są:

- podstawowym problemem jest wybór punktów będących ziarnami oraz odpowiedniego kryterium jednorodności,

2.2.4 Dopasowanie wzornika

Zastosowanie tej metody jest ograniczone gdyż wymaga ona znacznej wiedzy a priori na temat obiektu poszukiwanego w obrazie. Metoda ta bazuje na wyznaczeniu korelacji pomiędzy maską wzornika, a kształtem obiektu który jest poszukiwany. Jej maksymalna wartość wskazuje miejsce wystąpienia poszukiwanego obiektu [6,8,9].

2.3 Identyfikacja i analiza cech obiektów w obrazach

W wyniku segmentacji otrzymuje się obraz wynikowy z wyodrębnionymi obiektami, dzięki czemu łatwiej jest wyznaczyć dla nich określone cechy, które zostaną następnie wykorzystane w procesie klasyfikacji. W zależności od celu analizy możemy wyróżnić dwie podstawowe metody opisu cech obiektów obrazu [6]:

2.4 Klasyfikacja i interpretacja obiektów

Końcowym etapem analizy obrazów jest klasyfikacja i symboliczna interpretacja obiektów, określane mianem rozpoznawania obrazu [6]. Metody te wykorzystują zbiory cech wydzielonych z obrazu we wcześniejszym etapie identyfikacji i na ich podstawie przydzielają dany obiekt (według jego wzorca cech) do danej klasy wzorców. Często wymagają one zastosowania zaawansowanych metod analizy bazujących na sztucznej inteligencji.

Celem tej pracy jest napisanie algorytmu metody segmentacji na podstawie wykrytych brzegów, dla trójwymiarowego obrazu MRI mózgu, a następnie jej


porównanie z metodą segmentacji poprzez progowanie jasności, opracowaną w [4]. Celem tych metod jest wydzielenie z obrazu mózgu obszarów istoty szarej i białej. W tym celu zostaną wykorzystane dwa pierwsze etapy analizy obrazów - czyli przetwarzanie wstępne i segmentacja.


3. Przetwarzanie wstępne obrazu MRI

3.1 Dane wykorzystane w pracy

Wiadomo, iż dla celów naukowych w laboratoriach na całym świecie przeprowadza się badania fragmentów ludzkiego ciała np. mózgu człowieka. Są one umieszczane w specjalnym roztworze formaliny, który zapewnia im trwałość. Właśnie taki fragment ludzkiego mózgu, a dokładnie jego trójwymiarowy obraz, wykonany przy użyciu tomografu rezonansu magnetycznego w szpitalu Aarhus Skejby Hospital w Danii, jest przedmiotem badań w tej pracy. W rzeczywistości jest to sześcian złożony z 256 przekrojów każdy o rozdzielczości 256 x 256 wokseli.

Część praktyczna pracy dyplomowej dotycząca opracowania metody segmentacji na podstawie wykrytych brzegów jest realizowana z wykorzystaniem programu MATLAB, według którego dokonywane są obliczenia związane z przetwarzanie obrazów. MATLAB posiada liczne funkcje służące obróbce i przetwarzaniu obrazów dwuwymiarowych. Niestety jeśli chodzi o obrazy trójwymiarowe wykorzystanie zaimplementowanych w MATLABIE funkcji jest niemożliwe, dlatego też konieczne jest napisanie programów, przetwarzających obrazy trójwymiarowe, w postaci tzw. m-plików.

Przedmiotem badań jest obraz wycinka mózgu zapisany w postaci trójwymiarowej tablicy liczb, której wymiary to 256 x 256 x 256 wokseli. Należy przy tym zwrócić uwagę na fakt, iż podstawowym formatem danych w MATLABIE jest format double [10], tak więc każdemu wokselowi przypisany jest określony poziom szarości zakodowany za pomocą słów o długości ośmiu bajtów. Z tego powodu macierz o rozmiarach podanych powyżej zajmuje duży obszar pamięci, co w znaczny sposób zmniejsza szybkość wszelkich operacji wykonywanych przez program, a w przypadku większej liczby danych powoduje, że nie mogą one być pomieszczone. Aby rozwiązać ten problem, należy zmniejszyć, chociażby w niewielkim stopniu rozmiar danych. Można tego dokonać bez szkody dla samego wycinka mózgu, jeśli z powyższego obrazu usunie się brzegowe fragmenty tła. Tło w tym przypadku jest obrazem formaliny, w której zanurzony był fragment martwego mózgu, tak więc jego okrojenie nie wpłynie w istotny sposób na przedmiot badań, gdyż nadal będzie możliwe dokonanie segmentacji obszarów istoty szarej i białej, których obraz w wyniku tej operacji nie zostanie naruszony.

Po wczytaniu danych obraz oryginalny o rozmiarach 256 x 256 x 256 wokseli zajmuje ponad 134MB. Natomiast po okrojeniu go do rozmiarów 211 x 141 x 161 wokseli (gdzie 211 oznacza liczbę wierszy, 141 liczbę kolumn, a 161 stanowi trzeci wymiar tablicy i oznacza liczbę przekrojów) ilość pamięci potrzebnej do jego zapisania zmniejsza się znacznie, bo do 38MB, dzięki czemu możliwe jest dokonywanie kolejnych operacji na danych. Tak pomniejszony obraz został zapisany do dalszych etapów przetwarzania. Można obejrzeć każdy z jego przekrojów używając funkcji „imshow” [10], przy czym należy podać który przekrój chcemy wyświetlić, zgodnie z poniższym opisem:

0x01 graphic
0x01 graphic

(a) (b)

Rys. 2: Przekroje obrazu wycinka mózgu: (a) przekrój nr 50, (b) przekrój nr 100.

3.2 Półprogowanie obrazu

Wykorzystany w pracy trójwymiarowy obraz MRI oprócz obszaru mózgu przedstawia także otaczające go tło, które nie jest jednolite, gdyż oprócz przeważających ilościowo wokseli o zerowej jasności, zawiera ono także liczne woksele o jasnościach większych od zera. Jest to obraz słoja, wypełnionego formaliną, w którym umieszczony był badany wycinek mózgu. Tego typu „zanieczyszczenia” nie są przedmiotem segmentacji, a wręcz ją utrudniają, ponieważ np. przy znajdowaniu krawędzi obszarów, mogą spowodować detekcję niechcianych brzegów, natomiast przy progowaniu mogą być źródłem niepożądanych obszarów. Chcąc oddzielić interesujący nas obszar mózgu od tła należy przeprowadzić półprogowanie obrazu według wzoru [9]:

0x01 graphic
(3.1)

gdzie: g(x,y,z) oznacza punkty obrazu po operacji półprogowania, f(x,y,z) ≥ T oznacza punktu obrazu należące do obszaru mózgu, f(x,y,z) < T oznacza punkty obrazu należące do obszaru tła,

Wartość progu T oddzielającego obszar mózgu od tła wynosi 50. Została ona dobrana z wykorzystaniem histogramu obrazu za pomocą metody progowania optymalnego [4,6,8,9], która minimalizuje całkowity błąd segmentacji, czyli liczby błędnie zinterpretowanych punktów obrazu. Dokładny opis metody znajduje się w dalszej części pracy dotyczącej segmentacji poprzez progowanie.

Histogram, czyli wykres zależności pomiędzy poziomami jasności, a częstością ich występowania w obrazie, przed i po operacji półprogowaniu przedstawia rysunek nr 3. Dzięki półprogowaniu otrzymano obraz przedstawiający fragment mózgu na jednolitym czarnym tle, co ułatwia i przyspiesza operacje segmentacji (rys. 4).

0x01 graphic

(a)

0x01 graphic

(b)

Rys. 3: Histogram globalny obrazu: (a) przed operacją półprogowania, (b) po operacji półprogowania.

0x01 graphic
0x01 graphic

  1. (b)

Rys. 4: Przekrój nr 120 obrazu MRI mózgu: (a) przed operacją półprogowania, (b) po operacji półprogowania.

3.2 Filtracja danych

Filtracja jest operacją, którą stosuje się miedzy innymi w celu poprawy jakości obrazu, przez usunięcie lokalnych zniekształceń np. powstałych w procesie akwizycji danych. W wyniku filtracji otrzymuje się obraz, dla którego jasność danego punktu zależy w sposób liniowy lub nieliniowy od jasności punktu obrazu pierwotnego oraz punktów sąsiednich [6,7,8,9].

W niniejszej pracy zastosowano filtr medianowy, który jest filtrem nieliniowym. Umożliwia on usunięcie lokalnych zniekształceń obrazu, a przy tym nie zniekształca brzegów obiektów. W niniejszej pracy użyto filtru medianowego o masce będącej sześcianem 3x3x3. Przesuwając maskę po obrazie wybierane są woksele z otoczenia danego punktu, które są następnie sortowane w kolejności rosnącej i jako nową wartość


jasności, w punkcie centralnym maski wpisuje się tę, która odpowiada środkowemu elementowi w rosnącym ciągu liczb.

Obraz otrzymany w wyniku półprogowania został poddany filtracji medianowej. Przykład obrazów przed i po filtracji pokazano na rys. 5.

0x01 graphic
0x01 graphic

(a) (b)

0x01 graphic
0x01 graphic

(c) (d)

Rys. 5: Przekrój nr 70 obrazu mózgu: (a) przed filtracją medianową, (b) po filtracji medianowej, (c) jednokrotne powiększenie rysunku 5a, (d) jednokrotne powiększenie rysunku 5b.

Na rys. 5 widać, że zastosowanie filtru medianowego spowodowało usunięcie lokalnych zniekształceń w poziomach jasności, przy nieznacznej zmianie


brzegów obiektu. Operacja ta pozwala na uniknięcie detekcji niepożądanych brzegów, oraz wpływa pozytywnie na wynik segmentacji przez progowanie, wskutek wyrównania poziomów jasności.


4. Segmentacja obrazu mózgu na podstawie wykrytych brzegów

4.1 Detekcja brzegów w obrazie MRI mózgu

Brzegiem nazywamy granice pomiędzy obszarami o różnych jasnościach [6]. Na podstawie wykrytych brzegów obszarów można określić położenie obiektów w obrazie. Aby wydzielić istotę szarą i białą z trójwymiarowego obrazu MRI mózgu należy znaleźć krawędzie ograniczające szukane obszary. W tym celu zostanie wykorzystana pierwsza pochodna obrazu, która może posłużyć do wykrycia brzegu oraz jego kierunku [6,8]. W praktyce do detekcji brzegów służą maski detekcyjne, które wykorzystują własności operatorów gradientowych (pierwszej i drugiej pochodnej).

W niniejszej pracy zastosowano maskę Sobela ze względu na jej własności wygładzające ponieważ wiadomo, że pochodna obrazu wzmaga wszelkie zakłócenia [8]. W przypadku obrazu dwuwymiarowego stosuje się dwie maski Sobela - jedna oblicza składową gradientu w kierunku x, a druga w kierunku y. W obrazie MRI mózgu dodatkowo dochodzi trzeci wymiar z i wówczas oblicza się gradient w trzech kierunkach. Maski Sobela mają w tym przypadku postać sześcianów 3x3x3 (rys. 6):

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 6: Maski Sobela dla obrazu trójwymiarowego: (a) maska obliczająca składową gradientu w kierunku x, (b) maska obliczająca składową gradientu w kierunku y, (c) maska obliczająca składową gradientu w kierunku z.

W celu obliczenia poszczególnych składowych gradientu wyznacza się korelację każdej z powyższych masek z trójwymiarowym obrazem MRI, w ten sposób, że maska jest nakładana na obraz i jej współczynniki są wymnażane przez znajdujące się pod nimi elementy obrazu. Następnie iloczyny są sumowane, a wynik jest zapisywany pod środkowym elementem maski, która przesuwa się o jeden woksel w bok. W ten sposób otrzymuję się trzy obrazy będące składowymi gradientu w poszczególnych kierunkach, z tym że każdy z obrazów jest pomniejszony o dwa skrajne woksele w każdym wymiarze w stosunku do obrazu oryginalnego. Nie wpływa to jednak na wynik detekcji krawędzi, gdyż skrajne woksele nie są częścią obszaru mózgu, a jedynie tłem. Po obliczeniu poszczególnych składowych gradientu, należy obliczyć jego moduł według wzoru:

0x01 graphic
(4.1)

W ten sposób otrzymuję się obraz gradientowy z uwydatnionymi brzegami obszarów istoty szarej i białej (rys. 7 i 8).

0x01 graphic
0x01 graphic

(a) (b)

Rys. 7: Obraz gradientowy: (a) przekrój nr 100, (b) przekrój nr 80.

0x01 graphic
0x01 graphic

  1. (b)

Rys. 8: Przekrój nr 100 obrazu gradientowego: (a) prawy dolny róg - trzykrotne powiększenie , (b) lewy dolny róg - dwukrotne powiększenie.

Obraz gradientowy uwydatnia brzegi, będące miejscami nagłej zmiany jasności, jednak mają one często grubość kilku, a nawet kilkunastu wokseli, co jest wadą, gdyż uniemożliwia to przeprowadzenie prawidłowej segmentacji obiektów. Aby rozwiązać ten problem trzeba zawęzić każdy brzeg do wokseli posiadających największy gradient. W tym celu należy wyznaczyć kierunki brzegów. Kierunek brzegu to kierunek do niego prostopadły [8,9]. Można go wyznaczy korzystając z gradientu. Mianowicie kierunek wektora gradientu obliczonego dla danego woksela jest jednocześnie kierunkiem brzegu dla tego woksela [8,9]. Mając trzy wektory składowe gradientu możemy wyznaczyć wektor wypadkowy, a tym samym kierunki brzegów.

Następnie w celu zawężenia grubości brzegów należy zastosować poniższy algorytm [9]:

Przy wyznaczaniu sąsiadów wskazywanych przez kierunek brzegu należy pamiętać, że dla obrazu trójwymiarowego każdy woksel ma nie ośmiu (tak jak piksele dla obrazu dwuwymiarowego) a dwudziestu sześciu sąsiadów. Możliwych jest zatem trzynaście kierunków brzegu.

W celu wyznaczenia kierunku brzegu dla danego woksela należy skorzystać z własności iloczynu skalarnego. Dlatego też w programie MATLAB zadeklarowano trzynaście wektorów wzorcowych w trójwymiarowym układzie współrzędnych, z których każdy wskazuje określony kierunek brzegu:

v(1, :) = [1 0 0]; v(8, :) = [-1 0 -1];

v(2, :) = [0 0 1]; v(9, :) = [-1 0 1];

v(3, :) = [0 -1 0]; v(10, :) = [1 1 -1];

v(4, :) = [1 1 0]; v(11, :) = [-1 1 -1];

v(5, :) = [-1 1 0]; v(12, :) = [1 1 1];

v(6, :) = [0 1 1]; v(13, :) = [-1 1 1]

v(7, :) = [0 1 -1];

Wektory wzorcowe oraz wektory gradientu poddaje się normalizacji, czyli podzieleniu przez moduł ich długości, aby była ona jednostkowa. Następnie dla każdego woksela o niezerowym module gradientu oblicza się iloczyn skalarny z każdym z powyższych wektorów wzorcowych, a następnie jego moduł. Dla dwóch wektorów Grad = [Gx Gy Gz] i V=[vx vy vz ] ich iloczyn skalarny dany jest wzorem [11]:

0x01 graphic
(4.2)

Korzystając z własności iloczynu skalarnego [11] mówiącej o tym, że im dwa wektory są bardziej do siebie równoległe tym moduł ich iloczynu skalarnego jest


większy (w przypadku równoległości osiąga wartość jeden) wyznacza się kierunek brzegu,


aproksymowany tym wektorem wzorcowym, dla którego iloczyn skalarny był największy. Znając kierunek brzegu danego woksela można wyznaczyć wskazywanych przez niego sąsiadów. Po zastosowaniu powyższego algorytmu brzegi zostały zawężone do krawędzi zawierających najjaśniejsze woksele (rys. 9).

0x01 graphic
0x01 graphic

(a) (b)

0x01 graphic

(c)

Rys. 9: Krawędzie obszarów istoty szarej i białej: (a) przekrój nr 100, (b) prawy dolny róg przekroju nr 100 - dwukrotne powiększenie, (c) lewy dolny róg przekroju nr 100 - jednokrotne powiększenie.

W wyniku opisanych działań otrzymuje się obraz gradientowy z szerokościami brzegów zawężonymi do jednego woksela w perspektywie 3D. W obrazie tym pozostają jedynie te woksele należące od brzegów, które mają największą jasność w kierunku gradientu natomiast pozostałe są zerowane. Na podstawie otrzymanych krawędzi, oddzielających obraz wycinka mózgu od tła obrazu oraz istotę szarą od białej, można przeprowadzić skuteczną segmentację obszarów, wypełniając przestrzenie ograniczone tymi krawędziami.

Otrzymane obrazy nie zawierają jednak samych krawędzi ograniczających poszukiwane obszary. Dodatkowo zostały uwydatnione niepożądane krawędzie wewnątrz obszaru mózgu, które jednak mają jasność mniejszą, bądź porównywalną z jasnością krawędzi oddzielającej istotę szarą od białej. W celu wydzielenia z obrazu najważniejszych krawędzi można zastosować poniższy algorytm:

Po zastosowaniu tego algorytmu otrzymano obraz binarny z wydzielonymi krawędziami istoty szarej i białej:


0x01 graphic
0x01 graphic

(a) (b)

Rys. 10: Obraz krawędzi ograniczających obszary istoty szarej i białej: (a) przekrój nr 100, (b) przekrój nr 50.

Próg będący kryterium dołączania kolejnych wokseli został dobrany eksperymentalnie i wynosi 100. Na powyższym rysunku widać, że oprócz interesujących nas krawędzi dodatkowo zostały przyłączone nieliczne „zanieczyszczenia” w postaci pojedynczych skupisk wokseli (przykładowo zaznaczone są one czerwonymi okręgami). Nie można ich jednak usunąć z obrazu, przez zastosowanie większej wartości progu, ponieważ spowodowałoby to znaczną utratę ciągłości wewnętrznej krawędzi, która ma taką samą jasność jak niepożądane woksele. Wykryte krawędzie nie są idealnie ciągłe, gdyż zawierają liczne przerwy, których długość często dochodzi do kilkunastu wokseli (przykładowo zaznaczone są one żółtymi okręgami). Tego typu nieciągłości krawędzi uniemożliwiają wypełnienie obszarów istoty szarej i białej, a co za tym idzie przeprowadzenie segmentacji obrazu mózgu. Znaczna długość tych nieciągłości uniemożliwia zastosowanie prostych algorytmów wypełniania takich luk.

4.2 Zastosowanie metody aktywnego konturu w celu uzyskania ciągłości wykrytych krawędzi

W celu uzyskania ciągłych krawędzi, rozdzielających poszukiwane obszary, w niniejszej pracy zastosowano metodę „aktywnego konturu” (ang. snake) zaimplementowaną w formie programu komputerowego w [16]. Dzięki tej metodzie możliwe jest uzupełnianie nieciągłości krawędzi w obrazie. Aktywny kontur działa jednak w obrazach dwuwymiarowych, dlatego metoda ta została zastosowana do losowo wybranych przekrojów badanego obrazu, które najlepiej pokazują jej skuteczność.

Aktywny kontur jest to elastyczna krzywa, która pod wpływem określonych czynników ulega deformacji dopasowując się do kształtu poszukiwanego obiektu. W implementacji komputerowej aktywny kontur jest umieszczany w dwuwymiarowym obrazie w postaci zamkniętej linii łamanej złożonej z połączonych odcinkami punktów węzłowych „s” [13,14].

Aktywny konturu dopasowuje się do kształtu poszukiwanego obiektu w procesie iteracyjnym, w którym następuje zmiana położeń punktów węzłowych. Położenie aktywnego konturu, w którym jest on dopasowany najdokładniej do danej linii, odpowiada minimum jego energii wewnętrznej. Tak więc proces dopasowywania aktywnego kontur można sprowadzić do poszukiwania minimum energii wewnętrznej modelu wyrażonej wzorem [13,14]:

0x01 graphic
(4.3)

gdzie: Sm - liczba punktów węzłowych aktywnego konturu, v(s) = (x(s), y(s)) wektor określający położenie punktu węzłowego, Esnake - energia wewnętrzna modelu, Ei - energia sprężystości, Ee - składnik energii określający pewną wiedzę a-priori na temat kształtu linii brzegowej poszukiwanej w obrazie, Ep - energie cząstkowe oddziaływania obrazu.

W niniejszej pracy zastosowano model ciśnieniowy aktywnego konturu (ang. balloon), w którym punkty węzłowe mogą poruszać się w dowolnym kierunku. Dodatkowo w modelu tym nie jest zdefiniowana energia Ee [13].

W wyniku zastosowania metody aktywnego konturu uzyskano ciągłość krawędzi oddzielającej istotę szarą od białej oraz zewnętrznej krawędzi mózgu. Poza tym otrzymane krawędzie mają grubość pojedynczych wokseli, a zatem wynik segmentacji jest dzięki temu dokładniejszy.

0x01 graphic
0x01 graphic

(a) (b)

0x01 graphic

(c)

Rys. 11: Obrazy krawędzi ograniczających obszary istoty szarej i białej: (a) przekrój nr 90, (b) przekrój nr 100, (c) przekrój nr130.


Na podstawie uzyskanych krawędzi można wypełnić obszary nimi ograniczone - dla konkretnego przekroju obrazu trójwymiarowego. W tym celu należy wybrać dwa


dowolne piksele, jeden znajdujący się w centrum obszaru odpowiadającego istocie szarej mózgu oraz drugi piksel należący do obszaru będącego istotą białą. Następnie do danego piksela przyłączani są kolejni sąsiedzi, których jasność jest równa zero.

Należy przy tym zwrócić uwagę na fakt, że operacje te przeprowadzane są na obrazie binarnym, w którym piksele krawędzi mają jasność jeden, a piksele będące częścią istoty szarej i białej oraz tła jasność zero. Tak więc w sytuacji, gdy krawędzie spełniają warunek ciągłości - są zamknięte - zastosowanie powyższego algorytmu spowoduje wypełnienie, a tym samym segmentację szukanych obszarów istoty szarej i białej. Uzyskane wyniki przedstawiają rysunki 12, 13, 14, 15:

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 12: Przekrój nr 50: (a) obraz oryginalny, (b) istota szara, (c) istota biała.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 13: Przekrój nr 70: (a) obraz oryginalny, (b) istota szara, (c) istota biała.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c) Rys. 14: Przekrój nr 70: (a) obraz oryginalny, (b) istota szara, (c) istota biała.

0x01 graphic
0x01 graphic
0x01 graphic

(a)

0x01 graphic
0x01 graphic
0x01 graphic

(b)

Rys. 15: Przekroje nr 60, 100, 130: (a) obrazy oryginalne, (b) odpowiadające obrazom oryginalnym, obszary istoty szarej i białej przedstawione na jednym rysunku.


5. Segmentacja obrazu MRI mózgu poprzez progowanie jasności [4]

Przedstawiona w niniejszym rozdziale metoda segmentacji (poprzez progowanie) obrazu MRI mózgu została opracowana przy użyciu programu C++ Builder 5, w [4].

5.1 Optymalne progowanie

Segmentacja poprzez progowanie polega na określeniu tzw. progu T, czyli określonej jasności, która dzieli punkty obrazu na dwie grupy [6,7,8,9].

Wartość progu może być ustalana eksperymentalnie na podstawie histogramu obrazu, jednak ta metoda jest często niedokładna i nieskuteczna. Metodą najdokładniejszą jest tzw. optymalne progowanie [6,8,9], w której próg jest ustalany automatycznie, jednak konieczna jest wiedza a priori o rozkładach jasności obiektów i tła w obrazie. Metoda ta minimalizuje całkowity błąd segmentacji, czyli liczbę błędnie zinterpretowanych punktów obrazu.

W celu znalezienia wartości progu T dającej najmniejszy błąd segmentacji histogram obrazu należy aproksymować sumą rozkładów gaussowskich.

0x01 graphic
(5.1)

gdzie: N - liczba rozkładów opisujących histogram, P - amplituda funkcji Gaussa, μ - wartość średnia funkcji Gaussa, σ - odchylenie standardowe funkcji Gaussa.

W celu opisu histogramu sumą rozkładów Gaussa wykorzystano metodę aproksymacji średniokwadratowej [4,12,15]. Wynik aproksymacji przedstawia rys. 16.

0x01 graphic

Rys. 16 [4]: Histogram globalny obrazu przedstawiający rozkład jasności słoja i obszaru mózgu: kolor czarny - histogram oryginalny, kolor szary - histogram aproksymowany sumą rozkładów Gaussa.

Po aproksymowaniu histogramu sumą rozkładów Gaussa znane są parametry opisujące histogram. Dzięki temu możliwe jest znalezienie wartości progu T minimalizującej całkowity błąd segmentacji. Tą samą metodę użyto przy znalezieniu wartości progu oddzielającej jasności obszaru istoty szarej i białej od jasności otoczenia - półprogowanie zastosowane przy przetwarzaniu wstępnym obrazu.


Próg oddzielający wartości jasności istoty szarej i białej od wartości jasności otoczenia musi spełniać poniższą nierówność:

0x01 graphic
(5.2)

gdzie: μO - wartość średniej jasności otoczenia, μB - wartość średniej jasności istoty białej.

Analogicznie próg oddzielający wartości jasności istoty szarej i białej spełnia nierówność:

0x01 graphic
(5.3)

gdzie: μB - wartość średniej jasności istoty białej, μS - wartość średniej jasności istoty szarej.

Schemat postępowania zostanie przedstawiony na przykładzie obliczania progu T danego wzorem 5.3. Fragment histogramu przedstawiający rozkład jasności istoty szarej i białej, opisany za pomocą rozkładów Gaussa, przedstawia wzór:

0x01 graphic
(5.4)

gdzie: PB , μB , σB - odpowiednio amplituda wartość średnia i odchylenie standardowe funkcji Gaussa opisującej jasności istoty białej; PS , μS , σS - odpowiednio amplituda wartość średnia i odchylenie standardowe funkcji Gaussa opisującej jasności istoty szarej.

Całkowite prawdopodobieństwo błędnej segmentacji wyraża się wzorem:

0x01 graphic
(5.5)

gdzie: 0x01 graphic
= 0x01 graphic
, 0x01 graphic
= 0x01 graphic

Aby znaleźć wartość progu, dla której błąd ten będzie minimalny należy przyrównać jego pochodną względem T do zera:

0x01 graphic
(5.6)

Stąd otrzymujemy:

0x01 graphic
(5.7)

co prowadzi do równania kwadratowego:

0x01 graphic
(5.8)

którego współczynniki a, b, c dane są wzorami:

0x01 graphic
(5.9)

Równanie 5.8 może mieć dwa rozwiązania. Jako interesującą nas wartość progu T należy przyjąć to rozwiązanie, które spełnia nierówność 5.3. Analogicznie przebiega poszukiwanie wartości progu oddzielającego jasności obszaru mózgu od otoczenia, z tym że należy wziąć pod uwagę fragment histogramu (opisany rozkładami Gaussa) odpowiadający jasnościom istoty białej i otoczenia.

5.2 Progowanie z wykorzystaniem progu lokalnego

W przypadku progowania jasności o powodzeniu segmentacji decyduje wybór odpowiedniej wartości progowej. Większość metod doboru progu bazuje na analizie kształtu histogramu. Próg może być tzw. progiem globalnym, gdy jego wartość jest ustalana na podstawie całego obrazu. W przypadku, gdy próg zależy od współrzędnych przestrzennych obrazu, jest on ustalany dynamicznie.

Powszechnie występującym problemem przy progowaniu globalnym jest nierównomierność jasności analizowanej sceny. Tego typu problemy powstają w


momencie tworzenia obrazu - w procesie jego akwizycji i mogą być na przykład wywołane prze ruch badanego obiektu. Nierównomierność jasności powoduje błędy w procesie


segmentacji obrazu z zastosowaniem progu globalnego. Aby temu zapobiec stosuje się między innymi korekcję nierównomierności jasności [6,8] oraz progowanie z


wykorzystaniem tzw. progu lokalnego. Jest to próg, którego wartość zależy zarówno od treści obrazu jak i od pewnej jego cechy np. średniej jasności w danym otoczeniu [6,8].

W niniejszej pracy wykorzystano do porównania, metodę segmentacji poprzez progowanie, z zastosowaniem progu lokalnego. Zaobserwowano, że dla badanego obrazu MRI mózgu metoda ta daje najdokładniejsze rezultaty [4].

Obraz mózgu został wstępnie podzielony na podobszary, będące sześcianami o wymiarach 16 x 16 x 16 wokseli. Następnie dla każdego sześcianu został wyznaczony próg oddzielający obszar mózgu od otoczenia oraz próg oddzielający obszar istoty szarej od białej. Progi te zostały obliczone z zastosowaniem, opisanej wcześniej, metody progowania optymalnego. W dalszej kolejności wartości te zostały przypisane punktom środkowym danego sześcianu i na ich podstawie z wykorzystaniem interpolacji dwuliniowej obliczono progi dla pozostałych punktów obrazu [4].

W pracy [4] przed operacją progowania, z wykorzystaniem progu lokalnego, została przeprowadzona korekcja nierównomierności jasności, polegająca na usunięciu z obrazu oryginalnego obrazu zakłócającego [6,8,4]. Dodatkowo obraz uzyskany po progowaniu został poddany operacjom morfologicznym: dylatacji, erozji, otwieraniu i zamykaniu [6,8,9]. Operacje morfologiczne mają na celu „poprawienie” konturów obszarów uzyskanych w wyniku segmentacji.

Przykładowe przekroje obrazu uzyskanego w wyniku segmentacji poprzez progowanie, dodatkowo wspartej wyżej wymienionymi operacjami morfologicznymi, przedstawiają rys. 17, 18, 19, 20.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 17: Przekrój nr 50: (a) obraz oryginalny, (b) istota szara, (c) istota biała.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 18: Przekrój nr 80: (a) obraz oryginalny, (b) istota szara, (c) istota biała.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 19: Przekrój nr 90: (a) obraz oryginalny, (b) istota szara, (c) istota biała.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 20: Przekrój nr 100: (a) obraz oryginalny, (b) istota szara, (c) istota biała.


6. Porównanie metod segmentacji obrazu MRI mózgu poprzez detekcję krawędzi oraz progowanie jasności

W dzisiejszych czasach informatykę wykorzystuje się w większości dziedzin nauki - zastosowanie komputerów jest wszechobecne. Powstają algorytmy rozwiązujące coraz to bardziej skomplikowane zagadnienia. Po zidentyfikowaniu danego problemu niemal od razu tworzony jest szereg rozwiązań w postaci programów komputerowych, co pociąga konieczność zweryfikowania otrzymanych rozwiązań i wyboru najbardziej korzystnego. Czynnikiem odgrywającym dużą role przy wyborze danego rozwiązania jest optymalizacja kosztów. Obecnie dąży się do tego, żeby dana metoda była jak najbardziej wydajna - dawała jak najlepsze rezultaty przy możliwie najdalej posuniętej redukcji kosztów finansowych.

Każda metoda, opracowana z myślą o realizacji danego zadania, musi spełniać określone wytyczne. Na przykład w sferze przemysłu, w przypadku kontroli jakości danego wyrobu produkowanego taśmowo, w dużych ilościach, program kontrolujący jego jakość musi być bardzo szybki, tak aby można było w czasie rzeczywistym stwierdzić czy dany wyrób spełnia określone normy. W taki przypadku ważna jest również niezawodność i skuteczność metody, gdyż w przeciwnym wypadku producent może być narażony na poważne straty. Z kolei w medycynie, gdzie celem nadrzędnym jest zdrowie pacjenta, a z reguły nie ma drastycznych ograniczeń czasowych, o tym że dana metoda jest dobra, decyduje przede wszystkim jej dokładność, skuteczność i niezawodność.

Tak więc parametry świadczące o jakości danej metody, programu komputerowego są w znacznym stopniu zróżnicowane i zależą w dużej mierze od celu w jakim zostały one opracowane. Porównywanie metod ma za zadanie wyszczególnienie ich wad i zalet, aby można było dokonać wyboru metody najbardziej stosownej do rozwiązania danego problemu. Należy przy tym wziąć pod uwagę wybór czynników, które mają największy wpływ na określenie użyteczności danej metody, w określonych sytuacjach.

W rozdziale tym zostaną porównane metody segmentacji trójwymiarowego obrazu MRI mózgu człowieka. Biorąc pod uwagę fakt, że mogą one mieć zastosowanie w


medycynie, podstawowym czynnikiem branym pod uwagę przy ich ocenianiu będzie skuteczność wyrażona dokładnością otrzymanych wyników.


Porównanie to nie ograniczy się jednak do dokładności wyników. Będzie ono dotyczyło podstawowych parametrów branych pod uwagę przy ocenianiu danej metody. Są nimi:

6.1 Szybkość działania programu

Szybkość metody jest parametrem, odgrywającym bardzo ważną rolę w wielu dziedzinach nauki, a przede wszystkim w przemyśle, w przypadku kontroli jakości dużej liczby produktów. Wyraża się ją czasem obliczeń według programu komputerowego [17].

W ostatnich latach nastąpił bardzo szybki rozwój technologii produkcji podzespołów do systemów komputerowych. Powstają coraz to szybsze mikroprocesory, które są w stanie wykonywać skomplikowane zadania i obliczenia w bardzo krótkim czasie. Jeszcze niedawno skomplikowane obliczenia były wykonywane przez specjalistyczne maszyny, natomiast dzisiaj te same zadania można realizować, przy użyciu domowych komputerów.

Szybkość działania danej metody zaimplementowanej w formie programu komputerowego zależy przede wszystkim od jej złożoności. Jednym z podstawowych wymogów stawianych przed informatykami, jest zoptymalizowanie programów tak, aby były one w stanie rozwiązać dany problem w jak najkrótszym czasie, przy możliwie


najmniejszych kosztach.

W przypadku porównywania szybkości działania różnych metod, zaimplementowanych w postaci programów komputerowych, konieczne jest, aby były one wykonywane przy użyciu procesora o tej samej częstotliwości zegara taktującego. Szybkość zegara ma duży wpływ na czas wykonania się programu.

Przedstawione w niniejszej pracy metody segmentacji zostały przetestowane przy użyciu procesora AMD Duron 1200 MHz. Czasy wykonania poszczególnych etapów, wchodzących w skład obydwu metod segmentacji przedstawiają tabele 6.1, 6.2.

Segmentacja trójwymiarowego obrazu MRI mózgu przez progowanie jasności

Wykonane operacje

Czas wykonania [s]

1. Przetwarzanie wstępne obrazu

50,99

a) filtracja medianowa

25,00

b) korekcja nierównomierności

jasności

0,88

c) filtracja przy użyciu filtru

z maską rotacyjną

25,11

2. Progowanie obrazu

z użyciem progu lokalnego

9,62

a) Obliczanie progów lokalnych

2,77

b) Interpolacja dwuliniowa wartości

progów dla wszystkich punktów obrazu.

6,33

c) Lokalne progowanie

0,52

3. Operacje morfologiczne (erozja, dylatacja, otwieranie, zamykanie)

8,18

Tabela nr 6.1: Czasy wykonania poszczególnych etapów wchodzących w skład metody segmentacji obrazu MRI przez progowanie jasności.

Segmentacja trójwymiarowego obrazu MRI mózgu na podstawie wykrytych brzegów

Wykonane operacje

Czas wykonania [s]

1. Przetwarzanie wstępne obrazu

151,16

a) filtracja medianowa

150,39

b) półprogowanie obrazu

0,77

2. Detekcja brzegów w trójwymiarowym obrazie MRI

4831,97

a) Wyznaczenie gradientu obrazu przy użyciu trójwymiarowych masek Sobela

167,03

b) Zawężenie wykrytych brzegów do największych wartości gradientu

368,64

c) Rekonstrukcja wykrytych krawędzi zaczynając od woksela o największej wartości gradientu

4296,3

3. Zastosowanie metody aktywnego konturu (do wybranych przekrojów) w celu uzyskania ciągłości krawędzi

419,00

4. Wypełnianie obszarów istoty szarej i białej ograniczonych wykrytymi krawędziami ( 10 przekrojów)

44,00

Tabela nr 6.2: Czasy wykonania poszczególnych etapów wchodzących w skład metody segmentacji obrazu MRI na podstawie wykrytych brzegów.

Parametrem mającym największy wpływ na czas wykonania określonego algorytmu jest rozmiar danych, który ma różne znaczenia. Na przykład dla programu obliczającego silnię z danej liczby rozmiarem będzie wielkość danej wejściowej. Z kolei dla funkcji sortującej tablicę będzie to rozmiar tablicy [ 17,18].

W niniejszej pracy rozmiarem danych jest rozmiar obrazu MRI mózgu, przedstawiony w postaci trójwymiarowej macierzy wokseli o wymiarach 256 x 256 x 256. Do zapisu jasności każdego woksela jest potrzebna określona liczba bitów. Zadeklarowana ilość pamięci RAM jest parametrem mającym bardzo duży wpływ na czas wykonania się programu.

Porównując szybkość działania przedstawionych algorytmów segmentacji należy zwrócić uwagę na fakt, iż programy wykonujące zadane algorytmy napisano w dwóch różnych językach programowania. Algorytm segmentacji przez progowanie został napisany w języku C++, natomiast segmentacja na podstawie wykrytych brzegów została opracowana w środowisku MATLAB 6. Fakt ten ma istotny wpływ na szybkość działania programów, ponieważ wszystkie operacje wykonywane były na różnych typach danych numerycznych. Wynika to z tego, iż podstawowym typem danych numerycznych w programie MATLAB jest typ „double” [10], w którym liczby zapisywane są na ośmiu bajtach [19]. Natomiast dane w programie realizującym segmentację przez progowanie, napisanym w języku C++ zostały sprowadzone do formatu „unsigned char”, który do zapisu danej liczby wykorzystuje jeden bajt [19]. Tak więc do zapisu obrazu o wymiarach 256 x 256 x 256 wokseli ilość zadeklarowanej pamięci w programie C++ (z wykorzystaniem typu unsigned char) wynosi 16MB. Z kolei w programie MATLAB, mimo zmniejszenia obrazu do rozmiaru 211 x 141 x 161, zadeklarowana pamięć zajmuje 38MB, czyli ponad dwa razy więcej.

Bardzo duży wpływ na szybkość wykonania obydwu algorytmów segmentacji ma również fakt, że C++ jest językiem kompilowanym, w którym dana instrukcja jest jednokrotnie przetwarzana dla procesora. MATLAB należy natomiast do rodziny programów interpretowanych, w których instrukcje są tłumaczone dla procesora wielokrotnie. Fakt ten oraz konieczność użycia typu „double”, w programie MATLAB powoduje, że napisany w nim algorytm segmentacji obrazu MRI na podstawie wykrytych brzegów, jest znacznie wolniejszy od programu segmentacji przez progowanie napisanego w języku C++. Potwierdzenie tego są wyniki przedstawione w tabelach 6.1, 6.2.


W obydwu metodach występuje przetwarzanie wstępne obrazu, które w przypadku segmentacji przez progowanie jest wykonywane blisko 3 razy szybciej niż dla segmentacji na podstawie wykrytych brzegów. Z kolei sama operacja progowania z użyciem progu lokalnego jest 502,3 razy szybsza od operacji detekcji brzegów w obrazie MRI.

Dodatkowo obie metody zawierają operacje wspomagające segmentację. W przypadku progowania jasności, uzyskany obraz został poddany operacjom morfologicznym, mającym na celu poprawę konturów otrzymanych obszarów istoty szarej i białej [4,6,8,9]. Ich łączny czas działania wynosi 8,18s, prawie tyle samo, co sama operacja segmentacji obrazu (9,64s).

Segmentacja na podstawie wykrytych brzegów wymaga stosowania metody aktywnego konturu, w celu zapewnienia ciągłości wykrytych krawędzi. Dopasowywanie aktywnego konturu jest procesem iteracyjnym, w którym dokonywane są czasochłonne obliczenia [13,14]. Trudno jest jednoznacznie określić czas działania metody aktywnego konturu, gdyż zależy on liniowo od liczby zadanych kroków w procesie iteracyjnym, natomiast liczba iteracji jest różna i wyznaczana eksperymentalnie dla konkretnego przypadku, w zależności od wielkości poszukiwanego obszaru. Konieczność ustawiania parametrów aktywnego konturu (punktu startowego oraz liczby iteracji) dla każdego przekroju oddzielnie spowodowała, że w niniejszej pracy zastosowano go tylko do dziesięciu losowo wybranych przekrojów obrazu trójwymiarowego. Czas potrzebny na wykonanie programu realizującego metodę aktywnego konturu (dla tych dziesięciu przekrojów) wynosi 419s. Zastosowanie metody aktywnego konturu spowodowało, iż segmentacja obrazu 3D została sprowadzona do przypadku dwuwymiarowego, gdyż otrzymano wybrane przekroje obrazu MRI zawierające ciągłe krawędzie. Aktywny kontur użyto do dziesięciu losowo wybranych przekrojów o następujących numerach: 10, 20, 50, 60, 70, 80, 90, 100, 120, 130. Ukazują one zarówno krańcowe jak i centralne obszary mózgu. Badany obraz MRI po przetwarzaniu wstępnym zawiera 161 przekrojów. Próbka mózgu jest widoczna na przekrojach od drugiego do sto pięćdziesiątego trzeciego. Na podstawie dziesięciu wybranych przekrojów można oszacować średni czas, wykonania metody aktywnego konturu dla jednej warstwy obrazu. Otrzymany czas należy pomnożyć


przez liczbę przekrojów, na których jest widoczny mózg - w tym przypadku 151 - aby określić przybliżony czas wykonania metody aktywnego konturu dla całego obrazu MRI.


Końcowym etapem tej metody segmentacji jest wypełnienie obszarów ograniczonych ciągłymi krawędziami. Wypełniono dziesięć wcześniej wybranych przekrojów. Na podstawie tego policzono średni czas potrzebny na wypełnienie obszarów istoty szarej i białej dla jednego przekroju. Otrzymaną wartość pomnożono przez liczbę 151 (przekroje, na których widoczny jest badany fragment mózgu) i w ten sposób otrzymano przybliżony czas potrzebny na segmentację całego obszaru mózgu w trójwymiarowym obrazie MRI. Tabela nr 6.3 przedstawia czasy realizacji metody aktywnego konturu oraz czasy wypełniania obszarów istoty szarej i białej, dla poszczególnych dziesięciu przekrojów obrazu 3D. W tabeli 6.4 zamieszczono czasy średnie i całkowite potrzebne na wykonanie metody aktywnego konturu i wypełnienie obszarów istoty szarej i białej dla wszystkich przekrojów badanego obrazu MRI.


Numer przekroju obrazu 3D

Czas wykonania metody aktywnego konturu [s]

Czas wypełnienia obszarów istoty szarej i białej [s]

10

37,49

1,85

20

39,91

2,93

50

32,96

4,81

60

42,02

6,19

70

43,25

5,27

80

40,05

4,90

90

54,37

4,66

100

66,26

6,23

120

34,00

3,93

130

28,69

3,32

Tabela nr 6.3: Czasy wykonania obliczeń metodą aktywnego konturu oraz wypełnienia obszarów istoty szarej i białej, dla dziesięciu losowo wybranych przekrojów obrazu trójwymiarowego.


Średni czas dopasowywania się aktywnego konturu dla jednego dowolnego przekroju obrazu 3D

41,90s

Średni czas wypełnienia obszarów istoty szarej i białej dla jednego dowolnego przekroju obrazu 3D

4,40s

Całkowity czas wykonania obliczeń metodą aktywnego konturu dla 151 przekrojów obrazu 3D

1godz 45min

Całkowity czas wypełnienia obszarów istoty szarej i białej dla 151 przekrojów obrazu 3D

11min

Tabela nr 6.4: Czasy średnie i całkowite potrzebne na dopasowania aktywnego konturu oraz wypełnienie obszarów istoty szarej i białej, dla dowolnego przekroju oraz dla 151 przekrojów obrazu trójwymiarowego MRI

Korzystając z danych zawartych w tabeli 6.4 oraz danych z tabeli 6.2, obliczono całkowity czas potrzebny na wykonanie segmentacji na podstawie wykrytych brzegów. Całkowite czasy wykonania segmentacji przez progowanie jasności oraz segmentacji na podstawie wykrytych brzegów zostały zebrane w tabeli 6.5.

Rodzaj segmentacji

Liczba wykonanych operacji wchodzących w skład metody

Całkowity czas wykonania się metody

Segmentacja obrazu MRI przez progowanie jasności

7

68,79s

Segmentacja obrazu MRI na podstawie wykrytych brzegów

7

3godz 19min

Tabela nr 6.5: Całkowite czasy wykonania metod segmentacji trójwymiarowego obrazu MRI mózgu.

Widać jak duża jest różnica w szybkości realizacji obydwu algorytmów segmentacji. Liczba pośrednich etapów w obu przypadkach jest taka sama i wynosi siedem, mimo to segmentacja przez progowanie jest 174 razy szybsza od opracowanej metody segmentacji na podstawie wykrytych brzegów. Na tak znaczną różnicę mają niewątpliwie wpływ różne typy danych numerycznych, na których były wykonywane operacje wchodzące w skład obydwu metod segmentacji. W przypadku segmentacji przez progowanie był to typ „unsigned char”, który wykorzystuje jeden bajt do zapisu określonego poziomu szarości obrazu, a dla segmentacji na podstawie wykrytych brzegów był to typ „double”, który ma rozmiar ośmiu bajtów. Mimo znacznego zmniejszenia wymiarów obrazu, do obliczeń w programie MATLAB, różnica w ilości zadeklarowanej pamięci operacyjnej, w obu programach, była bardzo duża. C++ Builder 6 potrzebował ponad dwa razy mniej pamięci RAM. Tak znaczna różnica w ilości użytej pamięci operacyjnej oraz konieczność wykonywania operacji (w przypadku programu MATLAB) na danych zapisanych na ośmiu bajtach, ma istotne odzwierciedlenie w szybkości działania obydwu metod. Dodatkowym powodem tak dużej różnicy czasu wykonania obu metod jest

fakt, iż C++ jest językiem kompilowanym, a MATLAB interpretowanym, co ma znaczny wpływ na czas potrzebny do przetworzenia instrukcji programu dla procesora.

Na znacznie dłuższy czas działania algorytmu segmentacji na podstawie wykrytych brzegów istotny wpływ ma metoda aktywnego konturu, której czas działania stanowi ponad 55% całkowitego czasu metody segmentacji. Wiąże się z nią konieczność wykonywania wielu iteracji dla poszczególnych przekrojów obrazu, co w przypadku typu danych „double” bardzo wydłuża czas obliczeń.

Samo wypełnienie obszarów istoty szarej i białej dla wszystkich przekrojów obrazu trójwymiarowego trwałoby w przybliżeniu 664s, czyli stanowi około 5% czasu trwania całej procedury segmentacji.

6.2 Stopień złożoności obliczeniowej programu - klasa algorytmu

Przy wyborze właściwego algorytmu, najczęstszym kryterium branym pod uwagę jest jego zastosowanie. Analiza algorytmów jest działem informatyki zajmującym się poszukiwaniem odpowiedzi na pytania dotyczące możliwości zastosowania różnych algorytmów w odmiennych przypadkach. Dokonując analizy algorytmów, najczęściej zwraca się uwagę na jego poprawność, prostotę, czas działania oraz ilość pamięci, jaką trzeba zadeklarować [18].

Jednym z podstawowych elementów wchodzący w skład analizy sprawności algorytmów jest stopień złożoności obliczeniowej programu (algorytmu), będącej próbą odpowiedzi na pytanie, który z dwóch programów wykonujących to samo zadanie, (ale odmiennymi metodami) jest efektywniejszy [17,18].

Możemy wyróżnić tzw. złożoność praktyczną, oznaczaną jako funkcja „T(n)”, np. T(n) = (n + 1)tc, gdzie n jest rozmiarem danych wejściowych, a tc jest czasem wykonania się jednej instrukcji programu. Złożoność praktyczna daje dokładny rezultat, jednak w praktyce jej wyliczenie często bywa bardzo skomplikowane i czasochłonne [17,18].

Drugim typem złożoności obliczeniowej jest tzw. złożoność teoretyczna oznaczana jako funkcja „O”. Określa ona, jaki typ funkcji matematycznej występującej w zależności określającej złożoność praktyczną programu, odgrywa w niej największą rolę, wpływając najsilniej na czas wykonania programu. Złożoność teoretyczna występuje również pod


nazwą klasy algorytmu i jest najczęściej podawanym parametrem w opisach katalogowych. Może być ona bezpośrednio określona na podstawie złożoności praktycznej. Klasa algorytmu mówi ogólnie o tym, w jaki sposób będzie wzrastać czas działania programu w momencie zwiększania ilości danych. Na przykład algorytm, dla


którego dwukrotne zwiększenie danych spowoduje dwukrotne wydłużenie czasu działania


ma złożoność teoretyczną liniową. Jest to algorytm o klasie O liniowej. W tabeli 6.6 podano przykłady zależności pomiędzy złożonością praktyczną i teoretyczną programów [17,18].


Złożoność praktyczna T(n)

Złożoność teoretyczna O

3n + 1

O(n)

n2 - n + 1

O(n2)

2n + n2 + 4

O(2n)

Tabela nr 6.6: Przykłady zależności pomiędzy złożonością praktyczną i teoretyczną algorytmów.

Można wyróżnić następujące typy złożoności teoretycznej (klasy algorytmów) [18]:

podzadań rozmiaru n/2 plus pewna liczba działań, liniowa względem rozmiaru n, potrzebnych do wykonania rozbicia, a następnie połączenia rozwiązań rozmiaru n/2 w rozwiązanie rozmiaru n,

Złożoność teoretyczna może być wyznaczona w dwojaki sposób. Z jednej strony można aplikować określone twierdzenia matematyczne w różnych sytuacjach i w ten


sposób wyznaczyć klasę algorytmu. Z drugiej strony klasa ta może być wyznaczona metodą intuicyjną, dającą równie dobre rezultaty [17].

W niniejszym rozdziale zostaną określone klasy poszczególnych algorytmów wchodzących w skład metod segmentacji przez progowanie i segmentacji na podstawie wykrytych brzegów. W tym celu zostanie wykorzystana metoda intuicyjna.

Jak już wcześniej wspomniano, klasa algorytmu określa zależność pomiędzy czasem działania programu, a rozmiarem danych. Należy jednak zauważyć, że poszczególne etapy porównywanych algorytmów operują na różnych fragmentach całości obrazu. Na przykład algorytm progowania jasności wykorzystuje wszystkie woksele, wchodzące w skład całego trójwymiarowego obrazu MRI, ponieważ wartość jasności każdego z nich jest porównywana z wartościami progów lokalnych. Podobna sytuacja jest dla algorytmów filtracji oraz operacji morfologicznych.

W przypadku segmentacji na podstawie wykrytych brzegów, dla algorytmu wykorzystującego maski Sobela, dzięki któremu uzyskuje się obraz gradientowy, wykorzystywane są wszystkie wosele, a zatem rozmiarem danych jest również rozmiar całego obrazu 3D. Chcąc określić jak wydłuży się czas działania poszczególnych algorytmów, dla powyższych przykładów, przy dwukrotnym zwiększeniu rozmiaru danych, należy pamiętać o tym, że przez dwukrotne zwiększenie ich rozmiaru rozumie się podwojenie liczby wszystkich wokseli wchodzących w skład obrazu.


Odmienna sytuacja jest np. dla algorytmu zawężania brzegów do największych wartości gradientu oraz dla algorytmu rekonstrukcji wykrytych krawędzi, poczynając od najjaśniejszego woksela. Algorytmy te nie wykorzystują bowiem wszystkich wokseli należących do obrazu, a jedynie te, które spełniają określone kryterium - zadaną wartość progową. Na przykład dla algorytmu rekonstrukcji krawędzi, przez dwukrotne zwiększenie

rozmiaru danych jest rozumiane podwojenie liczby wokseli, wchodzących w skład krawędzi wykrytych w obrazie oraz dodatkowo spełniających zadaną wartość progu jasności. Woksele przedstawiające otoczenie nie są brane pod uwagę. Podobna sytuacja


jest dla algorytmu aktywnego konturu, który w niniejszej pracy nie obejmuje obszaru znajdującego się na zewnątrz obrazu mózgu, a jedynie operuje w jego wnętrzu, a zatem woksele otoczenia nie są brane pod uwagę.

Po zanalizowaniu kodu programów stwierdzono, że zarówno algorytm segmentacji przez progowanie jak i algorytm segmentacji na podstawie wykrytych brzegów są algorytmami klasy liniowej O(n). Liniowa złożoność obliczeniowa jest to bardzo wskazaną cechą algorytmów, ponieważ oznacza, iż przy zwiększeniu danych (np. dla innych obrazów MRI - o większych rozmiarach) wydłużenie czasu działania algorytmów będzie przebiegało w sposób liniowy, a dokładnie proporcjonalnie względem zwiększenia danych wejściowych. Tak więc porównanie złożoności obliczeniowej programów wypada korzystnie dla obydwu metod segmentacji.

Rozważając złożoność obliczeniową obydwu metod, można również zastanowić się nad ich prostotą - w dosłownym tego słowa znaczeniu, a więc mówiąc dokładnie łatwością ich realizacji i zrozumienia.

Progowanie jasności, na pierwszy rzut oka, jest metodą mało skomplikowaną, w trakcie realizacji której nie powinno pojawić się zbyt wiele przeszkód, w postaci trudności w realizacji. Należy bowiem określić wartości progowe, według których będzie


dokonywany podział punktów obrazu na obszar tła, istoty szarej i białej. Zastosowanie progu globalnego nie daje jednak, w tym przypadku, oczekiwanych rezultatów, ponieważ


w obrazie występują liczne nierównomierności jasności, których nie dało się do końca usunąć. Powoduje to konieczność zastosowanie progów lokalnych, przypisanych punktom środkowym podobszarów obrazu 3D, będących sześcianami. Na podstawie przypisanych progów jest dokonywana interpolacja dwuliniowa wartości progowych, dla pozostałych punktów obrazu. Największą trudnością w realizacji tej metody segmentacji jest określenie wartości progów lokalnych, na podstawie których są obliczane pozostałe wartości progowe. W tym celu należy wyznaczyć histogram każdego z sześcianów 16 x 16 x 16 (na które został podzielony obraz), a następnie aproksymować go sumą rozkładów Gaussa. W [4] wykorzystano metodę aproksymacji średniokwadratowej [4,12,15], której implementacja programowa jest skomplikowana i czasochłonna [4].


Opracowana w niniejszej pracy metoda segmentacji na podstawie wykrytych brzegów teoretycznie nie jest zbyt skomplikowana. Samo znalezienie gradientu obrazu jest zadaniem bardzo prostym. Nieco trudniejsze w implementacji komputerowej jest natomiast

zawężenie wykrytych brzegów do wokseli o największej jasności gradientu, a także rekonstrukcja krawędzi w obrazie, zaczynając od najjaśniejszego woksela. W przypadku programu dokonującego rekonstrukcji należało stworzyć w nim dwuwymiarową tablicę wektorów (nazwaną „LookUpTable”), zawierających współrzędne wokseli, które mają zostać poddane weryfikacji - czy należą do poszukiwanej krawędzi, czy też nie. W momencie, gdy następuje rozrost krawędzi o coraz to większą ilość wokseli, rozmiar tablicy LookUpTable wzrasta błyskawicznie, spowalniając bardzo szybkość działania programu. W celu pozbycia się tego problemu wprowadzono zerowanie tablicy „LookUpTable” co 50 000 sprawdzonych wokseli.

Najbardziej skomplikowanym elementem opracowanego algorytmu segmentacji jest metoda aktywnego konturu, której konieczność zastosowania pojawiła się w trakcie pisania programu, gdy okazało się, że wykryte w obrazi MRI krawędzie zawierają liczne przerwy, o rozmiarach dochodzących do kilkunastu, a niekiedy kilkudziesięciu wokseli. Metoda aktywnego konturu została opisana w rozdziale 4.2. Jest ona uciążliwa gdyż wymaga podzielenia obrazu trójwymiarowego na poszczególne przekroje. Dodatkowo dla każdego przekroju oddzielnie należy określić współrzędne punktu startowego oraz liczbę iteracji.

Ostatecznym etapem metody segmentacji na podstawie wykrytych brzegów jest wypełnienie obszarów, ograniczonych tymi brzegami. Dokonuje się tego w sposób analogiczny do rekonstrukcji krawędzi.

Porównując obydwa algorytmy segmentacji, badanego obrazu MRI mózgu, pod względem łatwości realizacji i zrozumienia, można zauważyć, że w obu przypadkach występują etapy zarówno proste i zrozumiałe, jak i zagadnienia skomplikowane, trudne w implementacji komputerowej. Dla obu przypadków występuje przetwarzanie wstępne obrazu, polegające w głównej mierze na zastosowaniu filtrów nieliniowych - medianowego i filtru z maską rotacyjną. Nie są to jednak zagadnienia problematyczne.

Najbardziej skomplikowanymi etapami są natomiast: dla segmentacji na podstawie wykrytych brzegów - zastosowanie metody aktywnego konturu, a dla segmentacji przez progowanie jasności - jest to metoda aproksymacji średniokwadratowej, wykorzystana przy opisie histogramu sumą rozkładów Gaussa. Dodatkowo w przypadku segmentacji przez progowanie w [4], w celu poprawienia otrzymanych wyników, zdecydowano się na zastosowanie następujących operacji morfologicznych: erozja, dylatacja, otwieranie


i zamykanie. Morfologia, podobnie jak przetwarzanie wstępne, nie jest zagadnieniem skomplikowanym, trudnym w implementacji komputerowej.

6.3 Dokładność otrzymanych wyników - skuteczność metody

W większości opracowywanych metod przetwarzania obrazów dąży się do tego, aby były one jak najbardziej dokładne. Poprawność i dokładność są parametrami odgrywającymi bardzo ważną rolę w medycynie, a więc w dziedzinie, w której nadrzędnym celem jest dobro i zdrowie pacjenta. Od poprawności otrzymanych wyników często zależy diagnoza lekarza. Na przykład stosując opracowane metody segmentacji obrazów MRI mózgu w celu oszacowania rozmiarów nowotworów, celem nadrzędnym jest, aby ich wynik był zgodny z rzeczywistością.

Chcąc stosować omawiane metody segmentacji w celu monitorowania zmian w ilości komórek nerwowych np. u osób chory na chorobę Alzheimera, podstawowym


wymogiem jest, aby liczba komórek nerwowych, zakwalifikowanych do istoty szarej oraz białej, była jak najbliższa rzeczywistej. W niniejszej pracy, w celu określenia dokładności otrzymanych wyników, porównano określone przekroje obrazu MRI mózgu, z których


wydzielono obszary istoty szarej i białej, z przekrojami obrazu oryginalnego. Porównanie to bazuje na zdolnościach ludzkiego oka w postrzeganiu rzeczywistości, a więc nie jest w stanie dokładnie oszacować objętości poszczególnych obszarów mózgu. Mimo to, można dokonać w ten sposób porównania skuteczności obydwu metod


segmentacji, poprzez wyróżnienie błędnie zinterpretowanych obszarów.



0x01 graphic
0x01 graphic
0x01 graphic


(a) (b) (c)

Rys. 21: Segmentacja przez progowanie jasności przekroju nr 50: (a) obraz oryginalny, (b) istoty biała, (c) istota szara.


0x01 graphic
0x01 graphic
0x01 graphic

(d) (e) (f)

Rys. 22: Segmentacja na podstawie wykrytych brzegów przekroju nr 50: (d) istoty szara i biała przedstawione na jednym obrazie, (e), (f) odpowiednio istoty biała i szara.

Na rys. 21 i 22 widać, że metoda segmentacji przez progowanie jest mało skuteczna w przypadku badanego obrazu mózgu. Wydzielone z obrazu obszary istoty szarej i białej nie są wiernym odzwierciedleniem obszarów na rys 21a. Np. fragmenty istoty szarej znajdujące się w prawym górnym rogu wycinka mózgu nie zostały wykryte.

0x01 graphic
0x01 graphic

(a) (b)

Rys. nr 23: Nieprawidłowa segmentacja przez progowanie obrazu istoty białej - prawy górny róg przekroju nr 50.

W wyniku segmentacji zostały wydzielone jedynie obszary istoty szarej znajdujące się z lewej strony obrazu. Są one jednak bardzo „poszarpane” i nie zachowują ciągłości tak jak na obrazie oryginalnym. Analogiczna sytuacja dotyczy wydzielonego obszaru istoty białej, który w miejscach łączenia się z obszarem istoty szarej, została zaliczona jako jej część.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 24: Nieprawidłowa segmentacja przez progowanie obszaru istoty białej i szarej - fragment przekrój nr 50.

Segmentacja przez progowanie zadziałała najlepiej w przypadku środkowego obszaru istoty białej, który nie jest bardzo „poszarpany” i jest najwierniejszym odzwierciedleniem obrazu oryginalnego.

W przypadku segmentacji na podstawie wykrytych brzegów wynik jej działania jest bardzo zadowalający. Wydzielone obszary istoty szarej i białej, poza małymi wyjątkami, dokładnie odpowiadają rzeczywistości. Błędna segmentacja dotyczy jedynie obszarów zagłębień w powierzchni mózgu, tworzących szczeliny. Na obrazie wynikowym są one często zamknięte przez istotę szarą, która tak naprawdę tam nie występuje. Są to jednak małe błędy dotyczące co najwyżej kilkunastu wokseli co w stosunku do całkowitej liczby ponad osiemnastu milionów, jest niewielkim błędem.

0x01 graphic
0x01 graphic

(a) (b)

Rys. 25: Nieprawidłowa segmentacja na podstawie wykrytych brzegów obszaru istoty szarej - fragment przekrój nr 50.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 26: Segmentacja przez progowanie jasności, przekrój nr 70: (a) obraz oryginalny, (b) istota biała, (c) istota szara.

0x01 graphic
0x01 graphic
0x01 graphic

(d) (e) (f)

Rys. 27: Segmentacja na podstawie wykrytych brzegów, przekrój nr 70: (d) istoty szara i biała przedstawione na jednym obrazie, (e)istota biała, (f) istota szara.

Na rys. 26 i 27 widać ponownie większą dokładność segmentacji na podstawie wykrytych brzegów. Przede wszystkim można zaobserwować wpływ nierównomierności jasności na wynik segmentacji przez progowanie. W centralnej części przekroju nr 70 widać rozjaśniony fragment obszaru istoty białej, który został błędnie zakwalifikowany jako istota szara. Zbliżenie tego fragmentu pokazano na rys. 28.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 28: Nieprawidłowa segmentacja przez progowanie jasności obszaru istoty białej, spowodowana nierównomiernością jasności - fragment przekrój nr 70.

Ponownie widać niewielkie obszary istoty szarej, leżące w prawym górnym


i dolnym rogu przekroju nr 70, które nie zostały wykryte przez progowanie jasności.

W przypadku segmentacji na podstawie wykrytych brzegów, wynik jest ponownie zadowalający. Błędną segmentację można dostrzec w prawym górnym i dolnym rogu obrazu mózgu.

0x01 graphic
0x01 graphic

(a) (b)

0x01 graphic
0x01 graphic

(c) d)

Rys. 29: Nieprawidłowa segmentacja na podstawie wykrytych brzegów obszaru istoty szarej - prawy i dolny róg przekroju nr 70.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 30: Segmentacja przez progowanie, przekrój nr 100: (a) obraz oryginalny, (b)istota biała, (c) istota szara.

0x01 graphic
0x01 graphic
0x01 graphic

(d) (e) (f)

Rys. 31: Segmentacja na podstawie wykrytych brzegów, przekrój nr 100: (d) istoty szara i biała przedstawione na jednym obrazie, (e) istota biała, (f) istota szara.

W przypadku segmentacji przez progowanie jasności jedne z najbardziej dokładnych wyników otrzymano dla przekroju nr 100. Poza nielicznymi błędami (np. „osamotniony” fragment istoty szarej wewnątrz jednolitego obszaru istoty białej) obszar istoty białej został prawidłowo wydzielony z obrazu. Istota szara została wykryta z nieco gorszym rezultatem.


0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

0x01 graphic
0x01 graphic
0x01 graphic

(d) (e) (f)

Rys. 32: Przykłady nieprawidłowej segmentacji przez progowanie jasności obszaru istoty białej dla przekroju nr 100.

Segmentacja na podstawie wykrytych brzegów ponownie dała rezultat bardzo zbliżony do rzeczywistości. Jednak na przekroju nr 100 widać, w niektórych miejscach, iż ostre krawędzie obrazu wycinka mózgu zostały zaokrąglone. Fakt ten można wytłumaczyć zastosowaniem metody aktywnego konturu, który nie jest w stanie idealnie dopasować się do ostrych fragmentów obrazu - jest to cecha aktywnego konturu.

0x01 graphic
0x01 graphic

(a) (b)

0x01 graphic
0x01 graphic

(c) (d)

Rys. nr 33: Przykład zaokrąglania ostrych rogów w obrazie, w wyniku zastosowania metody aktywnego konturu.

Porównanie wyników segmentacji przekroju nr 100, przedstawione na rys. 34 i 35, jest bardzo niekorzystne dla metody progowania jasności.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 34: Segmentacja przez progowanie jasności, przekrój nr 120: (a) obraz oryginalny, (b) istota biała, (c) istota szara.

0x01 graphic
0x01 graphic
0x01 graphic

(d) (f) (g)

Rys. 35: Segmentacja na podstawie wykrytych brzegów, przekrój nr 120: (d) istoty szara i biała przedstawione na jednym obrazie, (e) istota biała, (f) istota szara.

Widać, że wynik segmentacji przez progowanie jasności jest bardzo niedokładny. Szczególnie źle został wydzielony obszar istoty szarej, której kształt w znacznym stopniu odbiega od kształtu w obrazie oryginalnym. W wyniku segmentacji na podstawie wykrytych brzegów otrzymano, w większości prawidłowo, wydzielone obszary istoty szarej i białej.

Przedstawione przekroje obrazu MRI mózgu, przed i po zastosowaniu obydwu metod segmentacji, miały na celu pokazanie ich skuteczności. Na pokazanych obrazach już na pierwszy rzut oka widać, że segmentacja na podstawie wydzielonych brzegów jest dokładniejsza od segmentacji przez progowanie jasności. Zadowalający wynik uzyskano jedynie z wykorzystaniem pierwszej z wymienionych metod. Wydzielone z obrazu mózgu, na podstawie wykrytych brzegów, obszary istoty szarej i białej, są dobrym odzwierciedleniem tych samych obszarów w obrazie oryginalnym. Błędną segmentację można zaobserwować w miejscach, w których łączą się dwa różne płaty tkanki mózgowej. Wynika to z faktu, iż w takich sytuacjach na obrazie gradientowym, uzyskanym po zastosowaniu masek Sobela, następowało uwydatnienie brzegów obszarów, które w skutek znacznej grubości były ze sobą połączone. Zastosowanie zawężania brzegów do największych wartości gradientu nie spowodowano ich rozdzielenia. W takiej sytuacji po wypełnieniu obszarów, ograniczonych wykrytymi krawędziami, w przypadku tkanek położonych blisko siebie następowało ich połączenie.

0x01 graphic

(a) (b) (c)

Rys. 36: Przykład błędnego łączenia obszarów tkanek położonych blisko siebie, na skutek uwydatnienia brzegów obszarów: (a) obraz oryginalny, (b) obraz gradientowy, (c) obraz wynikowy.

Drugim powodem błędnej segmentacji na podstawie wykrytych brzegów, było zastosowanie aktywnego konturu, który dopasowując się do krawędzi tworzących „ostre” zagłębienia powoduje ich zaokrąglenie, zniekształcając tym samym rzeczywisty kształt. Sytuacja taka została przedstawiona na rys. 33.

W przypadku segmentacji przez progowanie jasności, otrzymano obszary istoty szarej i białej, które w znacznym stopniu odbiegały od kształtów tychże obszarów w obrazie oryginalnym. Wydzielone obrazy obu tkanek mózgowych, na wszystkich przedstawionych przekrojach, były często poprzerywane. Wielokrotnie występowały przypadki fragmentów tkanek, które nie były połączone z całością obrazu mózgu, co można zobaczyć na rys. 38. Tak nieprawidłowe wyniki segmentacji są spowodowane nierównomiernością jasności obrazu wejściowego. Zastosowana w tej metodzie segmentacji korekcja nierównomierności jasności, dała niewystarczającą poprawę [4]. Znaczne różnice w jasności treści obrazu, często dotyczyły tego samego


obszaru, np. istoty białej, w skutek czego, w wyniku progowania otrzymano zamiast jednego zwartego obszaru, kilka mniejszych podobszarów. Sytuację tą można szczególnie dobrze zaobserwować w przypadku istoty szarej na przekroju nr 120.

0x01 graphic
0x01 graphic

(a) (b)

Rys. 37: Wpływ nierównomierności jasności na błędny wynik segmentacji przez progowanie jasności dla przekroju nr 120: (a) obraz oryginalny, (b) obraz istoty szarej.

Podsumowując należy stwierdzić, że dla badanego obrazu MRI mózgu, metoda segmentacji na podstawie wykrytych brzegów jest dużo bardziej skuteczna od segmentacji przez progowanie jasności. Mimo, iż wyniki pierwszej z wymienionych metod segmentacji nie były do końca idealne, to jednak jej przewaga w stosunku do progowania jasności jest niepodważalna.

6.4 Uniwersalność porównywanych metod segmentacji - możliwość zastosowania w innych przypadkach

Uniwersalność jest parametrem odgrywającymi bardzo ważną rolę w większości opracowywanych metod. Określa ona zdolność, w tym przypadku zaimplementowanych w postaci programów komputerowych algorytmów segmentacji obrazów, do spełnienia stawianych im wymagań.

Dla każdego programisty jednym z nadrzędnych celów stawianych przy realizacji danego zadania, jest napisanie programów, bądź też opracowanie algorytmów, wykazujących wysoką uniwersalność. To, jak ważną rolę odgrywają te parametry jest ściśle powiązane z przeznaczeniem danej metody. W większości sytuacji dąży się jednak


do tego, aby stworzony algorytm mógł być zastosowany do różnych przypadków, wykazując przy tym porównywalną skuteczność - a zatem musi być uniwersalny.


W celu określenia uniwersalności porównywanych metod, należy rozpatrzyć możliwość ich zastosowania dla innych, trójwymiarowych obrazów MRI. W niniejszej pracy przeprowadzono badania na jednym trójwymiarowym obrazie wycinka mózgu, dlatego określenie ich uniwersalności będzie miało charakter teoretyczny. W tym celu zostaną wykorzystane wyniki, jakie otrzymano dla badanego obrazu.

Segmentacja przez progowanie jasności jest metodą, która daje najlepsze wyniki w przypadku obrazów zawierających obiekty o wyraźnych różnicach w poziomach jasności. Dla obrazów spełniających ten warunek, wystarczy określić wartość progu globalnego, która dzieli woksele na dwie grupy. Niestety badany obraz mózgu, podobnie jak większość obrazów MRI nie spełnia tego warunku, gdyż różnice w poziomach jasności poszczególnych obszarów nie są na tyle wyraźne, aby można było zastosować progowanie globalne. Dodatkowo dochodzi problem nierównomierności jasności, która często powstaje w momencie akwizycji obrazu np. w wyniku poruszenia się badanego obiektu. Ten problem jest wyraźnie widoczny na obrazie MRI, badanym w niniejszej pracy. Nierównomierność jasnosci jest miejscami na tyle duża, że niektóre woksele należące do istoty białej mają poziom szarości porównywalny z jasnością wokseli istoty szarej. Nieznaczny kontrast pomiędzy poziomami szarości reprezentujących poszukiwane obszary oraz nierównomierność jasności analizowanej sceny, są podstawowymi problemami, jakie utrudniły segmentację przez progowanie. Zastosowanie korekcji nierównomierności jasności oraz progu lokalnego, w znacznym stopniu poprawiły wynik segmentacji obrazu mózgu [4], jednak wydzielone obszary istoty szarej i białej są w dalszym ciągu dalekie od ideału.

Wymienione wyżej problemy są charakterystyczne dla obrazów MRI, które są obrazami monochromatycznymi o nieznacznych różnicach w poziomach szarości,


reprezentujących poszczególne tkanki. Z tego powodu określając możliwość zastosowania metody segmentacji poprzez progowanie jasności, do innych obrazów MRI, należy wziąć pod uwagę powyższe czynniki oraz konieczność ich wyeliminowania. Czasami jednak nierównomierność jasności jest na tyle duża, że progowanie jest metodą nieskuteczną. Tak więc uniwersalność segmentacji przez progowanie, w przypadku trójwymiarowych obrazów MRI jest w znacznym stopniu ograniczona.

W przypadku segmentacji na podstawie wykrytych brzegów, można napotkać podobne problemy. Jak sama nazwa wskazuje, ta metoda segmentacji bazuje na wykrytych w obrazie brzegach obszarów. W niniejszej pracy brzegi uzyskano przez zastosowanie trójwymiarowych masek Sobela, które uwydatniają nagłe zmiany jasności w poszczególnych kierunkach. Wykryty brzeg jest tym jaśniejszy, im większa jest różnica poziomów jasności obszarów nim oddzielonych. Na przykładzie badanego obrazu mózgu widać, że nieznaczne różnice jasności nie są tak poważnym problemem jak w przypadku progowania. Znacznie więcej kłopotów może sprawić obecność szumów w obrazie powstałych w procesie akwizycji, które często powodują wykrycie niepożądanych brzegów. Problem ten można częściowo usunąć przez zastosowanie algorytmu „rekonstrukcji” wykrytych brzegów, w którym do woksela o największym poziomie jasności w obrazie, są dołączani kolejni sąsiedzi spełniający zadaną wartość jasności. Algorytm ten można zastosować w sytuacji, gdy brzegi powstałe na skutek obecności szumów mają jasność mniejszą od jasności brzegów właściwych, których się poszukuje. W przeciwnym razie „rekonstrukcja” obejmie również brzegi niepożądane, lub w przypadku zadania zbyt dużej wartości progowej, otrzyma się krawędzie, które w dużej mierze nie zachowują ciągłości. Problem braku ciągłości wykrytych krawędzi jest również spowodowany bezpośrednio przez obecność „fałszywych” brzegów. Tego typu niechciane brzegi, które posiadają poziom jasności zbliżony do jasności brzegów właściwych, w momencie zastosowania algorytmu ich zawężania do największych wartości gradientu, powodują powstanie nieciągłości krawędzi. Sytuacja ta została zaobserwowana na przykładzie badanego obrazu wycinka mózgu. Otrzymane krawędzie, oddzielające istotę szarą i białą, miejscami były pozbawione ciągłości, co uniemożliwiało wypełnienie ograniczonych nimi obszarów.

W celu zapewnienia ciągłości krawędzi, w niniejszej pracy zastosowano metodę aktywnego konturu. Użyty model - baloon - jest w stanie dopasować się do krawędzi, a


tym samym zapewnić im ciągłość, pod warunkiem, że niechciane przerwy nie są zbyt duże.

Należy również zauważyć, że o ile obydwie metody segmentacji dają wyniki o podobnej dokładności (w obrębie tej samej metody) dla wewnętrznych przekrojów obrazu to, dla przekrojów skrajnych wyniki te są znacznie gorsze. Taka sytuacja jest spowodowana tym, że dla skrajnych przekrojów mózgu granice pomiędzy istotą szarą a


białą są niewyraźne, natomiast w miarę przemieszczania się w głąb tkanki mózgowej zwiększa się kontrast pomiędzy jasnościami obydwu obszarów mózgu. Sytuacja ta została przedstawiona na rys. 38 i 39.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 38: Segmentacja przekroju nr 7: (a) obraz oryginalny, (b) segmentacja przez progowanie jasności, (c) segmentacja na podstawie wykrytych brzegów.

0x01 graphic
0x01 graphic
0x01 graphic

(a) (b) (c)

Rys. 39: Segmentacja przekroju nr 12: (a) obraz oryginalny, (b) segmentacja przez progowanie jasności, (c) segmentacja na podstawie wykrytych brzegów.

Wynik otrzymany dla przekroju nr 7 jest diametralnie różny dla obydwu metod. Segmentacja przez progowanie jasności zakwalifikowała obraz tkanki jako istotę białą, natomiast w przypadku segmentacji na podstawie wykrytych brzegów, dla przekroju nr 7, została wykryta jedynie istota szara. Stało się tak, ponieważ nie został wykryty brzeg


oddzielający istotę szarą od białej, a jedynie brzeg rozgraniczający obszar mózgu i otoczenia, w wyniku czego otrzymano jedynie istotę szarą.

W przypadku przekroju nr 12 segmentacja na podstawie wykrytych brzegów wydzieliła obszary obydwu tkanek mózgowych, jednak wynik ten jest dużo mniej dokładny od wyników otrzymanych dla przekrojów ze środka obrazu. Znacznie gorzej wypadła druga metoda segmentacji, w wyniku której otrzymano jedynie obraz istoty białej.


Powyższe rysunki pokazują, że obydwie metody segmentacji działają znacznie gorzej dla przekrojów przedstawiających skrajne obszary mózgu, natomiast najlepsze wyniki uzyskuje się dla przekrojów przedstawiających obraz tkanek ze środkowej części wycinak mózgu.

Rozpatrując możliwość zastosowania powyższych metod segmentacji w przypadku innych obrazów MRI, należy zauważyć, że wybór jednej z nich jest w znacznym stopniu podyktowany rodzajem i jakością badanego obrazu.

Segmentacja przez progowanie jest bardzo czuła na nierównomierności jasności, co powoduje konieczność zastosowania skutecznych metod ich korekcji. Dodatkowym problemem jest nieznaczny kontrast w poziomach jasności obszarów reprezentujących poszczególne tkanki, co w połączeniu z nierównomiernym oświetleniem, uniemożliwia wybór odpowiedniej wartości progu.

Z kolei segmentacja na podstawie wykrytych brzegów, nie wymaga zastosowania korekcji jasności. Problemem są natomiast różnego rodzaju zakłócenia, skutkujące wykryciem fałszywych brzegów, które powodują utratę ciągłości poszukiwanych krawędzi. Należy zatem poddać obraz wejściowy działaniu odpowiednich filtrów np. medianowego. Na przykładzie niniejszej pracy widać, że niekiedy zakłócenia są na tyle silne, że tradycyjne metody filtracji nie mogą ich usunąć. Powstałe nieciągłości można wówczas usunąć dzięki metodzie aktywnego konturu, jednak jej zastosowanie powoduje znaczny wzrost czasu działania segmentacji oraz konieczność oddzielnego rozpatrywania poszczególnych przekrojów obrazu trójwymiarowego.

Tak więc podstawowym warunkiem jaki musi być spełniony, aby można było zastosować porównywane algorytmy segmentacji jest wysoka jakość obrazu MRI, który nie powinien zawierać znacznych zniekształceń w postaci szumów i nierównomierności jasności, powstałych w momencie akwizycji. Z drugiej strony porównując


otrzymane wyniki można stwierdzić, że segmentacja na podstawie wykrytych brzegów, ma szersze zastosowanie i jest mniej czuła na tego typu wady obrazu wejściowego. Dowodem na to jest badany w niniejszej pracy obraz MRI, który udało się skutecznie posegmentować na podstawie wykrytych krawędzi, natomiast zastosowanie progowania jasności dało bardzo niedokładne wyniki. Fakt ten potwierdza to, że metoda progowania jasności powinna być stosowana do obrazów, o wyraźnych różnicach w poziomach jasności obszarów - wyraźny kontrast, które nie powinny zawierać dużych nierównomierności jasności. Metoda ta może być szczególnie przydatna w sytuacji, gdy obraz wejściowy jest dużych rozmiarów - progowanie jest bowiem znacznie szybsze od segmentacji na podstawie wykrytych brzegów.


7. Podsumowanie

W ostatnich latach nastąpił duży rozwój nauk związanych z przetwarzaniem obrazów, dziedziną, która znalazła zastosowanie również w medycynie. Powstają różne metody analizy obrazów tomografii rezonansu magnetycznego oraz tomografii rentgenowskiej. Promienie Roentgena umożliwiają jednak otrzymywanie obrazów dwuwymiarowych, natomiast dzięki technice MRI powstają także obrazy 3D, w skutek czego można jeszcze dokładniej analizować strukturę ludzkich tkanek i zachodzących w niej zmian (np. redukcji komórek istoty szarej mózgu, charakterystycznej dla choroby Alzheimera). Opracowywane algorytmy analizy tego typu obrazów, mogą być bardzo przydatne w medycynie, np. przy wystawianiu diagnozy przez lekarzy. Jednakże każda metoda ma zarówno wady jak i zalety, dlatego często dokonuje się ich porównywania w celu znalezienia, jeśli to możliwe, metody optymalnej.

W pracy [4] została stworzona metoda segmentacji przez progowanie jasności, trójwymiarowych obrazów MRI mózgu człowieka. Jest to metoda szybka, aczkolwiek wyniki uzyskane przy jej użyciu są niedokładne i w znacznym stopniu odbiegają od danych rzeczywistych. Z tego powodu celem niniejszej pracy było napisanie algorytmu segmentacji obrazu MRI mózgu, który bazuje na wykrytych brzegach. Następnie obydwa algorytmy segmentacji zostały porównane, w celu wydzielenia zalet jednej i drugiej metody oraz określenia ewentualnych możliwości zastosowania.

Obraz 3D został poddany najpierw przetwarzaniu wstępnemu, w skład którego wchodziła filtracja medianowa oraz półprogowanie. Zastosowanie filtru medianowego, spowodowało usunięcie lokalnych zniekształceń i zakłóceń w treści obrazu, powstałych w trakcie jego akwizycji, przy nieznacznym zniekształceniu konturów obiektów (filtr medianowy powoduje zaokrąglanie rogów obiektów). Dzięki półprogowaniu uzyskano wydzielony z całości obrazu obszaru mózgu, który jest przedmiotem segmentacji.

Kolejnym etapem po przetwarzaniu wstępnym było zastosowanie trójwymiarowych masek Sobela, dzięki którym otrzymano trzy składowe gradientu w kierunkach x, y, z, a następnie obraz gradientowy, uwydatniający brzegi istoty szarej i białej. Wydzielone z obrazu brzegi mają jednak grubość kilkunastu wokseli, dlatego nie można wypełnić obszarów nimi ograniczonych, ponieważ wynik segmentacji byłby niedokładny. Aby rozwiązać ten problem zdecydowano się na zastosowanie algorytmu zawężania wykrytych brzegów do wokseli o największych wartościach gradientu. Algorytm ten zakłada


porównywanie wartości jasności wokseli w kierunku brzegu oraz wybór najjaśniejszego z nich. Problemem było tutaj wyznaczenie kierunku brzegu dla każdego woksela. Wykorzystano do tego rachunek wektorowy, a dokładnie własność iloczynu skalarnego, mówiącą o tym, że im dwa wektory są do siebie bardziej równoległe, tym moduł ich iloczynu skalarnego jest większy. W tym celu zdefiniowano 26 wektorów wzorcowych, reprezentujących trzynaście możliwych kierunków brzegu. Następnie obliczono iloczyny skalarne tych wektorów z wektorem gradientu (każdego woksela) i za kierunek brzegu, dla danego woksela, przyjęto kierunek tego wektora wzorcowego, dla którego moduł iloczynu skalarnego był największy.

W ten sposób na podstawie brzegów, oddzielających istotę szarą od białej oraz całość mózgu od otoczenia, otrzymano krawędzie tych obszarów. Dodatkowo w obrazie wykryto jednak krawędzie niepożądane, powstałe na skutek obecności szumów, których nie usunęła całkowicie filtracja medianowa. W celu pozbycia się tych niechcianych krawędzi, które mogą uniemożliwić dalszą segmentację, zastosowano algorytm rekonstrukcji krawędzi, zaczynając od woksela o największym poziomie jasności. W ten sposób skutecznie pozbyto się niechcianych krawędzi, a pozostawiono jedynie te oddzielające obszary obydwu tkanek oraz mózg od otoczenia. Warunkiem przeprowadzenia skutecznej segmentacji jest jednak ciągłość tych krawędzi, aby możliwe było wypełnienie obszarów nimi ograniczonych. Niestety uzyskane krawędzie posiadały lokalne przerwy, dochodzące czasami do kilkunastu wokseli. „Dziury” te powstały w czasie procesu zawężania brzegów, a spowodowane były najprawdopodobniej obecnością dodatkowych krawędzi, pochodzących od lokalnych zniekształceń - szumów. Znaczne rozmiary tych nieciągłości uniemożliwiły zastosowanie typowych algorytmów zapewniania ciągłości krawędziom. Z tego powodu zdecydowano się na zastosowanie metody aktywnego konturu, która wprawdzie wydłuża czas działania procesu segmentacji oraz powoduje konieczność podziału obrazu 3D na poszczególne przekroje, ale z drugiej strony zapewnia ciągłość krawędzi. Jest to metoda uciążliwa, ponieważ wymaga ustawiania współrzędnych punktu startowego oraz liczby iteracji dla każdego przekroju oddzielnie, w zależności od kształtu, rozmiaru i położenia poszukiwanego obiektu. Aktywny kontur ma jeszcze jedną wadę - powoduje zaokrąglenie ostrych rogów, ponieważ nie jest on w stanie idealnie dopasować się do krawędzi w tego typu miejscach. Wynika to


z faktu, iż stanowi on krzywą, która składa się z odcinków połączonych punktami węzłowymi.

Dzięki zastosowaniu metody aktywnego konturu otrzymano ciągłe krawędzie, oddzielające obraz mózgu od otoczenia oraz istotę szarą od białej, dzięki czemu można było przeprowadzić wypełnianie tych obszarów. Algorytm wypełniania polegał na dołączaniu do wybranego piksela, znajdującego się wewnątrz danego obszaru, kolejnych pikseli sąsiednich do momentu, gdy wszystkie punkty obrazu, znajdujące się wewnątrz obszaru ograniczonego krawędzią zostały dołączone. W ten prosty sposób dokonano wydzielenia z obrazu poszukiwanych obszarów mózgu.

Kolejnym etapem pracy było porównanie obydwu metod segmentacji zastosowanych do tego samego obrazu MRI. Segmentacja przez progowanie była znacznie szybsza od segmentacji na podstawie wykrytych brzegów. Progowanie jasności samo w sobie jest procesem bardzo szybkim. Z drugiej strony bardzo ważnym jest fakt, że metoda ta opracowana została w programie C++, w którym możliwe było zastosowanie typu „unsigned char” wykorzystującego jeden bajt do zapisy danej jasności. Natomiast segmentacja na podstawie wykrytych brzegów został napisana w MATLABIE, w którym jasności wokseli zapisano przy użyciu formatu „double” operującego na ośmiu bajtach. Powoduje to znaczną różnicę w ilości pamięci operacyjnej potrzebnej do zapisania obrazu zawierającego 18609625 wokseli. Wykorzystanie dwóch różnych języków programowania pociąga za sobą kolejną przyczynę znacznej różnicy pomiędzy czasami wykonania obu metod. Mianowicie C++ jest językiem kompilowanym, a MATLAB interpretowanym. Dodatkowo segmentacja na podstawie wykrytych brzegów została w znaczny sposób spowolniona przez zastosowanie metody aktywnego konturu, a co za tym idzie konieczności rozpatrywania poszczególnych przekrojów obrazu 3D. W efekcie segmentacja przez progowanie wykonała się 174 razy szybciej od opracowanej metody na podstawie wykrytych brzegów.

Kolejny etap porównania dotyczył złożoności obliczeniowej algorytmów segmentacji. Przeprowadzona analiza kodu programów wykazała, że obydwa algorytmy są klasy liniowej, co jest dużym plusem tych metod, gdyż z reguły do zapisu trójwymiarowych obrazów MRI potrzebna jest duża ilość pamięci operacyjnej (w niniejszej pracy wykorzystano jedynie obraz wycinka mózgu). Klasa algorytmu opisuje zależność pomiędzy rozmiarem danych, a czasem działania programu. Liniowa klasa


świadczy o tym, że czasy działania obydwu metod segmentacji będą wzrastały liniowo w stosunku do rozmiaru danych.

W niniejszej pracy porównano także skuteczność obu metod (zgodność wyników z rzeczywistością). Pod względem poprawności otrzymanych wyników zdecydowanie dominuje segmentacja na podstawie wykrytych brzegów. Uzyskane przy jej zastosowaniu


obszary istoty szarej i białej, są dokładnym odzwierciedleniem obszarów treści obrazu oryginalnego. Niewielkie błędy pojawiają się w miejscach, gdzie istota biała „wcina” się w istotę szarą. W tego typu sytuacjach aktywny kontur, nie był w stanie idealnie dopasować się do poszukiwanych krawędzi i powodował zaokrąglenie ostrych wgłębień, w wyniku czego następowało zafałszowanie informacji o rzeczywistym przebiegu krawędzi.

W przypadku segmentacji przez progowanie jasności poważnym problemem była występująca w obrazie nierównomierność jasności, powstała w momencie jego akwizycji. Niestety tego typu wady są nieuniknione w przypadku techniki MRI, co powoduje konieczność zastosowania korekcji nierównomierności jasności. Zastosowana w pracy [4] metoda korekcji bazuje na modelu dwuwymiarowym [4]. Uzyskane przy jej użyciu wyniki nie są w pełni zadowalające, gdyż znaczne wahania jasności nie zostały do końca usunięte. Spowodowało to konieczność zastosowania progowania lokalnego, w którym wartość progu w danym punkcie zależy zarówno od treści obrazu, jak i od średniej jasności w jego otoczeniu. Mimo zastosowanego progowania lokalnego oraz korekcji nierównomierności jasności uzyskane wyniki w znacznym stopniu są błędne. Niejednokrotnie widać niewłaściwe zakwalifikowanie zarówno obszaru istoty szarej jak i białej, które często są pozbawione ciągłości i nie odpowiadają obrazowi rzeczywistemu. Dodatkowo zastosowane operacje morfologiczne, z jednej strony poprawiły „poszarpane” kontury obrazów tkanek, ale z drugiej spowodowały zafałszowanie informacji o rozmiarach i kształcie poszczególnych obszarów.

Ostatni etap porównania dotyczył możliwości zastosowania każdej z metod w przypadku innych obrazów MRI. Rozpatrując niezawodność algorytmów segmentacji należy wziąć pod uwagę jakość obrazów wejściowych. Jak już wcześniej wspomniano segmentacja przez progowanie jest bardzo czuła na zmiany jasności, wobec czego powinna być stosowana do obrazów o wyraźnych różnicach w poziomach szarości, a przede wszystkim pozbawionych dużych nierównomierności jasności. Z kolei segmentacja na podstawie wykrytych brzegów jest mniej czuła na tego typu cechy obrazu, jednak jest


znacznie wolniejsza, w skutek czego należałoby stosować ją do obrazów o nieznacznych rozmiarach.

Przeprowadzone w niniejszej pracy porównanie otrzymanych wyników, opierało się na zdolnościach ludzkiego oka w postrzeganiu rzeczywistości, a więc nie można jednoznacznie określić jak dokładna jest każda z metod. Zastosowanie procedury


zliczającej ilość wokseli należących do istoty szarej białej nie miałoby tutaj większego sensu, gdyż nie ma punktu odniesienia, w postaci informacji o rzeczywistej liczbie wokseli należących do obu tkanek mózgowych. W tej sytuacji możliwość wykorzystania, przede wszystkim segmentacji na podstawie wykrytych brzegów (z uwagi na jej większą dokładność) w medycynie podlega wątpliwości. Należałoby zastosować tą metodę w przypadku innych obrazów MRI i zweryfikować wyniki ze stanem rzeczywistym, poprzez porównanie ilości wokseli obszarów w obrazie wyjściowym i oryginalnym. W ten sposób można by było dokładnie określić skuteczność metody.

Podsumowując można stwierdzić, że opracowana metoda segmentacji na podstawie wykrytych brzegów wymaga niewątpliwie udoskonalenia w pewnych kwestiach. Być może zastosowanie bardziej skutecznych metod filtracji, w przypadku badanego obrazu, umożliwiłoby wystarczające usuniecie szumów, a co za tym idzie otrzymanie ciągłych krawędzi, ograniczających obszary istoty szarej i białej. W takiej sytuacji można by było zaniechać zastosowania aktywnego konturu i zastosować wypełnianie obszarów dla całego obrazu 3D, co znacznie uprościłoby i przyspieszyło proces segmentacji. Podobne wnioski można wyciągnąć w przypadku segmentacji przez progowanie jasności, dla której zastosowanie skutecznej metody korekcji nierównomierności jasności mogło w znacznym stopniu poprawić otrzymane wyniki.

Porównane w niniejszej pracy metody segmentacji trójwymiarowych obrazów MRI są kolejnym przykładem zastosowania techniki przetwarzania obrazów w medycynie. Opracowany algorytm segmentacji na podstawie wykrytych brzegów pokazuje jak skutecznie można wydzielić z trójwymiarowego obrazu interesujące obszary. Ma to duże znaczenie w ukazaniu możliwości tkwiących w połączeniu techniki MRI, z wiedzą na temat analizy obrazów. Zastosowanie przetwarzania obrazów w medycynie jest zjawiskiem stosunkowo młodym, dlatego wciąż prowadzone są intensywne badania na ten temat, które być może wkrótce umożliwią ratowanie ludzkiego życia.

Spis literatury

[1] T. Smith „ The human body, an illustrated guide to its structure, functions and disorders”, Dorling Kindersley Limited, 1995.

[2] Rezonans magnetyczny, http://www.zdrowie.med.pl/bad_obraz/rezonans, 2003.

[3] Obrazowanie struktury i czynności narządów wewnętrznych, http://www.bioenergomagneto.republika.pl/diagnostyka_medyczna, 2003.

[4] Rafał Makówka, „Rekonstrukcja powierzchni mózgu na podstawie obrazów tomograficznych rezonansu magnetycznego”, Łódź 2003, Instytut Elektroniki PŁ

[5] Jak schizofrenia niszczy mózg pacjentów,

http://www.loni.ucla.edu/~thompson/MEDIA/PNAS/adoz_pl, 2003

[6] P. Strumiłło, M. Strzelecki, „Materiały do wykładów Przetwarzanie obrazów”, http://www.eletel.p.lodz.pl, Łódź 2003.

[7] T. Pavlidis, „Grafika i przetwarzanie obrazów”, Wydawnictwa Naukowo-Techniczne, 1987.

[8] R. C. Gonzalez, „Digital Image Processing”, Addison-Wesley Publishing Company, 1992.

[9] M. Sonka, V. Hlavac, R. Boyle, „Image processing, analysis and machine vision”, Chapman & Hall computing, 1994.

[10] Image Processing Toolbox for use with Matlab. User's Guide. The MathWorks Inc., 1995.

[11] M. J. Wasilewski, K. Lisiecki, „ Elementy algebry i geometrii analitycznej”, Liwa s. c., 1997.

[12] Z. Fortuna, B. Macukow, J. Wąsowski, „Metody numeryczne”, Wydawnictwa Naukowo - Techniczne, 1995.

[13] P. M. Szczypiński, „Modele deformowalne do ilościowej analizy i rozpoznawania obiektów w obrazach cyfrowych”, 2000, rozprawa doktorska.

[14] P. M. Szczypiński, P. Strumiłło, „Application of an Active Contour Model for Extraction of Fuzzy and Broken Image Edges”, Łódź 1995, Instytut Elektroniki PŁ.

[15] W. H. Press, S. A. Teukolsky, W. T. Vetterling, B. P. Flannery, „Numerical recipes
in C”
, Cambridge University Press, 1997.

[16] Gradient vector flow, http://iacl.ece.jhu.edu/projects/gvf/, 2004

[17] P. Wróblewski, „Algorytmy, struktury danych i techniki programowania”, Wydawnictwo Helion, 1997.

[18] L. Banachowski, K. Diks, W. Rytter, „Algorytmy i struktury danych”, Wydawnictwo Naukowo-Techniczne, 1999.

[19] N. Wirth, „Algorytmy + struktury danych = programy”, Wydawnictwa Naukowo- Techniczne, Warszawa 2000.





Tomasz Kowalski 81

Porównanie metod analizy trójwymiarowych obrazów tomograficznych rezonansu magnetycznego

0x01 graphic



Wyszukiwarka

Podobne podstrony:
Praca dyplomowa - Medycyna - Kręgosłup(3), PRACA MAGISTERSKA INŻYNIERSKA DYPLOMOWA !!! PRACE !!!!!!
Praca MEDYCYNA NIEKONWENCJONALNA, PRACA MAGISTERSKA INŻYNIERSKA DYPLOMOWA !!! PRACE !!!!!!
Praca Magisterska Socjologia MEDYCYNA NIEKONWENCJONALNA, PRACA MAGISTERSKA INŻYNIERSKA DYPLOMOWA !!!
Praca Magisterska Socjologia MEDYCYNA NIEKONWENCJONALNA(1), PRACA MAGISTERSKA INŻYNIERSKA DYPLOMOWA
praca magisterska Akty kończące ogólne postępowanie administracyjne
praca-magisterska-a11406, Dokumenty(2)
praca-magisterska-a11222, Dokumenty(2)
praca-magisterska-6811, Dokumenty(8)
praca-magisterska-a11186, Dokumenty(2)
praca-magisterska-7383, Dokumenty(2)
Metody treningowe, Mikołaj praca magisterska
praca-magisterska-a11473, Dokumenty(2)
praca-magisterska-6699, Dokumenty(8)
praca-magisterska-7444, Dokumenty(2)
praca-magisterska-6435, Dokumenty(8)
praca-magisterska-wa-c-7459, Dokumenty(2)
praca-magisterska-wa-c-7525, Dokumenty(2)

więcej podobnych podstron