Глоссарий

U-Net

Открой для себя U-Net, мощную архитектуру CNN для семантической сегментации. Узнай о ее применении в медицине, спутниковой и автономной визуализации.

Обучай модели YOLO просто
с помощью Ultralytics HUB.

Узнай больше

U-Net - это специализированная архитектура конволюционной нейронной сети (CNN), изначально разработанная для задач сегментации биомедицинских изображений. Ее характерная U-образная структура позволяет точно локализовать и сегментировать объекты на изображениях даже при ограниченном количестве обучающих данных. Олаф Роннебергер, Филипп Фишер и Томас Брокс представили ее в 2015 году в своей работе"U-Net: Convolutional Networks for Biomedical Image Segmentation", U-Net быстро стала влиятельной за пределами своей первоначальной области благодаря своей эффективности в различных приложениях компьютерного зрения (CV), требующих классификации на уровне пикселей.

Архитектура ядра

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

  1. Контрактивный путь (кодировщик): Этот путь соответствует типичной архитектуре CNN. Он состоит из многократного применения двух сверток 3x3 (непарные свертки), за каждой из которых следует активационная функция Rectified Linear Unit (ReLU), а затем операция 2x2 max pooling с шагом 2 для понижающей дискретизации. На каждом шаге понижающей дискретизации количество каналов признаков удваивается. Этот путь захватывает контекст входного изображения, постепенно уменьшая пространственное разрешение и одновременно увеличивая информацию о признаках.
  2. Расширительный путь (декодер): Этот путь состоит из повторяющихся шагов повышения дискретизации карты признаков с последующей сверткой 2x2 ("up-convolution"), которая вдвое уменьшает количество каналов признаков, конкатенации с соответствующим образом обрезанной картой признаков из сужающего пути и двух сверток 3x3, за каждой из которых следует ReLU. Обрезка необходима из-за потери пограничных пикселей в каждой свертке. На последнем слое используется свертка 1х1, чтобы сопоставить каждый вектор признаков с нужным количеством классов. Этот путь обеспечивает точную локализацию, постепенно увеличивая разрешение выходного сигнала и объединяя его с признаками высокого разрешения из сужающего пути через пропускные соединения. Архитектуры кодировщиков-декодировщиков, подобные U-Net, часто встречаются в задачах сегментации.
  3. Скип-соединения: Ключевым новшеством, соединяющим эти два пути, является использование пропускных соединений. Эти соединения копируют карты признаков из слоев в сужающемся тракте и объединяют их с соответствующими картами признаков в расширяющемся тракте. Это позволяет декодеру напрямую обращаться к признакам высокого разрешения, изученным кодером, что очень важно для создания карт сегментации с точными деталями.

Ключевые особенности и преимущества

Дизайн U-Net дает несколько преимуществ, особенно для задач сегментации:

  • Точная локализация: Экспансивный путь в сочетании с пропускными соединениями позволяет сети генерировать маски сегментации с очень тонкой детализацией.
  • Эффективность при работе с небольшими наборами данных: U-Net можно эффективно обучать даже на относительно небольших наборах обучающих данных, что часто встречается при анализе медицинских изображений. Для обучения сети желаемым инвариантам вместе с U-Net часто используется обширное дополнение данных.
  • Обучение от конца до конца: Вся сеть может быть обучена от входных изображений до выходных карт сегментации напрямую, что упрощает конвейер обучения.
  • Хорошая обобщенность: Он показал высокую производительность не только в медицинской визуализации, но и в других областях, требующих точной сегментации.

Применение в реальном мире

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

Отличие U-Net от похожих концепций

U-Net фокусируется в первую очередь на семантической сегментации, присваивая каждому пикселю изображения метку класса (например, "опухоль", "дорога", "здание"). Это отличается от:

Обучение и инструменты

Для обучения U-сети требуются аннотированные данные на уровне пикселей, когда каждый пиксель на обучающих изображениях помечается соответствующим классом. Такой процесс аннотирования данных может быть трудоемким, особенно для сложных медицинских или спутниковых изображений. Модели U-Net обычно реализуются и обучаются с помощью популярных фреймворков глубокого обучения, таких как PyTorchPyTorch официальный сайтPyTorch ) и TensorFlowTensorFlow официальный сайтTensorFlow ). Для загрузки и предварительной обработки изображений часто используются библиотеки вроде OpenCV. Платформы вроде Ultralytics HUB могут помочь управлять наборами данных и упростить процесс обучения моделей даже для сложных задач сегментации. Эффективное обучение часто включает в себя тщательную настройку гиперпараметров и изучение различных алгоритмов оптимизации.

Читать полностью