U-Net - это специализированная архитектура конволюционной нейронной сети (CNN), изначально разработанная для задач сегментации биомедицинских изображений. Ее характерная U-образная структура позволяет точно локализовать и сегментировать объекты на изображениях даже при ограниченном количестве обучающих данных. Олаф Роннебергер, Филипп Фишер и Томас Брокс представили ее в 2015 году в своей работе"U-Net: Convolutional Networks for Biomedical Image Segmentation", U-Net быстро стала влиятельной за пределами своей первоначальной области благодаря своей эффективности в различных приложениях компьютерного зрения (CV), требующих классификации на уровне пикселей.
Архитектура ядра
Архитектура U-Net состоит из двух основных путей, соединенных таким образом, что они напоминают букву "U": сужающий путь (также известный как кодер) и расширяющий путь (также известный как декодер).
- Контрактивный путь (кодировщик): Этот путь соответствует типичной архитектуре CNN. Он состоит из многократного применения двух сверток 3x3 (непарные свертки), за каждой из которых следует активационная функция Rectified Linear Unit (ReLU), а затем операция 2x2 max pooling с шагом 2 для понижающей дискретизации. На каждом шаге понижающей дискретизации количество каналов признаков удваивается. Этот путь захватывает контекст входного изображения, постепенно уменьшая пространственное разрешение и одновременно увеличивая информацию о признаках.
- Расширительный путь (декодер): Этот путь состоит из повторяющихся шагов повышения дискретизации карты признаков с последующей сверткой 2x2 ("up-convolution"), которая вдвое уменьшает количество каналов признаков, конкатенации с соответствующим образом обрезанной картой признаков из сужающего пути и двух сверток 3x3, за каждой из которых следует ReLU. Обрезка необходима из-за потери пограничных пикселей в каждой свертке. На последнем слое используется свертка 1х1, чтобы сопоставить каждый вектор признаков с нужным количеством классов. Этот путь обеспечивает точную локализацию, постепенно увеличивая разрешение выходного сигнала и объединяя его с признаками высокого разрешения из сужающего пути через пропускные соединения. Архитектуры кодировщиков-декодировщиков, подобные U-Net, часто встречаются в задачах сегментации.
- Скип-соединения: Ключевым новшеством, соединяющим эти два пути, является использование пропускных соединений. Эти соединения копируют карты признаков из слоев в сужающемся тракте и объединяют их с соответствующими картами признаков в расширяющемся тракте. Это позволяет декодеру напрямую обращаться к признакам высокого разрешения, изученным кодером, что очень важно для создания карт сегментации с точными деталями.
Ключевые особенности и преимущества
Дизайн U-Net дает несколько преимуществ, особенно для задач сегментации:
- Точная локализация: Экспансивный путь в сочетании с пропускными соединениями позволяет сети генерировать маски сегментации с очень тонкой детализацией.
- Эффективность при работе с небольшими наборами данных: U-Net можно эффективно обучать даже на относительно небольших наборах обучающих данных, что часто встречается при анализе медицинских изображений. Для обучения сети желаемым инвариантам вместе с U-Net часто используется обширное дополнение данных.
- Обучение от конца до конца: Вся сеть может быть обучена от входных изображений до выходных карт сегментации напрямую, что упрощает конвейер обучения.
- Хорошая обобщенность: Он показал высокую производительность не только в медицинской визуализации, но и в других областях, требующих точной сегментации.
Применение в реальном мире
Хотя изначально U-Net был разработан для биомедицинской визуализации, его архитектура универсальна и может быть адаптирована для множества приложений:
- Анализ медицинских изображений: Его основное применение по-прежнему заключается в сегментировании медицинских изображений, таких как снимки МРТ(пример набора данных Brain Tumor), снимки КТ и микроскопические изображения, для решения таких задач, как обнаружение опухолейUltralytics блогUltralytics об обнаружении опухолей), сегментация органов и подсчет клеток. Подробнее читай в обзорах сегментации биомедицинских изображений. Она помогает автоматизировать анализ, соответствующий таким стандартам, как DICOM.
- Анализ спутниковых снимков: U-Net используется для классификации почвенно-растительного покрова, выделения дорожной сети, сегментации площади зданий и мониторинга изменений окружающей среды по спутниковым или аэрофотоснимкам. Изучи различные приложения для дистанционного зондирования.
- Автономное вождение: Сегментирование дорожных полос, пешеходов и других транспортных средств для понимания сцены.
- Промышленный контроль качества: Обнаружение дефектов или сегментирование компонентов в производственных процессах(AI in Manufacturing).
- Сельское хозяйство: Сегментирование культур, сорняков или оценка состояния растений по снимкам с дронов(AI in Agriculture).
Отличие U-Net от похожих концепций
U-Net фокусируется в первую очередь на семантической сегментации, присваивая каждому пикселю изображения метку класса (например, "опухоль", "дорога", "здание"). Это отличается от:
- Сегментация экземпляров: Эта задача не только классифицирует пиксели, но и различает отдельные экземпляры объектов, относящихся к одному классу (например, обозначить автомобиль_1, автомобиль_2, автомобиль_3 по-разному). Хотя U-Net можно адаптировать для сегментации экземпляров, модели вроде R-CNN Маска часто подходят для этого более непосредственно.
- Обнаружение объектов: Это подразумевает идентификацию объектов и рисование ограничительных ра мок вокруг них, а не классификацию каждого пикселя. Такие модели, как Ultralytics YOLO являются самыми современными для обнаружения объектов и известны своей скоростью и точностью.
- Современные модели сегментации: Хотя U-Net остается влиятельной, новые архитектуры, включая сегментационные варианты таких моделей, как Ultralytics YOLOv8 и YOLO11предоставляют мощные возможности сегментации, часто оптимизированные для более быстрого вывода в реальном времени и использующие такие достижения в глубоком обучении, как блоки трансформации или безъякорные конструкции.