Diagnoza zapalenia płuc na podstawie skanu rentgenowskiego
Współautor: Daniel Tarnawski
Cele projektu:
- Implementacja i porównanie metod diagnozy zapalenia płuc na podstawie zdjęcia rentgenowskiego
- Implementacja aplikacji do diagnozy zapalenia płuc na podstawie wybranego zdjęcia rentgenowskiego
Wymagania: Python 3.7 + numpy, opencv, scikit-image, scikit-learn, joblib, mahotas, tensorflow-gpu
-
Możliwość porównania trzech metod wykrywania zapalenia płuc(macierz współwystąpień + sieć MLP, momenty Zernikego + sieć MLP oraz sieć konwolucyjna).
-
Możliwość diagnozy zapalenia płuc na podstawie wybranego zdjęcia rentgenowskiego.
Dokładność metod badana na zbiorze testowym:
- Momenty Zernikego + sieć MLP - 81%
- Macierz współwystąpień + sieć MLP - 50%
- Sieć konwolucyjna - 85%
Druga metoda osiągnęła bardzo niską dokładność(wszystkie zdjęcia zostały zakwalifikowane do jednej kategorii). Możliwą przyczyną tego są błędy w algorytmie lub zły model sieci neuronowej.
Po uruchomieniu aplikacji interfejs użytkownika wygląda następująco:
Po kliknięciu przycisku Wczytaj i wybraniu pliku ze zdjęciem w oknie pojawia się wybrane zdjęcie.
Po kliknięciu przycisku Zbadaj otrzymano wynik diagnozy.
- Pobierz dane ze strony https://www.kaggle.com/paultimothymooney/chest-xray-pneumonia i wypakuj je do folderu chest-xray-pneumonia.
- Uruchom polecenie python macierz.py, aby przetestować działanie metody stosującej macierz współwystąpień i sieć MLP.
- Uruchom polecenie python zernik.py, aby przetestować działanie metody stosującej momenty Zernikego i sieć MLP.
- Uruchom polecenie python diagnozaTensorflow.py, aby przetestować działanie metody stosującej konwolucyjną sieć neuronową oraz wytrenować model używany przez program diagnozaTensorflowGUI.py.
- Uruchom polecenie python diagnozaTensorflow.py, aby uzyskać prawdopodobieństwo zapalenia płuc na podstawie wybranego zdjącia rentgenowskiego.
- refaktoryzacja kodu
- poszukanie ewentualnego błędu w drugiej metodzie
- udoskonalenie interfejsu użytkownika
- dokumentacja