Syntidata
Главная / Блог / Компьютерное зрение / Распознавание товаров на полке: задачи и подводные камни

Распознавание товаров на полке: задачи и подводные камни

Компьютерное зрение

Контроль выкладки, наличие товара, соблюдение планограмм — всё это умеет камера с нейросетью. Но у розницы свои особенности: тысячи похожих позиций, постоянная смена упаковки и плотные ряды.

Распознавание товаров на полке: задачи и подводные камни

Какие задачи решает зрение на полке

Розница — одна из самых благодарных областей для компьютерного зрения, потому что вручную проверять полки в сотнях магазинов дорого и медленно. Задачи обычно складываются в такую картину.

  • Наличие товара. Есть ли позиция на полке, не пусто ли место, где должен стоять товар.
  • Соответствие планограмме. Стоят ли товары в нужном порядке, на нужных полках и в нужном количестве фейсингов.
  • Доля полки. Какую часть занимает продукция бренда относительно конкурентов.
  • Ценники. Совпадает ли цена с учётной, не перепутан ли ценник.
  • Промо и выкладка. Размещены ли рекламные материалы и акционные стойки.
  • Самообслуживание и кассы. Распознавание товаров без штрихкода на весах и кассах.

Эти задачи различаются по требованиям. Для проверки наличия пустых мест достаточно найти зоны отсутствия товара. Для планограммы нужно распознавать каждую позицию вплоть до вкуса и объёма. Основы постановки детекции описаны в статье про детекцию объектов.

Почему розница сложнее, чем кажется

На первый взгляд задача проста: найти коробки на стеллаже. Практика быстро показывает ограничения.

Огромный и меняющийся ассортимент

В среднем магазине тысячи позиций, в крупном десятки тысяч. Новые товары появляются еженедельно, упаковки обновляются, сезонные акции меняют дизайн. Модель, обученная на текущем ассортименте, через несколько месяцев начинает отставать.

Визуальное сходство

Бутылки одного бренда различаются объёмом и вкусом, а на взгляд издалека почти не отличаются. Пачки чая, шоколадные плитки и бытовая химия часто отличаются мелким текстом и цветовыми акцентами. Между своим брендом и подделками или конкурентами граница тонка.

Плотные ряды и перекрытия

Товары стоят вплотную, видна только передняя грань, а нижние ряды закрыты полками. Рамки соседних товаров сильно перекрываются, и детектор склонен их сливать или терять.

Условия съёмки

Фото делает сотрудник телефоном: ракурсы случайны, блики от витрин, ночные лампы дают оттенки, пальцы попадают в кадр. Стационарные камеры стоят под углом, из-за чего верхние полки видны сверху, а нижние искажены.

Отражающие и прозрачные упаковки

Блестящие плёнки, стеклянные банки, бутылки с жидкостью ведут себя на снимке непредсказуемо. Рендеру это тоже даётся нелегко, но решаемо при физически корректных материалах.

Типичная архитектура решения

Практическое решение редко ограничивается одной моделью. Чаще это двухэтапная схема.

  1. Детекция предметов без привязки к названию. Модель находит все товарные единицы на кадре как один обобщённый класс. Она хорошо переносится между магазинами и устойчива к смене ассортимента.
  2. Классификация или поиск по эталонам. Каждую найденную область сопоставляют с каталогом: нейросеть строит векторное представление и ищет ближайший эталон. Новая позиция добавляется загрузкой нескольких изображений, без полного переобучения.
  3. Логика выкладки. Результат сравнивается с планограммой: порядок, количество, пустоты.
  4. Отчёт. Формирование отклонений, задач для сотрудников и сводной статистики. Здесь пригодится автоматизация отчётности и процессов.

Разделение на детекцию и сопоставление с каталогом решает проблему меняющегося ассортимента. Детектор обучается один раз и редко, каталог обновляется постоянно.

Данные: откуда брать и что размечать

Для детекции нужны кадры с полками и рамки вокруг каждой товарной единицы. Для сопоставления с каталогом нужны эталонные изображения каждой позиции с разных сторон. Задача выглядит дешёвой, пока не подсчитаешь объём ручной разметки: на одной полке десятки предметов, на кадре сотни, а тысяч кадров нужно много.

Источник данныхПлюсыМинусы
Фото из магазиновРеальные условияДорогая разметка, ограниченный охват
Эталонные фото из каталогаЧистые изображенияНе похожи на условия на полке
Аугментация кадровБыстро и недорогоОграниченная вариативность
Синтетические сценыЛюбой ассортимент, точная разметкаНужна проверка на реальных кадрах

Роль синтетики

Для ритейла синтетика особенно уместна по нескольким причинам.

  • Разметка. Сотни перекрывающихся предметов получают точные рамки и маски без ручной работы. Об особенностях разметки перекрытий мы писали в статье про правила разметки ограничивающих рамок.
  • Новый товар. Упаковку можно создать ещё до её выхода в продажу, по макету дизайна, и обучить систему распознавать новинку в день запуска.
  • Управляемая вариативность. Меняем полки, подсветку, плотность выкладки, количество пустых мест, ракурсы камеры, ценники и посторонние предметы.
  • Редкие ситуации. Перепутанные товары, перевёрнутые упаковки, упавшие предметы, которые в реальных данных почти не встречаются.

Мы строим такие сцены в рамках услуги синтетические датасеты: модели упаковок создаются по макетам и фотографиям, затем размещаются на стеллажах с различными планограммами, и сцена рендерится с полной разметкой. Для сомневающихся есть тестовый датасет по запросу, а ценность подхода растёт с объёмом.

Метрики: что считать успехом

Для бизнеса важны не только метрики детекции, но и показатели на уровне магазина.

  • Точность распознавания позиции. Доля правильно определённых товаров среди найденных.
  • Полнота по фейсингам. Какая часть реально стоящих единиц найдена.
  • Точность определения пустых мест. Критична для задач наличия.
  • Доля верно оценённых полок. Полка считается верной, если по ней нет существенных ошибок.
  • Время обработки кадра и пропускная способность при массовой съёмке.

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

Подводные камни внедрения

  1. Съёмка. Если сотрудники снимают полки произвольно, качество будет плавать. Нужны простые правила: расстояние, угол, охват, а в приложении подсказки и автоматическая проверка резкости.
  2. Обновление каталога. Нужен процесс: кто и как добавляет новые позиции, как быстро они начинают распознаваться.
  3. Похожие позиции. Если модель путает два вкуса, иногда проще объединить их в один класс, чем гнаться за невозможной точностью.
  4. Нечётные упаковки. Развесные товары, овощи, выпечка требуют отдельных подходов, а штучные упаковки — других.
  5. Доверие сотрудников. Если система часто ошибается, сотрудники перестают её слушать. Лучше начинать с задач, где точность высока, и расширять охват.
  6. Хранение и приватность. На полочных фото иногда попадают покупатели и сотрудники, поэтому нужны правила хранения и обезличивания.

Как начать проект

Практичный порядок выглядит так.

  1. Выберите одну задачу, например наличие товара в одной категории, и один формат магазина.
  2. Соберите небольшой набор реальных кадров для оценки и договоритесь о метриках успеха.
  3. Постройте базовый детектор и систему сопоставления с каталогом.
  4. Добавьте синтетические сцены там, где реальных данных не хватает: новые упаковки, плотные ряды, редкие отклонения.
  5. Запустите пилот на нескольких магазинах, соберите ошибки и обновите данные.
  6. Масштабируйте на другие категории и форматы.

Последовательность помогает увидеть реальную экономику до больших вложений. Более общие шаги проекта мы описали на странице как мы работаем.

Три практических совета по качеству кадров

Качество входных снимков определяет почти всё остальное, поэтому стоит потратить время на простые меры.

  1. Съёмка по маршруту. Определите стандартный порядок обхода полок и положение сотрудника. Если в приложении есть контур, по которому нужно совместить полку, различий между кадрами станет заметно меньше.
  2. Автоматическая проверка на месте. Приложение должно сразу оценить резкость, засветку и охват, а при проблемах попросить переснять, пока человек ещё стоит у полки. Переснимать через неделю никто не будет.
  3. Сшивка панорам. Длинные стеллажи не помещаются в один кадр. Серия перекрывающихся снимков сшивается в панораму, иначе одни и те же товары будут посчитаны дважды.

Хорошо продуманная съёмка нередко даёт больше, чем переход на более тяжёлую модель, и стоит гораздо дешевле.

Обновление модели по расписанию

Ритейл живёт сезонами. Заранее закладывайте цикл: раз в определённый период собираются ошибки, формируется список новых и изменённых упаковок, готовятся эталоны и при необходимости новая партия сцен. Тогда новая коллекция не становится сюрпризом, а модель не деградирует незаметно.

Итог

Распознавание товаров на полке — задача, где данные важнее архитектуры: ассортимент велик, меняется и снимается в сложных условиях. Выигрышная стратегия — разделить детекцию и сопоставление с каталогом, держать каталог живым и закрывать дефицит данных синтетикой и аугментацией.

Если у вас есть идея проекта для сети магазинов или производителя, напишите на [email protected]: опишите категории, форматы магазинов и желаемые отчёты, и мы подготовим предложение по данным.


Читайте также