Семантическая сегментация - фундаментальная задача компьютерного зрения (КВ), которая заключается в присвоении каждой отдельной пиксельной метке в изображении определенной классовой метки. В отличие от других задач зрения, которые могут идентифицировать объекты или классифицировать все изображение, семантическая сегментация обеспечивает плотное, на уровне пикселей, понимание содержания сцены. Это значит, что она не просто определяет наличие автомобиля, а точно определяет , какие пиксели относятся к категории автомобилей, отличая их от пикселей, относящихся к дороге, небу или пешеходам. Его цель - разделить изображение на значимые области, соответствующие различным категориям объектов, обеспечивая комплексное понимание визуальной среды.
Как работает семантическая сегментация
Основная цель семантической сегментации - отнести каждый пиксель изображения к заранее определенному набору категорий. Например, на изображении, содержащем несколько автомобилей, пешеходов и деревьев, модель семантической сегментации обозначит все пиксели, составляющие любой автомобиль, как "автомобиль", все пиксели для любого пешехода - как "пешеход", а все пиксели для любого дерева - как "дерево". При этом все экземпляры одного класса объектов рассматриваются одинаково.
Современная семантическая сегментация в значительной степени опирается на глубокое обучение, в частности на конволюционные нейронные сети (CNN). Эти модели обычно обучаются с помощью методов контролируемого обучения, для чего требуются большие наборы данных с подробными аннотациями на уровне пикселей. Процесс заключается в подаче изображения в сеть, которая затем выдает карту сегментации. По сути, эта карта представляет собой изображение, где значение каждого пикселя (часто представленное цветом) соответствует его предсказанной метке класса, визуально разделяя различные категории, такие как "дорога", "здание", "человек" и т.д. Качество маркировки данных имеет решающее значение для обучения точных моделей.
Основные отличия от других задач сегментации
Важно отличать семантическую сегментацию от смежных задач компьютерного зрения:
- Классификация изображений: Присваивает всему изображению одну метку (например, "на этом изображении есть кошка"). Она не определяет местоположение или контуры объектов.
- Обнаружение объектов: Идентифицирует и определяет местоположение объектов с помощью ограничительных рамок. Она подсказывает тебе, где находятся объекты, но не обеспечивает их точную форму на уровне пикселей.
- Сегментация экземпляров: Идет на шаг дальше семантической сегментации, не только классифицируя каждый пиксель, но и различая разные экземпляры одного и того же класса объектов. Например, он присваивает уникальный идентификатор и маску каждому отдельному автомобилю в сцене. Подробнее об этом читай в этом руководстве, где сравнивается сегментация по экземплярам и семантическая сегментация.
- Паноптическое сегментирование: Сочетает в себе семантическую сегментацию и сегментацию по экземплярам, обеспечивая как метку категории для каждого пикселя, так и уникальные идентификаторы экземпляров для счетных объектов ("вещей"), при этом группируя несчетные фоновые области ("вещи"), такие как небо или дорога.
Применение в реальном мире
Детальное понимание сцены, обеспечиваемое семантической сегментацией, имеет решающее значение для многих реальных приложений:
- Автономное вождение: Самоуправляемые автомобили используют семантическую сегментацию, чтобы точно понимать окружающую обстановку. Классифицируя пиксели, относящиеся к дорогам, полосам движения, тротуарам, пешеходам, другим транспортным средствам и препятствиям, система автономного вождения может принимать более безопасные навигационные решения. Это ключевой компонент ИИ для автомобильных решений.
- Анализ медицинских изображений: В здравоохранении семантическая сегментация помогает анализировать медицинские снимки, например МРТ или КТ. Она может автоматически очерчивать органы, определять и измерять опухоли или повреждения, а также выделять аномалии с точностью до пикселя. Например, моделиUltralytics YOLO могут использоваться для обнаружения опухолей, помогая радиологам в диагностике и планировании лечения на основе детальных методов медицинской визуализации.
- Анализ спутниковых снимков: Используется для классификации почвенно-растительного покрова, мониторинга вырубки лесов, городского планирования и применения в сельском хозяйстве. С его помощью можно различать леса, водоемы, поля и застроенные территории на спутниковых фотографиях, как показано в примерах из Обсерватории Земли НАСА. Узнай больше об использовании компьютерного зрения для анализа спутниковых снимков.
- Робототехника: Позволяет роботам более эффективно воспринимать окружающую среду и взаимодействовать с ней, понимая расположение и объекты внутри сцены. Узнай об интеграции компьютерного зрения в робототехнику.
Модели и инструменты
При семантической сегментации часто используются модели глубокого обучения, в частности архитектуры, созданные на основе CNN.
- Архитектуры: К популярным ранним архитектурам относятся полностью конволюционные сети (FCN), которые заменили полностью связанные слои в классификационных сетях на конволюционные слои для вывода пространственных карт, и U-сеть, использующая структуру кодер-декодер с пропуском связей, особенно эффективная для сегментации биомедицинских изображений.
- Современные модели: Современные модели, такие как Ultralytics YOLOv8 и новейшая YOLO11 также предоставляют мощные возможности для решения различных задач сегментации, балансируя между скоростью и точностью.
- Платформы для обучения: Такие инструменты, как Ultralytics HUB, предлагают платформы для управления наборами данных, такими как широко используемый набор данных COCO Segmentation, обучения пользовательских моделей и изучения вариантов развертывания моделей.
- Фреймворки: В разработке часто используются такие фреймворки, как PyTorch и TensorFlow. Для повышения надежности модели обычно используются такие техники, как увеличение данных.