4.4 KiB
4.4 KiB
Задачи для следующей сессии
Сравнение текущей реализации с требованиями
✅ РЕАЛИЗОВАНО
| Требование | Статус | Файл |
|---|---|---|
| Бинарная классификация OK/Нарушение | ✅ Готово | src/dxa/model.py |
| Определение анатомической области | ✅ Готово | src/dxa/inference.py |
| Экспорт в XLSX/CSV | ✅ Готово | src/main.py /api/v1/export |
| API для пакетной обработки | ✅ Готово | src/main.py /api/v1/batch |
| Docker контейнеризация | ✅ Готово | Dockerfile |
| Web-интерфейс | ✅ Готово | src/api/static/ |
| Определение типа нарушения | ✅ Частично | src/quality/detailed_assessment.py |
| Детальные метрики качества | ✅ Готово | src/quality/detailed_assessment.py |
| Проверка движения (motion) | ✅ Готово | detect_motion_blur() |
| Проверка артефактов | ✅ Готово | detect_artifacts() |
| DICOM SR формат | ✅ Готово | /api/v1/analyze/sr |
| Визуализация маски | ✅ Готово | include_visualization=true |
Мультимодельная архитектура
См. документацию: docs/multi_model_architecture.md
Pipeline:
1. Region Detector → 2. Segmentator → 3. Quality Classifier → 4. Violation Type → 5. Aggregator
Модели:
| Модель | Назначение | Файл |
|---|---|---|
| Region Detector | Spine/Hip определение | src/models/region_detector.py |
| Segmentator | Сегментация костей | src/models/segmentation/ |
| Quality Classifier | OK/Violation бинарный | src/models/classification/quality.py |
| Violation Classifier | Типы нарушений (7+) | src/models/classification/violation.py |
| Artifact Detector | Детекция артефактов | src/models/artifacts/detector.py |
| Grad-CAM | Heatmap внимания | src/models/visualization/gradcam.py |
ПЛАН РЕАЛИЗАЦИИ
Фаза 1: Архитектура и модели (высокий приоритет)
-
Создать структуру моделей
src/models/- директория для всех моделейsrc/pipeline/- основной пайплайнsrc/training/- скрипты обучения
-
Region Detector
- Переиспользовать текущую логику из inference.py
- Обучить классификатор на 4 класса
-
Segmentation Models
- Spine Segmentator (U-Net)
- Hip Segmentator (U-Net)
-
Quality Classifier (бинарный)
- ResNet18 с attention
- Weighted loss для балансировки
-
Violation Type Classifier (многоклассовый)
- 7 классов для spine
- 7 классов для hip
- Multi-task learning
Фаза 2: Пайплайн и интеграция
-
Pipeline класс
- Объединение всех моделей
- Queue для асинхронной обработки
-
API интеграция
- Обновить endpoints для использования пайплайна
- Batch processing
Фаза 3: Визуализация и метрики
-
Grad-CAM Heatmap
- Извлечение attention карт
- Наложение на изображение
-
Метрики
- ROC-AUC, PR-AUC
- Macro-F1 с доверительными интервалами
Текущие ограничения
- Модель обучена на бинарную классификацию - нужно переобучение
- F1 ~0.27 - низкий из-за дисбаланса классов
- Датасет ~100 исследований - нужно 500+
- Сегментация использует простой threshold - нужно дообучить модель
- Heatmap не реализовано - требует дообучения
ЗАПУСК ДЛЯ ТЕСТИРОВАНИЯ
cd /Users/denis/workspace/bone_2026
python -m uvicorn src.main:app --host 0.0.0.0 --port 8000
Открыть http://localhost:8000