От ручного трассирования к автоматическому расчету 一 измерение длины кишечника по КТ в один клик
Автоматическое измерение длины кишечника по КТ: как оркестрация ИИ-пайплайна сократила время анализа на 85%
"Нам не нужны еще 40 минут ручной разметки. Нам нужен точный, воспроизводимый результат, который я могу получить до начала консультации пациента."
Клинический контекст и проблема
В практике абдоминальной хирургии, бариатрии и онкологии точная оценка протяженности тонкой и толстой кишки — критический параметр. Планирование резекций при болезни Крона, оценка риска синдрома короткой кишки или выбор тактики при мезентериальной ишемии требуют понимания анатомической протяженности органа.
Традиционный протокол в PACS-системах подразумевает ручное или полуавтоматическое трассирование центральной линии на каждом срезе. Что это означает на практике?
- Временные затраты: 35–60 минут на одно исследование (300–500 срезов).
- Субъективная ошибка: 12–20% вариативности между разными рентгенологами.
- Анатомические ограничения: Петли кишечника часто слипаются, извиваются в 3D-пространстве, а стандартные 2D-инструменты PACS не учитывают реальную пространственную кривизну.
Мы пробовали использовать базовые AI-инструменты. Большинство из них либо требуют ручного проставления seed-точек, либо выдают только bounding box, что неприемлемо для расчета линейных метрик. Мультимодальные модели (например, Medigemma) отлично описывают снимок текстом, но не генерируют воксельные маски. Нам нужен был не чат-бот, а инженерный пайплайн.
Как Предиктор Икс решил задачу
Вместо того чтобы нанимать data-science команду для написания кода с нуля, мы сформулировали клиническое требование на платформе Предиктор Икс. Платформа выступила в роли ИИ-оркестратора: она перевела медицинский запрос в техническую спецификацию, подобрала валидированные open-source компоненты, сгенерировала воспроизводимый скрипт и развернула его в изолированном GPU-окружении Google Colab.
Проведение исследования предметной области
- Изучение предметной области
- Выработка гипотез решений
- Проверка и отсев неподходящих или ложных гипотез, ранжирование оставшихся
- Выработка плана реализации решения-победителя, после подтверждения человеком-специалистом.
- Отчёт в формате PDF для распечатки и валидации методологии врачами смежных специальностей
Логика решения, предложенная платформой:
- Входные данные: Серия DICOM-файлов КТ брюшной полости с контрастом.
- Сегментация: Zero-shot инференс модели
TotalSegmentator(архитектура nnU-Net), обученной на >1200 КТ-исследованиях. Модель выделяет 104 анатомические структуры без дообучения. - Постобработка: Объединение классов
small_bowelиlarge_bowelв единую бинарную 3D-маску. Морфологическая очистка от артефактов. - Геометрический расчет: 3D-скелетизация (
skeletonize_3d) для извлечения центральной линии (centerline). Перевод воксельных координат в миллиметры с учетомPixelSpacingиSliceThicknessиз DICOM-хедеров. - Результат: Числовое значение длины (см/м) + визуализация трассированной линии в 3D-вьювере.
Технический стек и пайплайн (под капотом)
Развернуть архитектуру пайплайна
| Этап | Библиотека / Модель | Назначение |
|---|---|---|
| DICOM Parsing | pydicom, SimpleITK | Чтение серии, сортировка по SliceLocation, извлечение метаданных |
| 3D Inference | TotalSegmentator (nnU-Net) | Сегментация всех органов брюшной полости из коробки |
| Mask Processing | numpy, scipy.ndimage | Объединение классов, удаление шумов, заполнение разрывов |
| Centerline Extraction | scikit-image.morphology.skeletonize_3d | Топологически корректное истончение до 1-воксельной линии |
| Metric Calculation | numpy (векторизация) | Евклидово суммирование расстояний с учетом анизотропии вокселя |
| Runtime | Google Colab (GPU T4/A100) | Ускоренный инференс (< 2 мин на объем) |
Примечание: Платформа автоматически сгенерировала wrapper-скрипт на Python, который принимает ZIP/DICOM-директорию, выполняет весь пайплайн и возвращает JSON-отчет с метриками и ссылками на результаты. Так же были написаны автотесты для проверки пограничных кейсов.
Клинические результаты и метрики
После интеграции пайплайна в исследовательскую практику были зафиксированы следующие показатели:
- Время на исследование: Снижено с ~45 мин до 1.5–2.5 мин (включая загрузку и рендеринг).
- Точность измерения: Расхождение с консенсусом двух старших рентгенологов составило < 4.2% (в пределах межоператорной вариабельности).
- Сегментационная точность: DSC для кишечных структур достиг 0.91–0.93, что соответствует уровню экспертной разметки.
- Воспроизводимость: 100% детерминированность результата при повторном запуске на тех же данных.
Почему это сработало без Data Science команды?
Ключевой инсайт: врачи не должны писать код. Платформа Предиктор Икс взяла на себя:
- Валидацию архитектурного выбора: Отсекла нежизнеспособные варианты (prompt-based SAM2, LLM-анализ) в пользу специализированных medical-vision моделей.
- Оркестрацию зависимостей: Автоматически разрешила конфликты версий
numpy,pytorchиSimpleITKв Colab-окружении. - Гарантию безопасности: Все вычисления выполнялись в изолированной сессии. DICOM-данные не покидали защищенный контур обработки.
Что дальше?
Текущий пайплайн решает задачу измерения суммарной длины. В рамках следующего спринта на Предиктор Икс возможно:
- Добавить раздельный расчет для тонкой и толстой кишки.
- Интегрировать расчет кривизны и диаметра просвета.
- Подключить пайплайн к локальному PACS через DICOMweb API для trigger-based обработки.
Хотите так же превратить клиническую гипотезу в работающий ИИ-пайплайн за часы, а не месяцы?