ЭКСПЕРИМЕНТ

Могут ли синтетические инструменты заменить реальную разметку? Сами по себе – нет

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

Страница ещё проходит проверку научными, клиническими и юридическими экспертами. Здесь описаны планы, а не готовые результаты.

Вопрос

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

H1. Модель, обученная только на синтетических инструментах, на реальных инструментах не хуже той же модели, обученной на реальной разметке.

Гипотезу, допустимое отставание и правило решения зафиксировали в проектном документе (RFC 0001) до первого прогона.

Как проверяли

  • Синтетика. Модели граспера и L-образного крючка построены в Blender и отрендерены 20 000 раз с точными масками. Рендеры накладывались на 717 кадров открытого датасета CholecT50 без инструментов, и каждый кадр проверил человек. Аугментации: свет, размытие, ткань поверх кончика, тёмный край изображения эндоскопа, имитация дыма.
  • Реальные данные. CholecSeg8k: 4 000 размеченных кадров из 8 видео для обучения и 1 120 кадров из 2 видео для валидации.
  • Тест. 7 видео CholecSeg8k, которые никогда не служили синтетическим фоном, всего 2 960 кадров. Перед первым прогоном на тесте человек просмотрел каждый тестовый клип в поисках инструментов без собственного класса. Исключать ничего не пришлось.
  • Модель. Во всех вариантах одна и та же DeepLabV3-ResNet50, одинаковые настройки и одинаковое число шагов обучения. Каждый вариант обучали с 3 начальными состояниями (seed).
Вариант Обучение
A только синтетические инструменты
B только реальная разметка
C10 / C25 / C50 / C100 модель варианта A, затем 10 / 25 / 50 / 100 % реальных кадров
  • Выбор модели. Вариант A выбирал контрольную точку только по синтетической валидации, поэтому ни одна реальная метка в синтетический вариант не попала.
  • Прогоны на тесте. Каждую выбранную контрольную точку прогнали на тестовых видео ровно один раз, и каждый прогон записан.
Как устроены варианты Отрендеренные инструменты накладываются на кадры CholecT50 без инструментов – на них учится вариант A. Реальные кадры CholecSeg8k учат вариант B. Варианты C дообучают A на 10–100 % реальных кадров. Каждая выбранная модель один раз проверяется на 7 видео CholecSeg8k, которые никогда не были фоном. Рендеры Blender 20 000 грасперов, крючков Кадры без инструментов 717, CholecT50, проверены Реальная разметка CholecSeg8k, 8 видео Вариант A только синтетика Варианты C10–C100 A, затем 10–100 % реальных Вариант B только реальные Тест 7 других видео один раз на модель старт с A
Во всех вариантах одна модель, одни настройки и одинаковое число шагов обучения; по три начальных состояния.

Результаты

Метрика – перекрытие (IoU) маски инструментов по всем пикселям теста. 1 означает идеальное совпадение. Диапазон – 95-процентный интервал по тестовым видео и начальным состояниям.

Вариант Реальная разметка IoU 95 % интервал
A, только синтетика 0 % 0,116 0,04 – 0,19
C10 10 % 0,775 0,66 – 0,83
C25 25 % 0,767 0,63 – 0,83
C50 50 % 0,778 0,65 – 0,84
C100 100 % 0,764 0,62 – 0,84
B, только реальная разметка 100 % 0,772 0,65 – 0,84
IoU на тесте по вариантам, с 95-процентными интервалами Вариант A набирает 0,116 – намного ниже всех остальных. Варианты C10–C100 и B набирают от 0,76 до 0,78, их интервалы перекрываются. 0,00 0,25 0,50 0,75 1,00 IoU маски инструментов на 7 тестовых видео A · только синтетика: 0,116 (95 % интервал 0,041–0,185) A · только синтетика 0,116 C10 · A + 10 % реальных: 0,775 (95 % интервал 0,658–0,832) C10 · A + 10 % реальных 0,775 C25 · A + 25 % реальных: 0,767 (95 % интервал 0,633–0,833) C25 · A + 25 % реальных 0,767 C50 · A + 50 % реальных: 0,778 (95 % интервал 0,648–0,841) C50 · A + 50 % реальных 0,778 C100 · A + 100 % реальных: 0,764 (95 % интервал 0,624–0,837) C100 · A + 100 % реальных 0,764 B · только реальные: 0,772 (95 % интервал 0,654–0,837) B · только реальные 0,772
Точки – IoU по всем пикселям теста, три начальных состояния вместе. Линии – 95-процентный интервал по тестовым видео и начальным состояниям.

H1 отвергнута. Вариант A отстаёт от варианта B на 65,5 пункта, 95-процентный интервал от −75,9 до −53,5. Дизайн допускал отставание не больше 2 пунктов.

Решение по H1 Разрыв между вариантами A и B – −65,5 пункта IoU, 95-процентный интервал от −75,9 до −53,5. Весь интервал лежит далеко левее допуска −2, поэтому H1 отвергнута. в пределах допуска −80 −70 −60 −50 −40 −30 −20 −10 0 10 20 30 допуск −2 A − B: −65,5 (95 % интервал −75,9 … −53,5) −75,9 −53,5 A − B = −65,5 IoU(A) − IoU(B), пункты
H1 подтвердилась бы, если бы весь интервал остался правее линии −2.

