Семантическая сегментация
Семантическая сегментация — это задача компьютерного зрения, заключающаяся в присвоении каждому пикселю входного изображения метки класса, соответствующей определённому объекту или области (например, «человек», «автомобиль», «дорога», «небо»). В отличие от классификации изображений, где метка присваивается всему снимку, и от детекции объектов, где объекты выделяются ограничивающими рамками, семантическая сегментация обеспечивает попиксельное понимание сцены, разделяя изображение на семантически однородные области. Результатом работы алгоритма является сегментационная маска — изображение, где каждый пиксель окрашен в цвет, соответствующий его классу.
История
Ранние подходы
До распространения методов глубокого обучения семантическая сегментация выполнялась с использованием классических алгоритмов обработки изображений и методов машинного обучения. К ним относились:
- Пороговая обработка — разделение изображения на области на основе интенсивности пикселей (например, выделение тёмных и светлых участков).
- Методы кластеризации (k-средних, mean-shift) — группировка пикселей по цвету или текстуре.
- Метод водораздела (watershed) — сегментация на основе топологии градиента изображения.
- Условные случайные поля (CRF) — вероятностные модели, учитывающие пространственные связи между пикселями для улучшения границ сегментов.
Эти методы имели ограниченную точность и плохо справлялись с изображениями, содержащими сложные сцены, тени, перекрытия объектов и разнородные текстуры.
Эпоха глубокого обучения
Прорыв в семантической сегментации произошёл с внедрением свёрточных нейронных сетей (CNN). Ключевые вехи:
- 2014 год — Fully Convolutional Networks (FCN). Работа Джонатана Лонга и соавторов (UC Berkeley) предложила заменить полносвязные слои в классификационных CNN (например, VGG16) на свёрточные, что позволило сети принимать изображения произвольного размера и выдавать карту сегментации той же пространственной размерности. FCN ввели понятие пропускающих соединений (skip connections) для объединения мелкозернистой информации из ранних слоёв с семантической информацией из глубоких слоёв.
- 2015 год — U-Net. Разработанная Олафом Роннебергером и соавторами для сегментации биомедицинских изображений, архитектура U-Net состоит из сжимающего (энкодер) и расширяющего (декодер) путей с симметричными пропускающими соединениями. Эта архитектура стала стандартом для задач, где доступно ограниченное количество размеченных данных.
- 2015 год — SegNet. Архитектура от исследователей Кембриджского университета, использующая индексы пулинга (pooling indices) из энкодера для разреженного апсемплинга в декодере, что снижает вычислительные затраты.
- 2016 год — DeepLab (v1–v3+). Серия работ от Google, ключевым нововведением которой стали атрофированные (dilated) свёртки — свёртки с расширенными промежутками между ядрами, позволяющие увеличить поле восприятия без потери пространственного разрешения. DeepLab также интегрировал условные случайные поля (CRF) для уточнения границ.
- 2017 год — PSPNet (Pyramid Scene Parsing Network). Предложила модуль пирамидального пулинга (Pyramid Pooling Module) для агрегации контекстной информации на разных масштабах, что улучшает распознавание объектов нестандартных размеров.
- 2018 год — Mask R-CNN. Хотя эта архитектура в первую очередь предназначена для сегментации экземпляров (instance segmentation), она также может выполнять семантическую сегментацию как побочную задачу, объединяя детекцию объектов и попиксельное выделение масок.
Архитектуры и методы
Энкодер-декодер
Большинство современных архитектур семантической сегментации следуют парадигме энкодер-декодер:
- Энкодер (сжимающий путь) — обычно предобученная на классификации свёрточная сеть (ResNet, VGG, MobileNet, EfficientNet), которая извлекает иерархические признаки, постепенно уменьшая пространственное разрешение карт признаков.
- Декодер (расширяющий путь) — восстанавливает пространственное разрешение до исходного размера изображения, используя операции апсемплинга (транспонированные свёртки, билинейная интерполяция) и объединяя признаки с соответствующих уровней энкодера через пропускающие соединения.
Атрофированные свёртки
Использование атрофированных (dilated) свёрток позволяет энкодеру сохранять высокое пространственное разрешение карт признаков, одновременно увеличивая поле восприятия. Это особенно полезно для сегментации крупных объектов, так как сеть может «видеть» более широкий контекст без потери деталей.
Внимание (Attention)
Механизмы внимания (например, в архитектурах DANet, CCNet, OCRNet) позволяют сети динамически взвешивать важность различных пространственных позиций или каналов признаков. Это помогает модели фокусироваться на релевантных областях и улучшает сегментацию в сложных сценах с перекрытиями и мелкими объектами.
Vision Transformers (ViT)
Начиная с 2020 года, трансформеры начали применяться в задачах семантической сегментации. Архитектуры, такие как SETR (SEgmentation TRansformer) и Swin-UNet, используют трансформеры в качестве энкодера, что позволяет моделировать глобальные зависимости между пикселями без ограничений локального поля восприятия свёрток. Однако они требуют больших вычислительных ресурсов и объёмов данных для обучения.
Наборы данных и метрики
Основные наборы данных
- PASCAL VOC 2012 — 21 класс (включая фон), ~2.9 тыс. изображений с сегментационными масками.
- MS COCO (Common Objects in Context) — 80 классов объектов, ~118 тыс. изображений для обучения, маски для сегментации экземпляров и семантической сегментации.
- Cityscapes — 30 классов (19 используются для оценки), ~5 тыс. изображений городских сцен с высоким разрешением (1024x2048).
- ADE20K — 150 классов, ~25 тыс. изображений с разнообразными сценами (интерьеры, экстерьеры, природа).
- CamVid — 32 класса, ~701 изображение дорожных сцен.
- KITTI — набор данных для автономного вождения, включающий семантическую сегментацию дорожных сцен.
Метрики оценки
- Mean Intersection over Union (mIoU) — основная метрика. Вычисляется как среднее по всем классам отношения площади пересечения предсказанной маски и истинной маски к площади их объединения.
- Pixel Accuracy (PA) — доля правильно классифицированных пикселей от общего числа пикселей.
- Frequency Weighted IoU (FWIoU) — IoU, взвешенный по частоте появления каждого класса.
- Precision, Recall, F1-score — попиксельные метрики, вычисляемые для каждого класса отдельно.
Применение
Автономное вождение
Семантическая сегментация является ключевым компонентом систем восприятия автономных автомобилей. Она позволяет выделять дорогу, пешеходов, другие транспортные средства, дорожные знаки, тротуары и препятствия, обеспечивая безопасное планирование траектории.
Медицинская диагностика
В медицинской визуализации семантическая сегментация используется для выделения органов, опухолей, сосудов и патологий на снимках МРТ, КТ, рентгенограммах и гистологических препаратах. Примеры: сегментация лёгких на КТ для диагностики COVID-19, выделение границ опухолей головного мозга, сегментация сетчатки глаза.
Сельское хозяйство
Применяется для анализа спутниковых и дроновых снимков полей: выделение посевов, сорняков, участков с дефицитом влаги, оценка урожайности. Также используется в роботизированных системах для точного внесения удобрений и гербицидов.
Робототехника
Роботы используют семантическую сегментацию для понимания окружающей среды: выделение проходимых зон, препятствий, объектов манипуляции (например, деталей на конвейере). Это необходимо для автономной навигации и взаимодействия с объектами.
Геоинформационные системы (ГИС)
Обработка спутниковых и аэрофотоснимков для картографирования землепользования, выделения зданий, дорог, водоёмов, лесных массивов. Используется в городском планировании, экологии и мониторинге природных ресурсов.
Видеонаблюдение и безопасность
Сегментация сцен видеонаблюдения позволяет автоматически выделять людей, транспортные средства, оставленные предметы, а также анализировать потоки людей и транспортные заторы.
Проблемы и ограничения
- Необходимость размеченных данных. Создание качественных попиксельных масок — трудоёмкий и дорогостоящий процесс, требующий участия экспертов (особенно в медицине).
- Дисбаланс классов. Некоторые классы (например, «велосипедист» в городских сценах) встречаются значительно реже других, что приводит к смещению модели в сторону частых классов.
- Мелкие объекты и тонкие структуры. Сети с агрессивным даунсэмплингом могут терять детали мелких объектов (например, столбы, дорожные знаки, трещины).
- Перекрытия и окклюзии. Объекты, частично скрытые другими, часто сегментируются некорректно.
- Обобщение на новые домены. Модель, обученная на одном наборе данных (например, Cityscapes), может плохо работать на изображениях с другой камеры, в другом городе или при других погодных условиях.
- Вычислительная сложность. Современные модели (особенно на основе трансформеров) требуют значительных вычислительных ресурсов для обучения и инференса, что затрудняет их применение на мобильных устройствах и в реальном времени.
Связанные задачи
- Сегментация экземпляров (Instance Segmentation) — выделение не только класса, но и отдельных экземпляров объектов (например, каждый автомобиль отдельно). Примеры: Mask R-CNN, YOLACT.
- Паноптическая сегментация (Panoptic Segmentation) — объединение семантической сегментации (для фоновых областей, таких как «небо», «дорога») и сегментации экземпляров (для объектов, таких как «человек», «машина»). Вводит понятие «stuff» (аморфные области) и «things» (счётные объекты).
- Сегментация видео (Video Segmentation) — распространение семантической сегментации на видеопоследовательности с учётом временной согласованности (например, MaskTrack, STM).
- Слабо контролируемая сегментация (Weakly Supervised Segmentation) — обучение сегментации с использованием более дешёвых аннотаций, таких как метки всего изображения, ограничивающие рамки или точки, без полных попиксельных масок.
Источники
- Long, J., Shelhamer, E., & Darrell, T. (2015). Fully convolutional networks for semantic segmentation. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
- Ronneberger, O., Fischer, P., & Brox, T. (2015). U-Net: Convolutional networks for biomedical image segmentation. International Conference on Medical Image Computing and Computer-Assisted Intervention (MICCAI).
- Chen, L. C., Papandreou, G., Kokkinos, I., Murphy, K., & Yuille, A. L. (2018). DeepLab: Semantic image segmentation with deep convolutional nets, atrous convolution, and fully connected CRFs. IEEE Transactions on Pattern Analysis and Machine Intelligence.
- Zhao, H., Shi, J., Qi, X., Wang, X., & Jia, J. (2017). Pyramid scene parsing network. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
- He, K., Gkioxari, G., Dollár, P., & Girshick, R. (2017). Mask R-CNN. Proceedings of the IEEE International Conference on Computer Vision (ICCV).
- Cordts, M., et al. (2016). The Cityscapes dataset for semantic urban scene understanding. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
- Zhou, B., et al. (2017). Scene parsing through ADE20K dataset. Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR).
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →