Lista przedmiotów z materiałami udostępnionymi dla studentów

Dla_studentów
  • Increase font size
  • Default font size
  • Decrease font size

Agnieszka Grotek

Program do analizy tekstury obrazów biomedycznych z wykorzystaniem algorytmów uczenia maszynowego


Program for texture analysis of biomedical images with the use of machine learning algorithms


Opiekun pracy dyplomowej: prof. dr hab. inż. Andrzej Materka
Dodatkowy opiekun pracy dyplomowej: dr inż. Marek Kociński

Praca dyplomowa inżynierska obroniona 2018-03-15
Streszczenie pracy dyplomowej:
Celem niniejszej pracy było napisanie programu służącego do klasyfikacji obrazów biomedycznych na podstawie parametrów tekstury. Zakres badań obejmował ocenę działania algorytmów w postaci sztucznej sieci neuronowej oraz tzw. maszyny wektorów nośnych. Analiza tekstury jest bardzo przydatna podczas rozpoznawania zmian chorobowych, ponieważ ich budowa jest odmienna od zdrowych tkanek. Analiza ilościowa może dostarczyć znacznie więcej przydatnych informacji niż ocena jakościowa. Sztuczne sieci neuronowe mogą służyć jako bardzo skuteczne i precyzyjne klasyfikatory, które można doskonalić, stąd idea zastosowania algorytmów uczenia maszynowego do stworzenia klasyfikatora danych na podstawie parametrów tekstury. Analizę przeprowadzono dla dwóch zestawów obrazów wykonanych tomografem rezonansu magnetycznego: mózgu w sekwencji SWI oraz wątroby. Analiza tekstury miała pozwolić na odróżnienie guza od zdrowych fragmentów mózgu oraz zwłókniałej i zdrowej tkanki wątroby. Pierwszym etapem było przygotowanie danych do analizy, tj. konwersja obrazów typu DICOM do formatu .bmp. za pomocą kodu napisanego w języku Python. Następnie w programie MaZda zaznaczono obszary zainteresowania i za pomocą testu Fishera wybrano cechy tekstury najlepiej dyskryminujące dwie klasy: tkankę zdrową i ze zmianami chorobowymi oraz zapisano ich wartości w plikach tekstowych. Kolejną częścią było zaimplementowanie algorytmu w języku Python w środowisku Spyder adaptacyjnego neuronu liniowego oraz maszyny wektorów nośnych, wykorzystując odpowiednie funkcje z biblioteki scikit-learn. Jako dane wejściowe wykorzystano pliki z parametrami tekstury z przypisanymi etykietami klas. W przypadku obrazów wątroby, gdzie dane w przestrzeni cech tworzyły skupiska zgodnie z klasami, oba klasyfikatory poprawnie postawiły granicę decyzyjną. Jednak znacznie lepszym klasyfikatorem okazał się drugi model, w którym granica decyzyjna była lepiej dopasowana, a sam algorytm miał ponad 80% skuteczności przy ustawieniu optymalnych parametrów dla obrazów mózgu, które w przestrzeni cech nie tworzyły skupisk. Skuteczność, dokładność i precyzję oceniono na podstawie macierzy pomyłek i parametrów obliczonych za pomocą odpowiednich funkcji ze wspomnianej wcześniej biblioteki. Słowa kluczowe: analiza tekstury, klasyfikacja danych, sieci neuronowe, MaZda
Abstract:
The aim of this thesis was to write a program for texture analysis of biomedical images with the use of machine learning algorithm. The scope of the research included the evaluation of algorithms in the form of artificial neural network and the supporting vector machines. Texture analysis is very useful when recognizing lesions, because their texture is different from healthy tissues. Quantitative analysis can provide much more useful information than quality assessment. Artificial neural networks can serve as very effective and precise classifiers that can be improved, and this is the reason for the concept of using machine learning algorithms to create a data classifier based on texture parameters. The analysis was carried out for two sets of images made with a magnetic resonance tomography scanner: brain in the SWI sequence and liver. Texture analysis was to allow the tumor to be distinguished from the healthy parts of the brain and fibrotic and healthy liver tissue. The first stage was the preparation of data for analysis. DICOM images have been converted to .bmp format. using a written code in Python. Then, regions of interest were marked in the MaZda program and with the Fisher test, texture features that discriminated best against two classes were selected: healthy tissue and lesions, and their values were saved in text files. The next part was the implementation of the algorithm in Python in the Spyder environment, of adaptive linear neuron and supporting vector machines, using appropriate functions from the scikit-learn library. Input files with texture parameters with assigned class labels were used as inputs. In the case of liver images, where the data in the space of features formed clusters according to the classes, both classifiers correctly set the decision limit. However, a much better classifier turned out to be the second model, in which the decision boundary was better matched, and the algorithm itself had over 80% efficiency when setting optimal parameters for brain images that did not form clusters in the space of features. Efficiency, accuracy and precision were assessed on the basis of a confusion matrix and parameters calculated using the corresponding functions from the scikit-learn library. Keywords: texture analysis, image classification, machine learning, MaZda