Сегментация опухолей головного мозга на МРТ-снимках с акцентом на точность границы. python.. python. ruvds_статьи.. python. ruvds_статьи. u-net.. python. ruvds_статьи. u-net. Блог компании RUVDS.com.. python. ruvds_статьи. u-net. Блог компании RUVDS.com. искусственный интеллект.. python. ruvds_статьи. u-net. Блог компании RUVDS.com. искусственный интеллект. Машинное обучение.. python. ruvds_статьи. u-net. Блог компании RUVDS.com. искусственный интеллект. Машинное обучение. медицина.. python. ruvds_статьи. u-net. Блог компании RUVDS.com. искусственный интеллект. Машинное обучение. медицина. научно-популярное.. python. ruvds_статьи. u-net. Блог компании RUVDS.com. искусственный интеллект. Машинное обучение. медицина. научно-популярное. нейросети.. python. ruvds_статьи. u-net. Блог компании RUVDS.com. искусственный интеллект. Машинное обучение. медицина. научно-популярное. нейросети. сегментация.

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

Стандартные модели сегментации хорошо решают задачу выделения объектов, U-Net стала фундаментом в медицинской нише. Но не всегда достаточно просто выделить границу области: маска может давать хорошее покрытие, быть близкой к целевой, однако иметь неадекватный контур — слишком сглаженный или, наоборот, рваный. Функции потерь покажут низкий loss, но на самом деле этот один пиксель, который в реальности переносится в миллиметры распространения, определяет будущее человека.

BISCUIT-Net стремится решить именно эту проблему. Работая как стандартный U-Net, он добавляет легковесное внимание на контур. Модель буквально делает набросок, после чего аккуратно выстраивает границу. Философия модели: «граница — это не побочный эффект, а цель».

Почему обычной сегментации недостаточно

Глиомы — опухоли коварные. Не потому, что агрессивные, а потому, что неудобные: контур рваный, форма вытянутая, асимметричная, с выступами, которые легко потерять. И всё это нужно зафиксировать на обычном срезе — двумерном изображении.

Данных типично мало для медицины, а для глубокого обучения катастрофически мало, тем более, если обучать модель с нуля.

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

Вот здесь и появляется U-Net. Не потому, что модно, а потому, что он реально держится на малых данных, не тонет в параметрах и даёт стабильный результат. Attention U-Net добавляет умение фокусироваться — не размазывать внимание по всему срезу, а искать нужное. Эти подходы стали хорошей базой, с чем в дальнейшем можно будет сравнивать.

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

А это уже не мелочь. Это серьёзная погрешность!

Дело не в том, что U-Net плохой. Дело в том, чему его учат. Dice (метрика) и бинарная кросс-энтропия (функция потерь) — эффективные инструменты оптимизации, но они оценивают именно площадь. Потерял кусок региона — получи штраф. А вот ситуацию, когда область почти совпала, но граница проведена не там — они почти не замечают. Ошибка размазывается по всей маске, растворяется в общей статистике и перестаёт быть сигналом. Модель просто не получает достаточно информации о том, что именно граница — это проблема.

Сегментация опухолей головного мозга на МРТ-снимках с акцентом на точность границы - 1

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

И для этого были взяты несколько метрик.

Наиболее значимая из них — HD95. Это 95-й перцентиль расстояния Хаусдорфа. Показывает, как далеко находится предсказанный контур от истинного в худших, но не совсем единичных точках. Стандартный Хаусдорф чувствителен к шумам, поэтому берём именно 95-й перцентиль. Чем ниже эта метрика, тем лучше.

ASSD. Вторая по важности метрика, показывает среднее расстояние между поверхностями, то есть как далеко точки из предсказанного контура находятся от настоящих и обратно. Вновь, чем ниже, тем лучше.

BF1@1px и BF1@2px. Важные метрики. Стандартный F1-скор с допуском в 1 и 2 пикселя соответственно. Считаем, что граница совпала, если предсказанная точка оказалась в некоторой узкой окрестности от истинной. Трактовка проста: метрика показывает, какая часть граничных пикселей стоят там, где нужно. Чем выше, тем лучше.

