← документы задачи · диаграмма Ганта · ТЗ в PDF

Mind map ТЗ задачи 04

Все разделы технического задания ДепЗдрава деревом: у каждого пункта — страница ТЗ и что из этого уже работает на стенде. Нажмите на пункт, чтобы прочитать подробности; ветки раскрываются кнопкой справа от названия.

из 79 требований · версия стенда 0.5.4

перетаскивайте · колесо или щипок — масштаб

Всё ТЗ списком

  • i Задача 04 · контроль качества денситометрии DXA стр. 2
    Сервис-помощник по контролю качества: проверяет, можно ли использовать исследование для клинической интерпретации, оценивает корректность областей измерения и объясняет, какое нарушение найдено. Ошибки укладки и разметки искажают показатели и ведут к повторным исследованиям, а ручной контроль требует специалиста.
    На стенде: Стенд DXA QC: версия 0.5.1 на правилах, без обученной модели.
    • Задача и функционал стр. 3
      Разработать ПО на основе ИИ для автоматизированной оценки качества денситометрических исследований и корректности разметки анатомических структур без первичного ручного просмотра каждого исследования.
      • Объекты анализа стр. 3
        В базовый контур входят две области; допускается единая модель или отдельные модели с автоматическим определением области.
        • ✓ Поясничный отдел позвоночника стр. 3 сделано
          Обязательная область.
          На стенде: Определяется, качество оценивается: охват, ось, посторонние предметы.
        • ◐ Проксимальный отдел бедра стр. 3 частично
          Обязательная область.
          На стенде: Определяется сторона и приблизительные ориентиры; вердикт качества бедра пока не выносится.
        • i Единая модель или отдельные стр. 3
          Выбор архитектуры за участниками.
          На стенде: Отдельные правила для позвоночника и бедра с определением области.
      • Основной функционал стр. 3
        Что должен уметь сервис.
        • ◐ Определение анатомической области стр. 3 частично
          Поясничный отдел или проксимальный отдел бедра.
          На стенде: По ширине кадра GE Lunar (300 / 280 px) и эвристике яркости; нераспознанная область пока не отклоняется.
        • ✕ Определение проекции стр. 3 не сделано
          Проекция исследования.
          На стенде: Проекция не определяется, считается прямой.
        • ◐ Классификация: качественное или нарушение стр. 3 частично
          quality_class 0 или 1.
          На стенде: Позвоночник — 0/1; бедро — «не оценено».
        • ◐ Оценка укладки и позиционирования стр. 3 частично
          По стандартным критериям.
          На стенде: Позвоночник: охват снизу и наклон оси; бедро — нет.
        • ◐ Оценка корректности разметки и областей измерения стр. 3 частично
          Корректно ли выполнена разметка анатомических структур.
          На стенде: Вход без разметки: сервис строит свою разметку-атлас (позвонки Th12–L5, кости, ориентиры) и проверяет по ней; проверка чужой разметки не реализована.
        • ✓ Один или несколько типов нарушения стр. 3 сделано
          Перечень нарушений у исследования.
          На стенде: violation_type — список через «;», пояснения к каждому нарушению.
        • ✓ Структурированный отчёт стр. 3 сделано
          Отчёт с результатами работы.
          На стенде: Таблица csv/xlsx, JSON в API, интерактивные карточки снимков.
    • Нарушения качества стр. 3
      Категории нарушений, которые должно рассматривать решение (раздел 2.3).
      • Поясничный отдел стр. 3
        Три критерия с иллюстрациями на рисунках 1–3.
        • ✓ Охват снизу: верхние края подвздошных костей стр. 4 сделано
          На нижнем уровне сканирования видны верхние края подвздошных костей (рис. 1).
          На стенде: Яркость кости в нижних углах кадра, порог настраивается в пульте; F1 0,77 на обучающем наборе.
        • ✕ Охват сверху: половина Th12 стр. 4 не сделано
          Верхний уровень сканирования — половина тела позвонка Th12 (рис. 1).
          На стенде: Th12 размечается приблизительно, граница кадра по нему не проверяется.
        • ✓ Ось позвоночника: наклон до 5° стр. 4 сделано
          Правильно выровненная ось, допустимый наклон до 5 градусов (рис. 2: 1,6° — корректно, 6,9° — нет).
          На стенде: Угол оси по центрам позвонков, допуск настраивается; F1 0,33 на обучающем наборе.
        • ◐ Посторонние предметы и артефакты стр. 5 частично
          Отсутствие посторонних предметов, выраженных артефактов и наложений, например металла одежды (рис. 3).
          На стенде: Поиск очень ярких объектов вне столба работает, но F1 0,13 — слабое место версии.
      • Проксимальный отдел бедра стр. 5
        Три критерия с иллюстрациями на рисунках 4–6.
        • ◐ Позиционирование: большой вертел, шейка, седалищная кость стр. 5 частично
          На изображении представлены большой вертел, шейка бедра и седалищная кость (рис. 4).
          На стенде: Ориентиры вертела и шейки находятся приблизительно и подписаны на атласе; седалищная кость и вердикт — нет.
        • ✕ Отсутствие ротации: малый вертел стр. 6 не сделано
          Контур слегка деформирован малым вертелом; переротация — контур плавный, недоротация — малый вертел слишком большой (рис. 5).
          На стенде: Не реализовано.
        • ✕ Область интереса: поля 3 см и 2 см стр. 7 не сделано
          Видно по 3 см сверху и снизу от области интереса и 2 см от правого и левого края (рис. 6).
          На стенде: Не реализовано: в DICOM организатора нет PixelSpacing, миллиметры без калибровки не получить.
    • Входные данные и ресурсы стр. 7
      Что приходит на вход и что дал организатор (разделы 2.4 и 6).
      • ✓ DICOM без разметки стр. 7 сделано
        Исследования в формате DICOM без разметки.
        На стенде: Загрузчик терпит нестандартные UID и пустые теги; картинки и не-DXA получают отказ с причиной.
      • ✓ До 3 изображений или серий в исследовании стр. 7 сделано
        Одно исследование — одно или несколько изображений, не более 3.
        На стенде: Одинаковые снимки схлопываются: в обучающем наборе встречается до 29 копий в исследовании.
      • ✓ Метаданные можно, персональные данные — нет стр. 7 сделано
        Метаданные DICOM допустимы, но решение не должно зависеть от персональных данных.
        На стенде: Используются только пиксели и технические теги; персональные данные не читаются.
      • i Обезличенные изображения и экспертная разметка стр. 7
        Организатор предоставляет обезличенные изображения и часть исследований с экспертной разметкой.
      • Ресурсы организатора стр. 10
        Раздел 6.
        • i НД_для_обучения.zip стр. 10
          Обезличенные DICOM с экспертной оценкой качества.
          На стенде: 100 исследований, 499 DICOM, 252 уникальных снимка; метки на исследование и область, не на файл.
        • i Для теста.zip стр. 10
          Фрагмент для проверки формата и отладки загрузчика.
          На стенде: 3 снимка: поясничный отдел, правое и левое бедро.
        • i Методические рекомендации, разделы 2.6 и 2.7 стр. 10
          Детальные критерии качества и примеры разметки.
        • i Закрытый тестовый набор стр. 10
          Для финальной оценки, участникам не передаётся.
    • Результат стр. 8
      Выходные данные и дополнительный функционал (разделы 2.5 и 2.6).
      • ✓ Таблица .xlsx или .csv стр. 8 сделано
        Одна строка — одно изображение (одна анатомическая область) в исследовании.
        На стенде: results.csv и results.xlsx у каждого прогона, в API — ссылки на них.
      • ✓ Колонки таблицы стр. 8 сделано
        Рекомендуемая структура из восьми колонок.
        На стенде: Все восемь колонок в указанном порядке.
        • ✓ path_to_study стр. 8 сделано
          Путь к исследованию или файлу, String.
        • ✓ study_uid стр. 8 сделано
          Идентификатор исследования из DICOM-тегов, String.
        • ✓ image_uid стр. 8 сделано
          Идентификатор изображения из DICOM-тегов, String.
        • ✓ anatomical_region стр. 8 сделано
          Определённая анатомическая область, String.
        • ✓ quality_class стр. 8 сделано
          0 — качественное, 1 — есть нарушение, Integer.
          На стенде: Пусто, если область не оценивается.
        • ✓ violation_type стр. 8 сделано
          Тип или перечень нарушений, String.
        • ✓ processing_status стр. 8 сделано
          Success / Failure, String.
        • ✓ time_of_processing стр. 8 сделано
          Время обработки в секундах, Float.
      • Дополнительный функционал стр. 8
        Раздел 2.6.
        • ✓ Визуализация нарушения: маска, контур, точки стр. 8 сделано
          Дополнительная серия с визуализацией: маска, контур, ключевые точки или тепловая карта.
          На стенде: Атлас: зоны позвонков и костей, ось, рамки предметов, слои и лупа; overlays.zip с картинками.
        • ✕ Описание нарушений в DICOM SR стр. 8 не сделано
          Текстовое описание нарушений в формате DICOM SR.
          На стенде: Не реализовано: текст пояснений есть в таблице и карточке, но не в DICOM SR.
        • ✕ Автокоррекция разметки с подтверждением стр. 8 не сделано
          Автоматическая коррекция разметки с возможностью подтверждения специалистом.
          На стенде: Разметку не правят; админ может исправить вердикт снимка в пульте — это не коррекция разметки.
        • ✓ Веб-интерфейс стр. 8 сделано
          Интерактивный веб-интерфейс для загрузки, просмотра и пакетной обработки.
          На стенде: Стенд: загрузка, живой прогресс, таблица, инфографика, карточки с голосом, пульт.
    • Технические и программные требования стр. 8
      Разделы 2.7 и 3.
      • ✓ Не более 3 минут на исследование стр. 8 сделано
        Время обработки одного исследования на целевой конфигурации.
        На стенде: Около 0,25 с на снимок на слабом сервере стенда.
      • ✓ Без необработанных исключений стр. 8 сделано
        Все ошибки фиксируются в отчёте.
        На стенде: Нечитаемые и неподходящие файлы — строки Failure с причиной; упавший анализ снимка не роняет пакет.
      • ✓ Воспроизводимость стр. 8 сделано
        Одинаковые результаты при повторном запуске на тех же данных.
        На стенде: Правила детерминированы, случайная выборка с фиксированным зерном.
      • ✓ Пакетная обработка архива стр. 8 сделано
        Общая таблица xlsx/csv и zip с дополнительными сериями.
        На стенде: Загрузка zip на стенде и /api/batch; overlays.zip с атласами.
      • Оборудование стр. 9
        Раздел 3.1.
        • ✕ Минимальная и рекомендуемая конфигурация стр. 9 не сделано
          Указать память, процессор, графический ускоритель и диск для инференса.
          На стенде: Не оформлено: стенд работает на 1,5 ядра и 1,5 ГБ памяти без GPU.
        • i Финальный тест: 2 × H200 стр. 9
          Каждая H200 в своей ВМ: 44 CPU, 256 ГБ RAM, 141 ГБ VRAM.
      • Программные требования стр. 9
        Раздел 3.2.
        • ✓ Контейнеризация стр. 9 сделано
          Обязательна.
          На стенде: Docker-образ, compose в infra/app.
        • ◐ Скрипт сборки и запуска для Linux и UNIX стр. 9 частично
          Скрипт для сборки и запуска контейнера.
          На стенде: infra/app/deploy.sh для стенда; универсальный скрипт с инструкцией для проверяющих ещё не оформлен.
        • ✓ Локально, без внешних сервисов стр. 9 сделано
          Без закрытых внешних сервисов и без передачи медицинских изображений во внешние системы.
          На стенде: Анализ, голос и отчёты работают локально; анализ снимка в Claude — только по одобрению админа и не для данных организатора.
        • ✓ API пакетной обработки стр. 9 сделано
          API для обработки тестового набора.
          На стенде: HTTP /api/batch и MCP-сервер /mcp.
        • ◐ Зафиксированные зависимости стр. 9 частично
          Версии библиотек, сред выполнения и базового контейнера.
          На стенде: Библиотеки закреплены точными версиями; базовый образ python:3.12-slim без digest.
    • Метрики и критерии оценки стр. 11
      Раздел 8. Приоритет — F1 и ROC-AUC, метрики с 95% доверительными интервалами.
      • Метрики эффективности стр. 12
        Отдельно по каждой области и типу нарушения, а также в целом (8.4).
        • ◐ Чувствительность и специфичность стр. 12 частично
          Выявление исследований с нарушениями и специфичность для качественных.
          На стенде: Позвоночник на уровне исследования: итог 0,44 и 0,76; бедро — нет.
        • ◐ F1 и сбалансированная точность стр. 12 частично
          Сбалансированная точность и F1-мера.
          На стенде: F1 есть (итог по позвоночнику 0,45); сбалансированная точность не считается.
        • ✕ ROC AUC / PR AUC стр. 12 не сделано
          Для бинарной классификации.
          На стенде: Не считается: правила дают класс без вероятности.
        • ◐ macro-F1 по типам нарушений стр. 12 частично
          Для многоклассового или мультилейбл-определения типов.
          На стенде: F1 по каждому типу у позвоночника есть, сводный macro-F1 не показан.
        • ✕ Dice, IoU, расстояние между точками стр. 12 не сделано
          Метрики локализации при наличии функционала.
          На стенде: Не считаются: нет эталонной разметки контуров и точек.
        • ✓ Время и доля успешно обработанных стр. 12 сделано
          Время одного исследования и доля успешных файлов.
          На стенде: Среднее время на снимок и отказы в сводке каждого прогона.
        • ✓ 95% доверительные интервалы стр. 12 сделано
          Метрики точности желательно с 95% ДИ.
          На стенде: Бутстреп на странице прогона обучающего набора для чувствительности, специфичности и F1.
      • i Подход коллектива стр. 11
        Понимание клинической задачи, таксономия нарушений, выборка, дисбаланс классов, отсутствие утечки между выборками (8.1).
        На стенде: Разбиение только по исследованиям, дубли схлопываются до оценки; пороги пока подобраны на тех же данных.
      • i Техническая проработка стр. 11
        Архитектура, предобработка DICOM, устойчивость, обработка ошибок, контейнеризация, воспроизводимость (8.2).
      • i Соответствие задаче стр. 11
        Полнота функций, форматы, поддержка областей, прозрачность ограничений, локальное использование (8.3).
      • i Питч-сессия стр. 12
        Владение материалом, логика решения, демонстрация, понимание ограничений и план внедрения (8.5).
    • Сдача решения стр. 10
      Промежуточная и финальная сдача (раздел 7).
      • MVP · промежуточная сдача стр. 10
        Раздел 7.1.
        • ✕ Обученная модель и скрипт инференса стр. 10 не сделано
          Обученная модель и скрипт инференса.
          На стенде: Версия на правилах без обучения; модель не обучалась.
        • ✓ Чтение DICOM и пакетная обработка стр. 10 сделано
          Модуль чтения DICOM и пакетной обработки.
        • ✓ Бинарный класс «качественное / нарушение» стр. 10 сделано
          Как минимум бинарный класс.
          На стенде: Для позвоночника.
        • ✓ Разметка хотя бы одной области стр. 10 сделано
          Оценка корректности разметки для одной области.
          На стенде: Атлас поясничного отдела с уровнями позвонков и проверками.
        • ✓ Файл результатов в формате стр. 10 сделано
          Согласованный формат.
          На стенде: Таблица по разделу 2.5.
        • ◐ Метрики на валидационной выборке стр. 10 частично
          Расчёт основных метрик.
          На стенде: Считаются на обучающем наборе, пороги подобраны на тех же данных — отдельной валидации нет.
        • ◐ Краткая инструкция стр. 10 частично
          Как работать с моделью.
          На стенде: Стенд и описание API есть, инструкции для сдачи нет.
        • ◐ Ограничения и план доработки стр. 10 частично
          Описание ограничений и плана.
          На стенде: Ограничения показаны на стенде, план — в трекере.
      • Финальная версия стр. 11
        Раздел 7.2; проверка на закрытых данных без участия команды.
        • ✕ Обученная модель и веса стр. 11 не сделано
          Все необходимые веса.
        • ✓ Контейнеризированный сервис стр. 11 сделано
          Сервис или приложение в контейнере.
        • ◐ Все области и классы нарушений стр. 11 частично
          Поддержка всех обязательных областей и классов.
          На стенде: Позвоночник без Th12; бедро без вердикта.
        • ◐ Скрипт сборки и запуска с инструкцией стр. 11 частично
          Для Linux и UNIX-подобных систем.
          На стенде: Есть для стенда, для проверяющих не оформлен.
        • ✓ Устойчивая пакетная обработка стр. 11 сделано
          Закрытого тестового набора.
          На стенде: Весь обучающий набор проходит без отказов, прерванные прогоны возобновляются.
        • ✓ Структурированный файл результатов стр. 11 сделано
          Таблица по разделу 2.5.
        • ✕ Полный комплект документации стр. 11 не сделано
          README, руководства пользователя и развёртывания.
        • ✕ Презентация и демонстрационный сценарий стр. 11 не сделано
          Для защиты.
          На стенде: Эпик «Презентация и защита» в трекере.
        • i Исходный код стр. 11
          В объёме, установленном правилами конкурса.
    • Презентация и документация стр. 9
      Разделы 4 и 5.
      • Презентация стр. 9
        Показать не только метрики, но и логику клинического контроля качества.
        • ✕ Подход и обоснование стр. 9 не сделано
          Описание и обоснование выбранного подхода.
        • ✕ Архитектура модели и решения стр. 9 не сделано
          Архитектура модели и программного решения.
        • ✕ Данные, разбиение, предобработка стр. 9 не сделано
          Состав наборов, правила разбиения, предобработка.
        • ✕ Таксономия нарушений стр. 9 не сделано
          Таксономия и подход к нескольким нарушениям.
        • ✕ Эксперименты и анализ ошибок стр. 9 не сделано
          Сравнение вариантов модели и анализ ошибок.
        • ◐ Метрики с ДИ стр. 9 частично
          Метрики качества с доверительными интервалами.
          На стенде: Считаются на стенде, слайдов нет.
        • ◐ Скорость и системные требования стр. 9 частично
          Скорость обработки и требования.
          На стенде: Скорость измерена, требования не оформлены.
        • ✕ Ограничения и внедрение стр. 9 не сделано
          Ограничения и сценарий внедрения.
        • ◐ Кейсы работы решения стр. 9 частично
          Демонстрационные кейсы.
          На стенде: Стенд с примерами и карточками; ролик не собран.
      • Документация стр. 10
        Сторонний разработчик должен воспроизвести запуск на новых DICOM.
        • ◐ README.md стр. 10 частично
          Назначение и ограничения, структура, требования, сборка и запуск, API, форматы, модель, известные ошибки.
          На стенде: Есть infra/app/README.md про стенд; полного README по списку ТЗ нет.
        • ✕ Руководство пользователя стр. 10 не сделано
          Дополнительный документ.
        • ◐ Руководство по развёртыванию стр. 10 частично
          Дополнительный документ.
          На стенде: Разделы про деплой стенда в infra/app/README.md.
        • ✕ Процедура обучения или дообучения стр. 10 не сделано
          Краткое описание.
          На стенде: Модель не обучается.