Решение задачи "Разработка инструмента оценки качества работы алгоритмов разметки медицинских изображений" хакатона "Лидеры Цифровой Трансформации" команды trying to pretend.
- Папка model: код решения и пример использования.
evaluator.py
модуль с обученной моделью.example.ipynb
: пример использования модуляevaluator.py
для оценки разметки датасета.clean-solution.ipynb
финальное обучение модели и сохранение файлов.solution.ipynb
код и описание методов, применённых в процессе поиска лучшей модели и подбора гиперпараметров, содержит также не вошедшие в финальную версию, но потенциально полезные идеи.- папка metrics: реализация метрик для сравнения двух изображений.
- Папка application: клиент с графическим интерфейсом.
- Python 3 + библиотеки numpy, pandas, scikit-learn
- PyQt
Создание объекта модели: model = Evaluator()
.
Обучение модели: model.fit(predicted, expert)
, где predicted
-- оцениваемая разметка, expert
-- правильная разметка, ожидаемые тип данных: np.ndarray
.
Получение значения метрик для всех объектов выборки: model.evaluate()
.
Для поиска различий между автоматической и экспертной разметками применяются метрики:
- Standard surface distance
- Symmetric surface distance
- Volume overlap error
- Relative volume difference
- Dice coefficient
- Метрика Хаусдорфа
и их модификации.
Алгоритм оценки разметки:
- Составление признаков из расстояний между разметкой эксперта и оцениваемой разметкой, заполнение возникших из-за возможного деления на 0 признаков
-1
или0
в случае отсутствия разметки. - Применение StandardScaler
- Получение оценки как взвешенного среднего по результату работы случайного леса, SVC с rbf ядром и логистической регрессии.
- SergioVera, DeboraGil и др. “Medial structure generation for registration of anatomical structures”, Skeletonization, Chapter 11 (2017)
- Ramprasaath R. Selvaraju и др. “Grad-CAM: Visual Explanations from Deep Networks via Gradient-based Localization”, IEEE (2017).
- R. Padilla, S. L. Netto и E. A. B. da Silva, "A Survey on Performance Metrics for Object-Detection Algorithms", IWSSIP (2020) Dinu Dragan, и Dragan Vojo Ivetic, “Region Marking Software Tool for Medical Images”, eTELEMED (2012)
- Реализация метрик https://github.com/deepmind/surface-distance