Модель на одной синтетике выучила синтетическую задачу: на синтетической валидации она дошла до 0,96. На реальных валидационных кадрах она набрала около 0,45, а на тестовых видео 0,12. Мы проверили одно объяснение: что модель запомнила ткани валидационных операций по фонам. Из этих операций взято только 29 фонов из 717, так что разрыв это не объясняет. Почему модель не справляется с реальными инструментами, пока неизвестно.

Вариант A во время обучения На синтетической валидации вариант A растёт с 0,91 до 0,96. На реальных кадрах валидации он колеблется между 0,21 и 0,56 без тренда и заканчивает около 0,44. На тестовых видео – 0,12. 0,00 0,25 0,50 0,75 1,00 1 6 11 16 20 эпоха тест синтетическая валидация реальная валидация (для сведения) синтетическая валидация, эпоха 20: 0,96 0,96 реальная валидация (для сведения), эпоха 20: 0,44 0,44 тест: 0,116 (0,114 / 0,082 / 0,152) 0,12
Линии – среднее трёх начальных состояний, полосы – от худшего до лучшего. Контрольную точку выбирали только по синтетической валидации; реальная записывалась и не использовалась.
Данные таблицей
ЭпохаСинтетическая валидация, среднееРеальная валидация, среднее
10,9120,431
20,9250,399
30,9380,386
40,9410,399
50,9440,363
60,9490,467
70,9490,412
80,9530,442
90,9530,346
100,9560,383
110,9570,334
120,9580,409
130,9590,383
140,9600,403
150,9610,394
160,9620,364
170,9630,398
180,9630,438
190,9630,429
200,9630,442

Шесть кадров валидации

На рисунке – что модели вариантов A, B и C10 (начальное состояние 1) предсказывают на шести реальных кадрах валидации. Кадры взяты через равные промежутки и выбраны до того, как были видны предсказания. Тестовых кадров здесь нет: прогнать на них модели ещё раз значило бы ещё раз использовать тест.

  • Где граспер хорошо виден на фоне тканей, вариант A находит его часть (IoU от 0,39 до 0,76).
  • Где инструмент у края поля зрения или с тёмным стержнем (строки 2 и 6), вариант A почти ничего не находит (0,00 и 0,02). Варианты B и C10 эти инструменты находят (от 0,73 до 0,90).
  • На последнем кадре вариант B размечает L-образный крючок как граспер, а C10 – правильно. IoU маски инструментов класс не учитывает.

Шесть кадров иллюстрируют цифры выше, но сами по себе ничего не доказывают.

Сетка из шести лапароскопических кадров с масками инструментов: эталонная разметка и предсказания вариантов A, B и C10.
В каждой строке: кадр, эталонная разметка, затем варианты A, B и C10 (начальное состояние 1) с IoU на этом кадре. Граспер – голубой, L-образный крючок – жёлтый. Реальные кадры валидации (видео 26 и 52), не тестовые. Прогоны m1-A-s1-be48f5bc, m1-B-s1-cccfe860, m1-C10-s1-a5ef566d. Кадры и эталонные маски: CholecSeg8k (Hong et al. 2020), на основе Cholec80 (Twinanda et al. 2017), лицензия CC BY-NC-SA 4.0 – в отличие от остального сайта под CC BY 4.0.

Чем эти цифры не являются

  • Не доказательство, что синтетическое предобучение экономит разметку. Варианты C догоняют вариант B уже на 10 % реальных кадров, это около 400 кадров, и дальше ничего не прибавляют. Но в дизайне не было варианта, обученного на тех же 10 % без синтетического шага. Без него нельзя сказать, помог ли синтетический шаг или 400 реальных кадров хватает и так.
  • Не приговор синтетическим данным вообще. Вывод относится к этому рендереру, этим инструментам и 717 фонам, а это меньше примерно 1 000, которые мы планировали.
  • Не клинический результат. Скорость, блики и кровь отдельно не измерялись, ни одна модель не опубликована.

RESEARCH USE ONLY – NOT FOR CLINICAL USE (только для исследований, не для клинического применения).

Что пошло не так по дороге

  • Первые рендеры шли втрое медленнее, чем могли. Шумоподавление работало на CPU, а GPU простаивал. После исправления 20 000 рендеров заняли около 3 часов.
  • Синтетический вариант падал через несколько эпох. Часть изображений дыма повредилась при копировании на GPU-сервер. Прогоны продолжили с последней контрольной точки, а теперь каждое изображение проверяется до начала обучения.
  • Шесть прогонов дообучения стартовали с недоученных моделей из-за этого падения. Их пометили как недействительные и на тесте не запускали, а код обучения теперь отказывается их запускать.

Возможные следующие шаги

  • Контрольный вариант на 10 % и 25 % реальных кадров без синтетического шага. Это самый дешёвый способ узнать, что даёт синтетика.
  • Рандомизация домена: намеренно нереалистичные текстуры и цвета, чтобы проверить, дело ли во внешнем виде.

Полная карточка модели с идентификаторами прогонов – в репозитории проекта. Смотрите также журнал экспериментов и «Почему важны отрицательные результаты».