Глоссарий

U-Net

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

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

Узнай больше

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

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

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

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

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

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

  • Точная локализация: Пропускные связи позволяют сети сочетать глубокую, контекстуальную информацию (из нижних слоев кодера) с мелкими пространственными деталями (из более ранних слоев кодера).
  • Эффективность при ограниченном количестве данных: Он отлично справляется даже с небольшими наборами данных, что является распространенным сценарием при анализе медицинских изображений, где аннотированных данных может быть мало.
  • Обучение от конца до конца: Вся сеть может быть обучена от входного изображения до выходной карты сегментации напрямую.

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

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

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

U-Net фокусируется в основном на семантической сегментации, присваивая каждому пикселю метку класса. Это отличается от сегментации экземпляров, которая различает отдельные экземпляры объектов, принадлежащих к одному классу. Хотя U-Net можно адаптировать для сегментации экземпляров, такие модели, как R-CNN Маска, часто более непосредственно подходят для этой задачи. Современные модели вроде Ultralytics YOLOv8 также предлагают мощные возможности сегментации, часто оптимизированные для скорости и работы в реальном времени, потенциально используя различные архитектурные подходы под влиянием достижений в области глубокого обучения.

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

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

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