Открыть сервис

U-Net

U-Net — это архитектура свёрточной нейронной сети, предназначенная для сегментации биомедицинских изображений. Разработана в 2015 году группой исследователей из Фрайбургского университета (Германия) под руководством Олафа Роннебергера, Филиппа Фишера и Томаса Брокса. Основной особенностью U-Net является симметричная U-образная структура, состоящая из сжимающего (нисходящего) и расширяющего (восходящего) путей, что позволяет сети эффективно обрабатывать изображения с ограниченным количеством размеченных данных и получать высокоточные карты сегментации.

История

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

В 2015 году на конференции MICCAI (Medical Image Computing and Computer-Assisted Intervention) была представлена статья «U-Net: Convolutional Networks for Biomedical Image Segmentation». В ней авторы описали архитектуру, которая объединяет контекстную информацию из сжимающего пути с точными пространственными координатами из расширяющего пути через так называемые «skip connections» (пропускные соединения). Это позволило сети восстанавливать детализированную карту сегментации, сохраняя при этом глобальный контекст изображения.

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

Архитектура

Архитектура U-Net получила своё название из-за характерной U-образной формы, которая формируется двумя основными компонентами: сжимающим путём (слева) и расширяющим путём (справа).

Сжимающий путь (нисходящий)

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

На каждом этапе сжатия количество каналов (глубина) удваивается, начиная с 64 каналов на первом уровне. Всего в сжимающем пути обычно 4-5 уровней. Этот путь извлекает контекстную информацию, такую как границы, текстуры и формы объектов, но теряет пространственную точность из-за уменьшения разрешения.

Расширяющий путь (восходящий)

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

Пропускные соединения являются ключевым нововведением U-Net. Они передают детализированную пространственную информацию из ранних слоёв энкодера в соответствующие слои декодера, что позволяет сети точно локализовать границы объектов.

Выходной слой

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

Обучение

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

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

Оптимизация проводилась с помощью стохастического градиентного спуска (SGD) с импульсом. В качестве функции активации использовалась ReLU, а для инициализации весов — метод, предложенный Ксавье Глоротом.

Применение

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

Медицина и биология

Другие области

Варианты и модификации

С момента появления U-Net было предложено множество её модификаций, адаптированных под конкретные задачи:

Ограничения

Несмотря на высокую эффективность, U-Net имеет ряд ограничений:

Источники

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →