bone_2026/docs/tasks_next_session.md

4.4 KiB
Raw Blame History

Задачи для следующей сессии

Сравнение текущей реализации с требованиями

✅ РЕАЛИЗОВАНО

Требование Статус Файл
Бинарная классификация 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: Архитектура и модели (высокий приоритет)

  1. Создать структуру моделей

    • src/models/ - директория для всех моделей
    • src/pipeline/ - основной пайплайн
    • src/training/ - скрипты обучения
  2. Region Detector

    • Переиспользовать текущую логику из inference.py
    • Обучить классификатор на 4 класса
  3. Segmentation Models

    • Spine Segmentator (U-Net)
    • Hip Segmentator (U-Net)
  4. Quality Classifier (бинарный)

    • ResNet18 с attention
    • Weighted loss для балансировки
  5. Violation Type Classifier (многоклассовый)

    • 7 классов для spine
    • 7 классов для hip
    • Multi-task learning

Фаза 2: Пайплайн и интеграция

  1. Pipeline класс

    • Объединение всех моделей
    • Queue для асинхронной обработки
  2. API интеграция

    • Обновить endpoints для использования пайплайна
    • Batch processing

Фаза 3: Визуализация и метрики

  1. Grad-CAM Heatmap

    • Извлечение attention карт
    • Наложение на изображение
  2. Метрики

    • ROC-AUC, PR-AUC
    • Macro-F1 с доверительными интервалами

Текущие ограничения

  1. Модель обучена на бинарную классификацию - нужно переобучение
  2. F1 ~0.27 - низкий из-за дисбаланса классов
  3. Датасет ~100 исследований - нужно 500+
  4. Сегментация использует простой threshold - нужно дообучить модель
  5. Heatmap не реализовано - требует дообучения

ЗАПУСК ДЛЯ ТЕСТИРОВАНИЯ

cd /Users/denis/workspace/bone_2026
python -m uvicorn src.main:app --host 0.0.0.0 --port 8000

Открыть http://localhost:8000