К тренажеру
ВопросMediumcomputer-vision-searchРеальный собес

Detection или segmentation для поиска по фото

Пользователь загружает фото товара, а система должна найти похожие товары в каталоге. Когда достаточно object detection, а когда нужна segmentation?

Короткий ответ

Detection подходит, если нужен bounding box основного объекта; segmentation нужна, когда фон/соседние предметы сильно мешают эмбеддингу или важны тонкие границы.

Полный разбор

Для visual search обычно сначала локализуют объект, затем считают embedding по crop. Bounding box дешевле, проще размечается и часто достаточен для одежды, обуви или предметов на чистом фоне. Segmentation имеет смысл, если background leakage ломает similarity, объект имеет сложную форму, нужно отделять товар от модели/интерьера или несколько объектов пересекаются.

На проде решение зависит от latency, стоимости разметки, качества retrieval после crop и доли плохих фото. Хороший ответ предлагает сравнить варианты через retrieval NDCG/Recall@K, manual error analysis и online метрики.

Теория

Segmentation повышает чистоту визуального сигнала, но стоит дороже в данных, инференсе и поддержке пайплайна.

Типичные ошибки

  • Выбирать segmentation как более модную модель без продуктовой причины.
  • Оценивать detector только по mAP, а не по качеству поиска.
  • Забывать про fallback, когда объект не найден.

Как отвечать на собеседовании

  • Свяжи выбор CV-модели с downstream retrieval quality, а не только с CV-метрикой.