Это alias block. Задайте ID блока-оригинала.
Компания
О комапнии
olga@epoch8.co
Контакты
Как работает система распознавания товаров?
Небольшой экскурс в мир компьютерного зрения. Рассказываем о том, как устроена система распознавания товаров и как грамотно рассчитать качество ее работы.
Как устроено автоматическое распознавание товаров на полках: шаг за шагом
Распознавание товаров на полках - это сложная, но последовательная и прозрачная цепочка действий, которая учитывает картинку, контекст и логику ритейла.

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

В магазине устанавливаем камеры, которые через регулярный промежуток времени (например, 30 минут) делают снимки полок с товарами.

Самое главное на данном этапе - это качество снимков. Разрешение, освещение и угол обзора критически важны для точности распознавания. Это залог того, что система контроля выкладки сможет заметить даже мелкие ошибки и пустые места на полке.

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

2. Детекция

Поиск товаров на изображениях

Полученные снимки подвергаем обработке алгоритмами машинного обучения.

Система находит и выделяет на снимке все объекты, похожие на товары: банки, коробки, бутылки, пачки.

Для этого используется специальный алгоритм (детектор), который видит и выделяет цветной рамкой каждый товар на фото. После чего все эти фрагменты передаются на дальнейший анализ.
3. Классификация
Определяем, какой товар именно попал в кадр

На этом этапе мы применяем комплексный подход к идентификации товара. С одной стороны мы анализируем его внешние признаки, а с другой - смотрим, что находится рядом.

Мы разработали собственный классификатор, который работает с учетом специфики ритейла.
Стандартный классификатор работает как каталог с фиксированным количеством товаров. Наш подход быстрее за счет характера поиска и гибче, так как рассчитан на постоянное пополнение списка товаров.
Цифровые отпечатки похожих товаров находятся рядом, а разных - далеко.
Визуальное сравнение

Ищем визуальное сходство между товарами


Еще на этапе обучения для каждого изображения товара создается уникальный цифровой отпечаток (эмбеддинг), - так система запоминает, чем товары отличаются друг от друга.

Все эти эмбеддинги хранятся в специальной векторной базе данных, и организованы так, что отпечатки похожих товаров находятся рядом, а непохожие далеко.

Так, например, майонез “Слобода” 400 мл и 800 мл будут находиться близко. А майонез “Слобода” 400 мл и майонез “Mr. Ricco” 400 мл будут находиться дальше. И любой майонез находится далеко от банки колы.

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

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

Этот подход решает около 85% задач. Но иногда система путает похожие между собой товары: например, разные вкусы или форматы одной и той же марки. Поэтому мы дополняем ее другими алгоритмами для улучшения точности предсказаний.


Учет контекста полки
Планограмма как ориентир по поиску
Товары на полках магазина обычно выкладывают по какой-то определенной схеме. Нам важно взглянуть не только на сам товар, но и на его соседей по полке.

Какую информацию учитывает алгоритм контекста полки:
• Что было на этой полке раньше?
• Где именно на полке?
• Насколько давно?

Система помнит, что обычно лежит на этом месте (”справа от колы обычно стоит пепси”), какие товары были здесь на прошлой неделе, и когда последний раз разметчик подтвердил выкладку.

За счёт этого количество ошибок уменьшается, и точность распознавания растёт до 92%, потому что банку с йогуртом труднее спутать с банкой с творожком, если известно, что в этом месте обычно только йогурт.
4. Трекинг между кадрами
На практике товары редко исчезают или перемещаются по полке внезапно.

Иногда система на одном снимке видит товар, а на следующем не видит, - мы называем это явление “миганием”. Мигания происходят по ряду внешних причин: мимо прошел человек, тележка загородила товар, один товар перекрыл собой другой и так далее.

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

Алгоритм сравнивает не только координаты, но и “отпечатки” товаров, чтобы убедиться, что ничего не перепуталось.
Это резко снижает количество случайно перепутанных или пропущенных позиций и делает аналитику стабильной.
5. Ранжирование
Выбор наиболее вероятного кандидата

Бывает так, что на один и тот же товар система выдаёт несколько кандидатов по разным алгоритмам: визуальный поиск, контекст полки, трекинг.

В финале система объединяет всю собранную информацию: совпадения по размеру, времени, месту на полке, свежести данных, соответствия плану выкладки.

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

Таким образом точность распознавания доходит до 96%! А количество непонятных или ошибочных совпадений существенно снижается.
Как это выглядит в реальной жизни
Камеры → Распознавание → Состоянии полки → Действия
  • Камеры снимают товарные полки
  • Система распознаёт товары
  • Формируется картина реального состояния полки
  • Сотрудник исправляет проблему
Съемка
Обычный рабочий день магазина.
Над полками и промо-стеллажами висят камеры. Они просто делают снимки полок примерно раз в 30 минут.
Сотрудники продолжают работать как обычно, покупатели выбирают продукты. Кто-то может поставить товар не на своё место, кто-то закрывает полку тележкой или проходит мимо.
Снимки отправляются на обработку системой.
Распознавание
Невидимо человеческому глазу система начинает поэтапную обработку снимков.