На тесте ожидания от BISCUIT-Net подтвердились. Граничная ошибка резко улучшилась: HD95 упал до 16.65 пикселя против 44.58 у U-Net и 38.60 у Attention U-Net, ASSD снижается до 14.78 пикселя против 41.33 и 35.81, а BF1@2px растёт, хоть и не так значительно — до 0.900 против 0.809 и 0.830. Dice становится выше, но это не так важно. Значимый эффект именно на контуре, там, ради чего строилась архитектура.

Сегментация опухолей головного мозга на МРТ-снимках с акцентом на точность границы - 2

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

Сегментация опухолей головного мозга на МРТ-снимках с акцентом на точность границы - 3

Первый пример. U-Net опухоль находит, но появляется лишний фрагмент, который не должен был быть размечен. Плюс к этому, тонкий верхний участок контура держится хуже — модель его теряет. Attention U-Net справляется не лучше. Внимание работает, но оно не привязано к геометрии границы, поэтому эффекта мало. BISCUIT-Net совпадает с истинным контуром значительно точнее, крупные выбросы ошибки практически исчезают.

Сегментация опухолей головного мозга на МРТ-снимках с акцентом на точность границы - 4

Второй пример интереснее. Форма опухоли рваная, с выступами и вогнутостями. Здесь становится понятно — задача не в том, чтобы просто залить пятно. Нужно сохранить геометрию: каждый выступ, каждый тонкий переход. И вот здесь BISCUIT-Net показывает себя лучше всего. HD95 ниже, BF1@2px выше, контур держится ближе к разметке почти по всему периметру.

Сегментация опухолей головного мозга на МРТ-снимках с акцентом на точность границы - 5

Третий пример показывает обратную сторону Dice. Даже когда все модели визуально похожи и достаточно хорошо перекрывают область опухоли, граничные метрики различают качество контура. BISCUIT-Net точнее проводит границу на правом и нижнем участках, где у базовых моделей появляется смещение.

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

Граница как отдельное представление

Подписанное поле расстояний

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

BISCUIT-Net добавляет второе представление — знаковое поле расстояний или SDF. Для каждого пикселя оно хранит расстояние до ближайшей точки на границе: с отрицательным знаком внутри опухоли и с положительным снаружи. На самой границе значение равно нулю.

Сегментация опухолей головного мозга на МРТ-снимках с акцентом на точность границы - 6

Формально, для бинарной маски Y целевое поле расстояний можно записать так:

varphi^*(u)=begin{cases}  -operatorname{dist}(u, partial Y), & u in Y, \  operatorname{dist}(u, partial Y), & u notin Y.  end{cases}

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

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

Граничный гейт

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

g_s(u)=exp left( -frac{|varphi_s(u)|}{tau_s} right).

Значение гейта близко к 1 около предсказанной границы и быстро убывает по мере удаления от неё. Параметр задаёт ширину полосы внимания вокруг контура.

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

Сегментация опухолей головного мозга на МРТ-снимках с акцентом на точность границы - 9

Два эксперта: свёртка и внимание

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

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

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

Формула весов внимания в граничном эксперте выглядит так:

alpha_{uv}=operatorname{softmax} left( frac{q_u^T k_v}{sqrt{d}} - beta |varphi(u) - varphi(v)| + eta g_s(v) right).

Первый член — стандартное внимание по сходству запросов и ключей. Второй штрафует пары пикселей, которые находятся на разных уровнях SDF. Третий добавляет приоритет пикселям рядом с контуром.

После этого признаки двух экспертов смешиваются через гейт:

Z_s(u)=(1 - g_s(u)) I_s(u) + g_s(u) B_s(u).

Далеко от границы, где  g_s approx 0, преобладает свёрточный эксперт  I_s, а вблизи контура, где   g_s approx 1, больший вклад получает граничный эксперт B_s.

Мы разделяем ответственность, что позволяет сохранить общую эффективность, не применяя внимание везде, но в то же время повысить качество.

Как устроена архитектура

Boundary-Implicit Fusion — это ядро. Вокруг него построена вся остальная архитектура.

