
Семантическая сегментация — это задача компьютерного зрения, заключающаяся в помещении в один класс связанных элементов изображения.
Семантическая сегментация состоит из трёх этапов:
Классификация: обнаружение и классификация определённого объекта на изображении.
Локализация: нахождение предмета и отрисовка вокруг него ограничивающего прямоугольника.
Сегментация: процесс группировки пикселей в локализованном изображении при помощи маски сегментации.
Существует множество подтипов семантической сегментации, но все они возникают вследствие выбора пары параметров из двух категорий: размерности данных и разрешения выходных аннотаций.
Размерности
Под этим параметром подразумевается количество измерений источника данных. Обычное изображение с камеры — это пример двухмерного объекта, потому что оно имеет только два измерения: высоту и ширину. Трёхмерные данные — это разновидность двухмерных данных с добавлением компонента «глубины». Такими данными могут быть данные лидаров и радаров. Четырёхмерное описание создаётся множеством идущих друг за другом трёхмерных объектов, наложенных на временную ось.
В зависимости от размерности данных при создании масок сегментации используются различные виды семантической сегментации. В случае двухмерной сегментации используется один из двух способов: раскраска на основе пикселей или многоугольников. Так как пиксели — это наименьший компонент в этой модели, каждый из них соответствует одному из классов аннотирования. Это приводит к поточечной сегментации в 3D, где размечается каждая 3D-точка. При наличии достаточного количества точек из одного объекта можно извлечь меш сегментации.
Разрешение
Степень точности результатов аннотирования называется разрешением (granularity). Двумя самыми распространёнными типами являются сегментация классов и экземпляров. В первом типе маска сегментации класса объединяет в себе все области, содержащие члены класса. Во втором случае отд��льная маска сегментации создаётся для каждого уникального элемента выбранного класса, позволяя различать разные экземпляры (например, два разных автомобиля).
Какой тип семантической сегментации более полезен в машинном обучении?
Чтобы получить максимальную выгоду от семантической сегментации, следует использовать сегментацию экземпляров. На то есть несколько причин.
Очень адаптируемый формат
После сегментации данных можно обучать множество моделей машинного обучения, в том числе моделей классификации, распознавания, локализации, создания изображений, разделения фона и переднего плана, распознавания рукописного ввода, модификации контента и многих других. Поэтому этот формат используется во многих отраслях, в том числе в беспилотном транспорте, моде, создании фильмов и постпродакшене, сельском хозяйстве, и так далее.
Непревзойдённая точность
Маски сегментации получаются самыми точными, потому что ограничивают позицию только реального предмета. В отличие от них, ограничивающие прямоугольники часто включают в себя соседние области или соединяются с ними. Это вызвано тем, что нежёсткие объекты находятся внутри или поверх других нежёстких объектов.
Одна аннотация с двумя аннотациями
Несмотря на то, что маски сегментации точнее, ограничивающие прямоугольники всё ещё используются во многих процедурах. К счастью, при помощи маски сегментации всегда можно определить ограничивающий прямоугольник объекта.
Несмотря на свои преимущества, у семантической сегментации есть существенные недостатки.
1. Ручное аннотирование — сложная и длительная задача
Создавать семантические маски вручную долго и сложно. Столкнувшись с ситуациями, когда присутствуют неровные формы или границы между объектами неочевидны, разметчик должен точно отслеживать контур каждого объекта (см. изображения ниже). При аннотировании одного кадра без специальных инструментов часто возникают ошибки и несогласованности, а сама работа может занимать более получаса.
2. Полностью автоматизированные методы неспособны обеспечить высококачественные результаты
Разве не здорово было бы обучить нейронную сеть выполнять семантическую сегментацию, а потом получать все аннотации, ничего не делая?
Однако этого не делают из-за несовпадениям между нашим восприятием качества и оценкой точности. Для генерации маски сегментации используется контур предмета, а качество определяется правильно определённым процентом области.
3. На устранение ошибок требуется много времени
Из-за вышеприведённых причин ошибки могут быть дорогостоящими. Для коррекции несовершенной маски сегментации требуется коррекция N дополнительных масок, где N — количество соседних масок (к этому мы вернёмся позже). На изменение маски требуется столько же времени, сколько и на создание её с нуля. Поэтому ручное изменение результатов полностью автоматизированной сегментации невозможно. Единственный способ предотвращения этой проблемы — использование специализированного ПО для аннотирования и адекватно обученных разметчиков.
4. Затраты на аннотирование семантической сегментации
Как вы уже видели, для создания масок сегментации требуются специализированные аннотаторы, оборудование и автоматизация. Это существенного повышает затраты, обычно в несколько раз по сравнению с аннотированием простыми ограничивающими прямоугольниками, что приводит к быстрому исчерпанию бюджета.
Понравилась статья? Еще больше информации на тему данных, AI, ML, LLM вы можете найти в моем Telegram канале.
- Как подготовиться к сбору данных, чтобы не провалиться в процессе?
- Как работать с синтетическими данными в 2024 году?
- В чем специфика работы с ML проектами? И какие бенчмарки сравнения LLM есть на российском рынке?
