К содержанию
Работа

John Snow Labs — анализ снимков лёгких для выявления заболеваний

Полный цикл машинного обучения для анализа снимков лёгких: от получения исследований из клиник до воспроизводимого обучения, проверки на независимых источниках и серверной выдачи результата. Модель не ставит диагноз — она выделяет снимки с вероятными патологическими признаками, чтобы специалист раньше добрался до тех исследований, которые важнее.

Главный экран проекта Нажмите, чтобы рассмотреть

Интерфейс воссоздан по описанию; исходные экраны не публикуются.

John Snow Labs — анализ снимков лёгких для выявления заболеваний 01 / 03
John Snow Labs — анализ снимков лёгких для выявления заболеваний — Главный экран проекта
Клиент
John Snow Labs
Индустрия
Медтех
Срок
10 месяцев
Команда
6 человек

Задача

Для медицинской модели мало собрать большую папку изображений. Снимки из разных клиник отличаются форматами, разрешением, параметрами оборудования, правилами хранения и качеством метаданных. Разметка расходится между специалистами. А если исследования одного пациента случайно окажутся одновременно в обучающей и в проверочной выборке, метрики покажут отличный результат, которого на самом деле нет.

Отдельная ловушка — обучить модель не на медицинских признаках, а на клинике. Аппарат, формат, характерный артефакт обработки коррелируют с диагнозом ровно настолько, насколько один источник данных отличается от другого, и модель охотно выучит именно это. Поэтому нужен был управляемый конвейер, в котором прослеживается каждое исследование: происхождение, история обработки, версия разметки и версия модели, которая на нём училась. Всего таких требований набралось одиннадцать — от регулярного приёма данных из нескольких источников до сохранения версии модели, входных данных и истории результата для последующего аудита.

Решение

Приём данных пакетами. Для каждого поступившего набора фиксируются источник, состав файлов, доступные медицинские метаданные, состояние импорта и результат первичной проверки. На входе проверяются целостность файлов и читаемость изображения, нормализуются форматы и кодировки метаданных, снимок сопоставляется с исследованием и источником, ищутся полные и близкие дубликаты. Проблемные материалы отделяются от корректных, и повторно обрабатывается только ошибочная часть — при больших объёмах и нестабильной передаче перезаливать весь набор нельзя.

Оригинал отдельно от производных. Исходные данные хранятся отдельно от результатов обработки, поэтому любую операцию предобработки можно повторить с другими параметрами, не трогая оригинал и не теряя происхождение результата.

Обезличивание до разметки. Прямые идентификаторы удаляются или заменяются внутренними кодами ещё до передачи материалов в разметку и обучение, а связь с источником живёт в защищённом служебном контуре. Доступ разделён по ролям: разметчик видит только необходимое для медицинской оценки, инженер работает с обезличенным датасетом, административные операции и выгрузки пишутся в журнал.

Подготовка, которая не стирает диагностику. Проверка ориентации и области исследования, нормализация размера и диапазона интенсивности, коррекция технических артефактов без потери диагностически значимых признаков, отбраковка снимков недостаточного качества, управляемая аугментация — и сохранение параметров каждой операции в истории обработки. Контроль качества выполняется до разметки и повторяется перед выпуском версии датасета.

Разметка с контролируемым разногласием. Очередь заданий со статусами и ответственными, единый справочник классов, часть данных размечается несколькими экспертами независимо. Расхождения между аннотациями выявляются, спорные случаи уходят на дополнительную проверку, утверждённая разметка блокируется от случайного изменения, а набор аннотаций версионируется вместе с версией схемы классов. Так отсутствие признака не путается с отсутствием разметки, а разные редакции медицинской классификации не смешиваются в одном датасете.

Версия датасета как объект. В неё входят ссылки на исходные исследования, подготовленные изображения, метки, параметры обработки и правила включения. Обучающая, валидационная и тестовая части делятся на уровне пациентов и источников — связанные снимки не расходятся по разным выборкам. Перед обучением формируется отчёт о составе версии из шести пунктов: принятые и исключённые исследования, распределение по классам, баланс источников, доля повторно проверенной разметки, причины исключения снимков и отличия от предыдущей версии.