Срез попадает на вход и проходит через стем. Здесь используется подход ConvNeXt: depthwise-свёртки, GELU-активация. Стоит отметить обработку высокочастотного потока — он активен до самого конца.

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

Трансформерное внимание включается только на низких разрешениях. Зачем? Контекст нужен для глобальных неоднозначностей — понять, где вообще опухоль, отсечь ложные области. Но если пустить трансформер на высокое разрешение – он размоет детали контура. Поэтому его используют там, где он нужен, и не трогают то, что работает на свёртках.

Разделение задач. Каждый механизм делает то, для чего подходит лучше всего.

Сегментация опухолей головного мозга на МРТ-снимках с акцентом на точность границы - 16

Как обучается модель

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

L=L_{text{region}} + 0.05 L_{text{surface}} + 0.25 L_{text{SDF}} + 0.10 L_{text{boundary}} + 0.02 L_{text{eikonal}} + 0.35 L_{text{aux}}.

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

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

SDF-цель. Один из главных компонентов, который обучает сеть предсказывать само поле расстояний. На границе пиксели получают повышенный вес, а следовательно, ошибки в этой зоне становятся заметнее для оптимизатора.

Граничная цель, как понятно из названия, подаёт сигнал, является ли пиксель граничным или же нет. Поверхностная цель оптимизирует расстояние между предсказанным и истинным контуром напрямую, а не через попиксельное перекрытие.

Эйкональный регуляризатор удерживает SDF в геометрически осмысленном виде. Для настоящего поля расстояний норма градиента должна быть близка к единице:

L_{text{eikonal}}=frac{1}{|Omega|} sum_{u in Omega} left| | nabla varphi(u) | - frac{1}{text{sdf}_{text{trunc}}} right|.

Без этого ограничения сеть научится предсказывать карту, но она будет полезна для классификации пикселей. Иначе поле расстояний лишится своего геометрического смысла.

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

Данные и эксперимент

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

По итогу получилось 2845 срезов в обучающей (train) выборке, 544 и 540 в валидационной (val) и тестовой (test) выборках соответственно. Модель сравнивалась с двумя базовыми линиями — U-Net и Attention U-Net — на одном тестовом разбиении.

Модель

Dice

IoU

HD95 ↓

BF1@1px ↑

BF1@2px ↑

U-Net

0.8571

0.7499

44.58

0.7605

0.8093

Attention U-Net

0.8688

0.7681

38.60

0.7823

0.8305

BISCUIT-Net

0.8836

0.7915

16.65

0.8561

0.9005

Наибольший прирост был в метриках, связанных с границей. Так, HD95 снизился с 44.58 до 16.65 по сравнению с U-Net, то есть почти в 3 раза. BF1@2px поднялся с 0.8093 до 0.9005, что говорит об улучшении точности проводить контур, а не просто лучше заполнять область опухоли.

Метрики Dice и IoU также улучшились, но менее значимо. Ожидаемо, так как BISCUIT-Net оптимизирует другое.

Заключение

BISCUIT-Net показывает, что граничную точность вполне возможно вынести как отдельную задачу. Более того, это улучшает показатели при незначительном росте вычислений.

Контур перестаёт быть абстракцией, а становится объектом, с которым модель работает напрямую. SDF представляет структуру, граничный гейт усиливает нужные области — буквально «подсвечивает» важное — отдельный эксперт «видит» это и обрабатывает, а функция потерь формирует собственные сигналы, не размазанные по всей маске.

В итоге эксперимента получили прирост по тем метрикам, где требовалось. А кроме того, немного улучшились и базовые характеристики. Словом, BISCUIT-Net показал возможность объединения U-Net с механизмом внимания, не наследуя минусы каждого из подходов.

В перспективе этот подход должен пройти проверку на трёхмерных данных, на снимках других опухолей и в целом на иных доменах, где важна точность.

Исходный код архитектуры BISCUIT-Net опубликован в репозитории на GitHub. Оригинальный набор МРТ-снимков головного мозга доступен по ссылке.

© 2026 ООО «МТ ФИНАНС»

Автор: daniilgorbenko

Источник