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-образной формы, которая формируется двумя основными компонентами: сжимающим путём (слева) и расширяющим путём (справа).
Сжимающий путь (нисходящий)
Сжимающий путь, также называемый энкодером, представляет собой типичную свёрточную сеть. Он состоит из повторяющихся блоков, каждый из которых включает:
- Две свёрточные операции с ядром 3×3 и функцией активации ReLU (Rectified Linear Unit).
- Операцию подвыборки (max pooling) с окном 2×2 и шагом 2, которая уменьшает пространственное разрешение карты признаков в два раза.
На каждом этапе сжатия количество каналов (глубина) удваивается, начиная с 64 каналов на первом уровне. Всего в сжимающем пути обычно 4-5 уровней. Этот путь извлекает контекстную информацию, такую как границы, текстуры и формы объектов, но теряет пространственную точность из-за уменьшения разрешения.
Расширяющий путь (восходящий)
Расширяющий путь, или декодер, симметричен сжимающему пути. Он восстанавливает пространственное разрешение карты признаков до исходного размера изображения. Каждый блок расширяющего пути включает:
- Операцию повышающей дискретизации (up-convolution) с ядром 2×2, которая увеличивает разрешение в два раза и уменьшает количество каналов в два раза.
- Конкатенацию (объединение) с соответствующей картой признаков из сжимающего пути через пропускное соединение (skip connection).
- Две свёрточные операции с ядром 3×3 и функцией активации ReLU.
Пропускные соединения являются ключевым нововведением U-Net. Они передают детализированную пространственную информацию из ранних слоёв энкодера в соответствующие слои декодера, что позволяет сети точно локализовать границы объектов.
Выходной слой
На последнем уровне расширяющего пути применяется свёртка с ядром 1×1, которая преобразует карту признаков в карту сегментации с количеством каналов, равным количеству классов (например, 1 для бинарной сегментации, 3 для трёх классов). Для каждого пикселя вычисляется вероятность принадлежности к каждому классу, и на основе этого формируется итоговая маска.
Обучение
U-Net обучается с использованием размеченных данных, где каждому пикселю входного изображения соответствует метка класса (например, «клетка» или «фон»). В оригинальной статье авторы использовали функцию потерь на основе кросс-энтропии, взвешенную по пикселям. Веса для каждого пикселя вычислялись на основе расстояния до границы объекта, что позволяло сети уделять больше внимания точной сегментации границ.
Для обучения с небольшим набором данных применялась аугментация — искусственное увеличение количества обучающих примеров за счёт случайных трансформаций: поворотов, сдвигов, масштабирования, отражений и эластичных деформаций. Это значительно повышало устойчивость сети к вариациям в изображениях.
Оптимизация проводилась с помощью стохастического градиентного спуска (SGD) с импульсом. В качестве функции активации использовалась ReLU, а для инициализации весов — метод, предложенный Ксавье Глоротом.
Применение
U-Net изначально разрабатывалась для биомедицинской сегментации, но её универсальность привела к широкому применению в различных областях.
Медицина и биология
- Сегментация клеток и ядер: U-Net используется для автоматического выделения клеток на микроскопических снимках, что важно для анализа клеточного цикла, диагностики рака и изучения тканей.
- Сегментация органов и опухолей: В радиологии U-Net применяется для сегментации органов (лёгких, печени, почек, мозга) и патологических образований (опухолей, метастазов) на КТ, МРТ и рентгеновских снимках.
- Сегментация сосудов: Сеть способна выделять кровеносные сосуды на ангиографических изображениях, что помогает в диагностике сосудистых заболеваний.
Другие области
- Обработка спутниковых снимков: U-Net адаптирована для сегментации дорог, зданий, водоёмов и сельскохозяйственных угодий на аэрофотоснимках и спутниковых изображениях.
- Автономное вождение: Используется для сегментации дорожной разметки, пешеходов, транспортных средств и препятствий на изображениях с камер.
- Промышленный контроль: Применяется для обнаружения дефектов на поверхности материалов, трещин в бетоне или брака на производственных линиях.
- Обработка документов: U-Net может сегментировать текст, таблицы и изображения на отсканированных страницах.
Варианты и модификации
С момента появления U-Net было предложено множество её модификаций, адаптированных под конкретные задачи:
- 3D U-Net: Расширение архитектуры для обработки трёхмерных данных, таких как КТ- или МРТ-снимки, где каждый слой обрабатывает объёмные блоки.
- Attention U-Net: Добавляет механизм внимания (attention gates), который позволяет сети фокусироваться на наиболее значимых областях изображения, игнорируя шум.
- Residual U-Net: Внедряет остаточные блоки (residual blocks) для улучшения обучения глубоких сетей и предотвращения затухания градиента.
- U-Net++: Усложняет архитектуру за счёт добавления дополнительных пропускных соединений и плотных блоков, что улучшает сегментацию объектов разного масштаба.
- UNetFormer: Гибридная архитектура, объединяющая U-Net с трансформерами, для обработки последовательностей и изображений.
Ограничения
Несмотря на высокую эффективность, U-Net имеет ряд ограничений:
- Чувствительность к качеству данных: Сеть требует тщательной предобработки изображений (нормализации, выравнивания гистограммы) и качественной разметки.
- Вычислительные затраты: Полная архитектура с 4-5 уровнями требует значительных ресурсов памяти и времени обучения, особенно для больших изображений.
- Проблемы с сегментацией мелких объектов: U-Net может плохо справляться с сегментацией очень мелких или сильно перекрывающихся объектов, так как на этапе сжатия теряется детализация.
- Необходимость аугментации: Для достижения хороших результатов на малых наборах данных требуется интенсивная аугментация, что увеличивает время обучения.
Источники
- Ronneberger O., Fischer P., Brox T. U-Net: Convolutional Networks for Biomedical Image Segmentation // Medical Image Computing and Computer-Assisted Intervention (MICCAI). — 2015.
- Çiçek Ö., Abdulkadir A., Lienkamp S. S., Brox T., Ronneberger O. 3D U-Net: Learning Dense Volumetric Segmentation from Sparse Annotation // Medical Image Computing and Computer-Assisted Intervention (MICCAI). — 2016.
- Oktay O., Schlemper J., Folgoc L. L., et al. Attention U-Net: Learning Where to Look for the Pancreas // arXiv preprint. — 2018.
- Zhou Z., Siddiquee M. M. R., Tajbakhsh N., Liang J. UNet++: A Nested U-Net Architecture for Medical Image Segmentation // Deep Learning in Medical Image Analysis and Multimodal Learning for Clinical Decision Support. — 2018.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →