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

Агрегация нескольких фото товара

У товара может быть несколько фотографий: общий вид, детали, разные ракурсы. Как получить устойчивое представление товара для поиска по фото?

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

Считать embedding на каждое фото и агрегировать max/attention/learned pooling, сохраняя также per-photo embeddings для детализации и explainability.

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

Один embedding на весь товар удобен для индекса, но теряет детали. Практичный дизайн: хранить per-image embeddings, выделять main-photo embedding и агрегированный product embedding. На retrieval этапе можно искать по нескольким векторам или брать top candidates по product embedding, а затем rerank-ить по лучшему совпадению query image с конкретным фото.

Для атрибутов полезно агрегировать не только векторы, но и предсказания цвета, категории, бренда, силуэта. Нужны веса по типу фото, качеству, zoom/detail и позиции в карточке.

Теория

Multi-view item representation снижает шум отдельных фотографий и лучше покрывает разные пользовательские query images.

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

  • Усреднить все фото без учета качества.
  • Удалить per-photo embeddings и потерять точное совпадение деталей.
  • Не учитывать, что главное фото часто отличается от detail shots.

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

  • Предложи двухступенчатую схему: быстрый retrieval и более дорогой reranking по нескольким фото.