Поиск с учетом контекста
После того как система нашла товар на снимке, она сначала ищет визуально похожие товары по цифровому отпечатку изображения.
Затем подключается контекст полки:
  • что обычно лежит именно на этой полке,
  • где именно на полке находится товар,
  • насколько давно это было.
Уже на этом этапе система экономит вам время и ручной труд, но ошибки все же встречаются. Где-то может перепутать два похожих товара, где-то не узнает новую упаковку, а где-то просит уточнения у оператора. И это совершенно нормально!
Любой магазин напоминает живой организм, где одновременно происходит огромное число разных процессов. И такие процессы периодически дают сбой даже в руках самых лучших специалистов.

Трекинг
На полке стоит йогурт. Система подмечает, что этот же йогурт был на предыдущих снимках: находится на том же месте и выглядит так же. А значит, вероятнее всего это все тот же самый йогурт.
Благодаря трекингу между кадрами, количество случайных миганий (когда товар то появляется, то исчезает на снимках без причины) резко падает примерно вдвое. Ошибки становятся объяснимыми, и остаются только на самых тяжелых сценариях: полностью перекрытая полка, новые товары, очень плохой кадр.

Ранжирование
Итак, перед нами йогурт. У системы несколько вариантов того, что это может быть:
  • Danon, клубничный йогурт 150 гр.
  • Danon, малиновый йогурт 150 гр.
Еще один алгоритм подсказывает, что вчера ровно на этом месте стоял клубничный йогурт Danon 150 гр.
Система собирает все эти подсказки:
  • насколько йогурт похож внешне,
  • совпадает ли размер упаковки,
  • стоит ли он на том же месте,
  • как давно этот йогурт уже здесь.
После этого запускается алгоритм ранжирования, который как жюри начинает сравнивать все варианты и выбирает самый логичный из них в данной ситуации.
Состояние полки
Система закончила обработку снимка:
  • нашла все товары на полке,
  • определила, какие именно товары стоят и где,
  • сравнила текущее состояние с тем, что было раньше.

Если с полкой всё в порядке, ничего не происходит.
Система просто обновляет картину состояния магазина.
Если же:
  • промо-товар на полке закончился,
  • на полке появилось пустое место,
  • правила выкладки нарушились,
  • на полках оставили товар из других отделов,
система фиксирует эти изменения и подает сигнал.
Действия
Если на полках наблюдаются какие-то нарушения, система подает об этом сигнал. Теперь работник магазина может быстро исправить ошибку: заполнить полку новым товаром, убрать лишние предметы с полки, поправить промо-выкладку.

Итог

У вас перед глазами ясная картина происходящего в вашем магазине. Вы всегда знаете
  • что реально стоит на ваших полках,
  • где появились пробелы,
  • где стоит провести ручную проверку.
Всё это можно проследить, объяснить и дообучить систему под особенности вашей сети магазинов.

Почему недостаточно одной модели? Зачем столько этапов?

Было бы здорово загрузить фотографии, нажать кнопку “Обучить модель” и наблюдать, как модель распознает любые товары без ошибок. Но, увы, реальность так не работает.

Магазин как живой организм.
Полка сегодня одна, завтра переставили товары местами, послезавтра поменяли светильники, а к вечеру пришла новая партия йогуртов в другой упаковке, над которой трудился целый отдел дизайна и маркетинга.
Что-то затерли, что-то уронили, кто‑то заслонил полку сумкой. Одна модель попросту не справится со всем этим разнообразием проблем.

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

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

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

Эффективность системы обеспечивается не только способностью определять, что за товар стоит на полке, но и умением обойти все факторы, которые мешают это делать правильно в постоянно меняющейся среде.

Именно поэтому реальное автоматическое распознавание товаров — это всегда целый набор из нескольких технологий и подходов, которые помогают друг другу и вместе дают устойчивый, предсказуемый результат для магазина.
Какие метрики действительно важны и зачем их считать
IT-отчету могут пестреть громкими показателями вроде “точность 97%”, “полнота 98%”, но это мало отражает реальное положение дел. На самом деле то, насколько ИИ-система действительно облегчает жизнь куда важнее красивых цифр на бумаге.

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

Только такие метрики имеют смысл для бизнеса и она делятся на две категории:
  • Реальная доля правильных ответов. Сколько раз из ста система отрабатывает так, что оператору или разметчику не приходится ничего перепроверять и исправлять? Чем выше эта цифра, тем меньше ручной работы и потерь и тем быстрее команда реагирует на реальную ситуацию на полке.
  • Способность системы учиться на своих ошибках. Каждый раз, когда что-то идет не так (товар спутали, не увидели новинку, возникло мигание), случай фиксируется и данные отправляются на дообучение моделей. Система не просто избегает старые ошибки, а становится умнее: анализирует спорные ситуации, обновляет свои знания и алгоритмы на основании реальных данных вашего магазина
Что это даёт вам?
  • Меньше рутинной проверки руками, больше автоматической честной аналитики.
  • Система адаптируется под ваш ассортимент, особенности выкладки и даже характерные ошибки персонала.
  • Чем дольше вы её используете, тем она точнее и надёжнее. Вы получаете живой, развивающийся инструмент.