Computer Vision
Wykrywanie malarii z deep learning: CNN, który pomija tylko 3 z 1300 infekcji
27 558 obrazów komórek krwi, dwanaście wariantów modeli, jeden priorytet kliniczny - nie przeoczyć żadnej infekcji. Zwycięski model osiąga 99,77% czułości i mieści się na telefonie przy ok. 724 KB. Capstone MIT, uczciwie policzony, z powtarzalnym repozytorium towarzyszącym.
Malaria wciąż diagnozowana jest tak jak sto lat temu: specjalista ogląda barwiony metodą Giemsy rozmaz krwi pod mikroskopem i komórka po komórce szuka pasożyta. Dokładnie - ale wolno i deficytowo, właśnie tam, gdzie choroba występuje najczęściej. Pytanie tego projektu: czy model deep learning potrafi niezawodnie zaklasyfikować pojedynczą czerwoną krwinkę jako zakażoną lub zdrową - wystarczająco dokładnie do zastosowań klinicznych i wystarczająco mało, by działać offline na smartfonie?
Zbiór danych
Podstawą jest 27 558 mikroskopowych obrazów pojedynczych czerwonych krwinek z publicznego NIH Malaria Cell Image Dataset (Lister Hill National Center for Biomedical Communications, U.S. National Library of Medicine; adnotacje ekspertów z Mahidol-Oxford Tropical Medicine Research Unit w Bangkoku). Klasy są niemal zrównoważone (50,4% zakażone / 49,6% zdrowe). Trenowano na 24 958 obrazach (podział 80/20 na walidację), oceniano na ściśle wydzielonym zbiorze testowym 2600 obrazów - dokładnie 1300 na klasę. Obrazy mają różne rozmiary (mediana ok. 130×130 px) i przeskalowano je do 128×128 (własne CNN) lub 224×224 (VGG16).
Podejście: dwanaście wariantów, jeden priorytet kliniczny
Zamiast jednego modelu zbudowano i porównano dwanaście wariantów architektury - każdy oceniany nie tylko po dokładności, lecz po metrykach istotnych klinicznie: czułości (ile prawdziwych infekcji zostaje wykrytych) i bezwzględnej liczbie pominiętych infekcji. Przeoczona malaria jest znacznie kosztowniejsza niż fałszywy alarm.
Zakres sięgał od lekkich 3-blokowych CNN (Flatten vs. Global Average Pooling), przez głębsze sieci z BatchNorm i LeakyReLU, sieć 5-blokową („Model 2b”), augmentację danych, transfer learning VGG16 (zamrożony i dostrajany dwuetapowo), po studium przestrzeni barw (tylko nasycenie, barwa + nasycenie, pełne HSV). Decyzje modelu uwidoczniono za pomocą GradCAM++.
Wyniki
Na wydzielonym zbiorze testowym (2600 obrazów, 1300 na klasę):
| Model | Dokładność | Czułość | Swoistość | AUC | Pominięte infekcje | Parametry |
|---|---|---|---|---|---|---|
| Model 2b - 5-blokowy CNN (wybrany) | 98,85% | 99,77% | 97,92% | 0,9995 | 3 / 1300 | 724 K |
| HS-Only (barwa + nasycenie) | 98,88% | 99,08% | 98,69% | 0,9991 | 12 / 1300 | 724 K |
| Bazowy CNN (Global Average Pooling) | 98,65% | 99,46% | 97,85% | 0,9991 | 7 / 1300 | 55 K |
| VGG16 (dostrojony) | 97,62% | 98,77% | 96,46% | 0,9977 | 16 / 1300 | 14,7 M |
HS-Only nieznacznie wygrał na samej dokładności (98,88%). Mimo to wybrano Model 2b - ze względu na metrykę istotną klinicznie: 99,77% czułości, tylko 3 pominięte infekcje na 1300 (AUC 0,9995, F1 0,9886). Po kwantyzacji INT8 waży ok. 724 KB - wystarczająco mało do inferencji na urządzeniu.
Co analiza faktycznie pokazuje
- Kompaktowe własne CNN biją transfer learning VGG16. 14,7 mln parametrów na ok. 20 000 obrazach treningowych prowadziło do przeuczenia; różnica domen mikroskopia→ImageNet i skalowanie ze 130 do 224 px kosztowały więcej, niż duży model dawał (98,85% vs. 97,62%).
- Sygnał diagnostyczny tkwi w barwie, nie w jasności. Sama barwa + nasycenie osiągnęły najlepszą dokładność; dodanie kanału Value pogorszyło wynik - dowód, że barwienie Giemsy koduje kontrast chromatycznie.
- Global Average Pooling bije Flatten: −81% parametrów i wyższa czułość.
- Część „błędów" to szum etykiet. GradCAM++ przy fałszywych alarmach pokazał fokalną aktywację nie do odróżnienia od prawdziwych trafień - rzeczywista dokładność prawdopodobnie zbliża się do 99,2%; ogranicza ją jakość adnotacji, nie architektura.
Od modelu do wdrożenia - i czym (jeszcze) nie jest
Przy ok. 724 KB model jest przeznaczony do inferencji offline na smartfonie - jako narzędzie przesiewowe, nie urządzenie diagnostyczne. Trenowano go na jednym publicznym zbiorze (P. falciparum) i przed jakimkolwiek realnym użyciem wymaga zewnętrznej walidacji w wielu ośrodkach oraz eksperckiej weryfikacji przypadków błędnych. Te ograniczenia są częścią wyniku - to różnica między benchmarkiem a bronioną tezą.
Powtarzalność i weryfikacja
Pełny, wykonany kod (EDA, wszystkie dwanaście modeli, interpretowalność) znajduje się w repozytorium towarzyszącym: github.com/myBytesResearch/mit-capstone-gwinger. Projekt powstał jako capstone w MIT Professional Education Applied AI & Data Science Program (weryfikowalny certyfikat).
Podobny problem klasyfikacji obrazów lub computer vision u Ciebie? Porozmawiajmy.