К тренажеру
ВопросHardcomputer-visionМой собес

Почему еду на подносе сложно распознавать

На тарелке может быть несколько блюд, они перемешиваются и перекрывают друг друга. Почему segmentation или metric learning не решают задачу автоматически?

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

Смешанная еда ломает четкие границы объектов: одно блюдо может лежать внутри другого, классы похожи визуально, а cosine similarity начинает сравнивать смесь, а не отдельный item.

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

У обычной object detection задачи есть относительно понятные объекты. В столовой это часто не так: рис, овощи, соус и мясо могут лежать в одной зоне, перекрывать друг друга и визуально смешиваться. Поэтому bounding box или segmentation mask не всегда соответствует "блюду" как позиции в меню.

Metric learning тоже не магия. Если embedding считается по кропу, где внутри сразу несколько блюд, расстояние отражает смесь признаков. Hard negatives появляются постоянно: похожие гарниры, разные блюда одного цвета, разные подачи одного блюда, локальная кухня, которую модель не видела.

Практичный ответ - гибрид: ограничения меню конкретной точки, несколько view/камер, quality checks, business rules, confidence thresholds, active learning на ошибках и, возможно, VLM/teacher для разметки или reranking.

Теория

Здесь ошибка часто не в архитектуре, а в mismatch между визуальным объектом и бизнес-объектом "позиция меню".

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

  • Сказать "возьмем YOLO/segmentation и готово".
  • Не объяснить, что такое hard negatives в еде.
  • Игнорировать меню конкретной столовой.

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

  • Объясни mismatch: mask/object != menu item.
  • Предложи hybrid system, а не одну модель.