Что такое сегментация изображений?
Сегментация изображений — задача компьютерного зрения, при которой модель относит каждый пиксель кадра к определённому классу или объекту, создавая точную маску формы вместо прямоугольной рамки. В отличие от детекции, которая лишь примерно локализует объект, сегментация повторяет его реальный контур — включая изгибы, вырезы и частичные перекрытия другими объектами.
Результат работы модели сегментации — не список рамок, а карта меток того же размера, что исходное изображение: каждому пикселю присвоен класс или идентификатор объекта. Такая точность нужна не всегда — там, где достаточно знать приблизительное расположение объекта, дешевле и быстрее использовать детекцию с bounding box, а сегментацию применяют именно тогда, когда важна форма.
Из точной маски дальше можно извлечь то, что рамка дать не может: реальную площадь объекта в пикселях или физических единицах после калибровки камеры, ориентацию и изгиб контура, расстояние между границами двух соседних объектов. Эти величины востребованы в задачах измерения и контроля, а не только распознавания.
Чем семантическая сегментация отличается от instance и panoptic?
Семантическая сегментация относит каждый пиксель к классу, но не различает отдельные объекты одного класса — все машины на кадре получают единую маску «машина». Instance-сегментация дополнительно разделяет экземпляры внутри класса — каждая машина получает свою маску. Panoptic-сегментация объединяет оба подхода: различает экземпляры объектов и одновременно относит фон к семантическим классам.
| Вид сегментации | Различает классы | Различает экземпляры | Пример результата |
|---|---|---|---|
| Семантическая | Да | Нет | Все машины — одной маской «транспорт» |
| Instance | Только для объектов переднего плана | Да | Каждая машина — своя маска |
| Panoptic | Да | Да — для объектов; фон только по классам | Каждая машина отдельно + фон по классам |
Выбор вида сегментации напрямую определяет трудоёмкость и стоимость разметки: семантическая маска размечается быстрее, а panoptic-сегментация, объединяющая экземпляры и фон, — самый трудоёмкий и дорогой вариант из трёх.
Где применяется сегментация изображений на практике?
Сегментацию используют там, где решение модели зависит от точной формы объекта, а не только от его наличия и примерного положения: в медицинской визуализации она очерчивает контур патологии на снимке, в беспилотном транспорте — отделяет проезжую часть от обочины и препятствий, в спутниковом мониторинге — определяет границы полей, вырубок или застройки.
Отдельная область применения — промышленный контроль качества, где по контуру дефекта на детали оценивают не только его наличие, но и площадь, форму и степень отклонения от нормы. В агротехнологиях instance-сегментация используется для подсчёта и оценки состояния отдельных растений или плодов на кадре — задача, где семантической маски «поле — не поле» недостаточно.
В ритейле сегментацию применяют для автоматического удаления фона на карточках товаров и для анализа выкладки на полке, где важно не просто найти товар, а оценить, насколько плотно он занимает отведённое место. В приложениях дополненной реальности точная маска объекта нужна, чтобы корректно наложить виртуальный элемент поверх реального изображения без «наездов» на края предмета.
Как размечают маски для сегментации изображений?
Маску для сегментации размечают вручную обводкой контура объекта — полигоном из точек по границе или кистью попиксельно — либо полуавтоматически, когда модель предлагает черновой контур, а разметчик его корректирует. Полуавтоматическая разметка заметно ускоряет процесс на объектах с чёткими границами, но сложные и размытые контуры почти всегда требуют финальной ручной проверки.
Гайдлайн для разметки масок фиксирует, как размечать спорные случаи — частично перекрытые объекты, размытые границы, тени, — иначе разные разметчики очертят один и тот же контур по-разному, и это снизит согласованность датасета. Готовую маску сохраняют либо как отдельное изображение-маску в PNG, либо в компактном формате RLE (run-length encoding), который экономит место на больших датасетах и используется, например, в разметке COCO для задач сегментации.
Разметку изображений попиксельными масками, полигонами и instance-сегментацией под задачу выполняет команда DataMarkup с бесплатным пилотом на тестовой партии.
Как оценивают качество сегментации: что такое IoU и Dice?
IoU (Intersection over Union) для сегментации сравнивает площадь пересечения предсказанной и истинной маски с площадью их объединения — чем ближе значение к единице, тем точнее контур. Dice-коэффициент считается похожим образом, но сильнее взвешивает совпадающую область и при одинаковых ошибках обычно даёт более высокое числовое значение, чем IoU.
Обе метрики чувствительны к размеру объекта: на мелких объектах даже небольшая ошибка контура сильно снижает и IoU, и Dice, поэтому для датасетов с объектами разного масштаба метрики часто считают отдельно по группам размеров, а не одним усреднённым числом по всему датасету.