Эксперименты не перезаписывают друг друга. Конфигурация, версия датасета, балансировка классов, аугментации только на обучающей части, промежуточные веса, журнал метрик по эпохам, ранняя остановка и выбор лучшей контрольной точки связаны с кодом и данными. Для любой версии восстанавливается, на чём и с какими параметрами она получена.

Валидация по срезам, а не по общей точности. Модель проверяется отдельно по каждому классу, клиническому источнику и типу качества снимка; анализируются пропуски патологии, ложные срабатывания и матрицы ошибок. Хороший результат на данных той же клиники, что участвовала в обучении, ничего не говорит об устойчивости на снимках другого оборудования — поэтому в итоговую проверку входят отложенные данные и разрезы по клиникам, а заметное расхождение становится поводом для новой подготовки данных или нового цикла обучения.

Серверная выдача и обратная петля. Серверный слой принимает исследование, проверяет формат, применяет ту же версию предобработки, что использовалась при обучении, и возвращает структурированный результат: идентификатор обезличенного исследования, версию модели и пайплайна, оценки по классам, статус, предупреждения, время выполнения, историю повторного анализа после обновления модели. Ошибочные и спорные примеры из валидации группируются и возвращаются экспертам — уточнённая разметка попадает в следующую версию датасета.

Результат

Для John Snow Labs получился не отдельный экспериментальный ноутбук, а управляемый процесс разработки медицинской модели. Клинические данные проходят сбор, обезличивание, очистку, разметку и контроль качества; датасеты и эксперименты версионируются; модель проверяется на независимых источниках и отдаётся через серверный интерфейс, который явно отделяет автоматическую оценку от подтверждённого врачом заключения.

Команда может ответить на вопрос, который обычно остаётся без ответа: почему изменилось поведение модели. Обучение воспроизводится, две версии сравниваются без одновременной смены алгоритма, разметки и состава выборки, а конкретные ошибки возвращаются на медицинскую проверку. Специалист получает приоритизацию очереди исследований, а не ещё один чёрный ящик с числом на экране.

Моя роль в проекте — backend: импорт и систематизация данных из клинических источников, обработка ошибок загрузки, обезличивание, хранение метаданных, подготовка данных для разметки и сборка утверждённых версий датасета; воспроизводимый обучающий контур со связью экспериментов и версий данных; серверный интерфейс модели с проверкой входных данных, журналированием версий и корректной выдачей результата внешней системе.

11 требований к конвейеру, от приёма данных из клиник до аудита результата
6 пунктов в отчёте о составе каждой версии датасета
3 среза валидации: класс, клинический источник, качество снимка
10 месяцев срок проекта, команда 6 человек
Ещё

Похожие проекты

Всё портфолио
RAG-платформа проверки продуктового контента для Johnson & Johnson
Кейс Johnson & Johnson

RAG-платформа проверки продуктового контента для Johnson & Johnson

Внутренняя платформа Johnson & Johnson, которая не даёт маркетинговому материалу уйти в публикацию с утверждением, не подтверждённым составом продукта или клиническими данными. Маркетолог пишет пост или описание, система разбирает текст на проверяемые утверждения и показывает, чем подкреплено каждое: цитатой из какого документа, какой версии и для какого рынка. Медиабиблиотека, продуктовый граф, генерация, фактчекинг, согласование и публикация здесь не четыре разные системы, а один контур.

База знаний с умным поискомDAMS — управление цифровыми активами
PythonFastAPIReactTypeScript
CanMedDirect — интернет-магазин медицинских расходных материалов
Работа OneCore Media

CanMedDirect — интернет-магазин медицинских расходных материалов

CanMedDirect — канадский интернет-магазин медицинских расходных материалов для домашнего ухода, длительной терапии и восстановления после процедур. Внешне это обычный интернет-магазин, но покупатель здесь ищет не «повязку», а конкретный артикул производителя нужного диаметра, в нужной упаковке и совместимый с уже используемой системой. Магазин строился вокруг этой точности: каталог, поиск, совместимость, страховые документы и direct billing.

Интернет-магазин
PHPMagentoMySQL
Первый разговор — бесплатно

Расскажите, что хотите изменить

За одну встречу уточним задачу и предложим следующий шаг, даже если вам нужен другой подрядчик.

Что будет на встрече
  1. 01 Опишите задачу своими словами
  2. 02 Уточним цель и ограничения
  3. 03 Предложим решение и следующий шаг
длительность 45–60 мин