Obrazowanie biomedyczne (1) (1).docx

(152 KB) Pobierz

Obrazowanie biomedyczne

Temat: Ekstrakcja wybranych cech obrazów za pomocą Pythona w celu przygotowania danych do uczenia maszynowego za pomocą H2O

Elżbieta Tchorowska (kierownik projektu)

Karolina Herlender

Mateusz Pawluk

Mateusz Piórko

 

Abstract:

W artykule zostaną podane implementacje miar statystycznych wykorzystanych w procesie wyliczania wybranych cech obrazów na potrzeby zadania klasyfikacji obrazów. Ekstrakcja cech będzie konieczna w procesie tworzenia sztucznej sieci neuronowej służącej do rozpoznawania obrazów. Zostaną wyjaśnione cechy dla zbioru obrazów kolorowych 32x32 piksele. Proces musi składać się z konwersji obrazu kolorowego na obraz w skali szarości, a następnie wybrane cechy obrazów powinny zostać wyliczone za pomocą środowiska Python. Wszystkie dane zostaną przekazane na wejście sieci neuronowej w celu nauczenia jej odpowiedniej klasyfikacji. Do zadania zostanie wykorzystana sieć neuronowa.

 

Wprowadzenie:

Zbiór danych jest zbiorem zdjęć kolorowych o wymiarach 32x32 piksele. Zbiór zawiera 50 tysięcy zdjęć. Obrazy są podzielone na 10 klas:

    1. Samolot
    2. Samochód osobowy
    3. Ptak
    4. Kot
    5. Jeleń
    6. Pies
    7. Żaba
    8. Koń
    9. Statek
    10. Ciężarówka

 

Przykładowy obraz:



 

 

Jak widać, obraz jest bardzo mały, stąd nie można użyć jakichkolwiek ręcznych metod analizy. Wszystko musi zostać zrobione automatycznie.

Preprocessing danych

Sieć neuronowa przyjmie na wejście dwa pliki csv, które zawierają 32 cechy w kolumnach dla wszystkich obrazów oraz etykiety klas wskazanych we wprowadzeniu.

W pierwszym kroku, obraz musi zostać zmieniony na obraz w odcieniach szarości. Wykonano to za pomocą funkcji rgb2gray(). Konwersję na odcienie szarości wykorzystuje się z reguły w analizie i klasyfikacji zdjęć, gdyż brak koloru nie zaburza segmentacji obrazów, a także obrazy tego typu są przetwarzane o wiele szybciej.

W kolejnym kroku należy wydobyć cechy obrazu. Zdecydowano się na użycie 33 cech, które zostaną opisane poniżej.

 

 

 

 

 

 

 

 

 

 

Wczytany obraz był podawany na wejście algorytmom mającym na celu wyliczenie cech numerycznych ze wszystkich obrazów. Użyto wbudowanych bibliotek Pythona, takich jak mahotas. Krótki opis wykorzystanych cech poniżej.

Cechy obrazów

 

1.       14 cech Haralicka

 


\ Begin {odstęp} {1} \ begin {longtable} {l \ vert p {3.5in}} kątowa moment bezwładności i $ \ ... ..., k) p (j, k)} {p_x (I) p_y (k)} $ \ space \ tabularnewline \ par \ end {longtable} \ end {odstęp}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


\ Begin {odstęp} {1} \ begin {longtable} {l \ vert p {3.5in}} kątowa moment bezwładności i $ \ ... ..., k) p (j, k)} {p_x (I) p_y (k)} $ \ space \ tabularnewline \ par \ end {longtable} \ end {odstęp}

 

 

 

             

15. odchylenie standardowe / std(pixs, axis=0)/ :

|x2-x2|

 

16. średnia arytmetyczna  / mean(pixs)/ :

a1+a2+…+ann

17. mediana / median(pixs) /:

n+12 lub n2+n2+12

18. mediana absolutnego odchylenia / median(np.abs(pixs - med)) /:

i=1n|zi-x|n

19. wariancja / var(pixs) / :

E|(X-μ)2|

20. wartość minimalna pikseli / min(pixs) /:

min⁡(X)

21. wartość maksymalna pikseli / max(pixs)/:

max⁡(X)

22-24. wartość 25., 50. I 75. kwantyla / percentile(pixs, n) /:

PX-∞,xp≥p  oraz PXxp,∞≥1-p

25. średnia geometryczna / gmean(pixs) / :

na1*a2*…*an

26. kurtoza / kurtosis(pixs) / :

μ4σ4-3

27. skośność / skew(pixs) / :

μ-ds

28. entropia / entropy(pixs) / :

-x*log2p

29. błąd standardowy średnich wartości / sem(pixs) /:

sN

30. środek masy / measurements.center_of_mass(nppixs) / :

kmkrkkmk

31. contrast / contrast(pixs) / :

α(α4)n

32. pierwiastek sum / square_of_sums(pixs)/:

nxi

Budowa sieci neuronowej

 

Posiadając dane umożliwiające uczenie sieci przystąpiono do konstrukcji sieci neuronowej. Zaprojektowany model to perceptron wielowarstwowy uczony pod nadzorem.


../_images/multilayerperceptron_network.png

 

 

 

 

 

 

 

 

 

 

Do wygenerowania sieci i nauczenia jej danych, skorzystano ze środowiska H2O i dostępnego w nim modelu Deep Learning.

Eksperyment przeprowadzono dla kilku funkcji aktywacji, wynik był jednak zawsze podobny:

 

 


airplane

automobile

bird

cat

deer

dog

frog

horse

ship

truck

Error

Rate

airplane

106

4

89

8

323

289

84

9

31

106

0.8990

943 / 1,049

automobile

120

...
Zgłoś jeśli naruszono regulamin