Ручной труд при проверке соблюдения планограмм, обработке фотографий от мерчандайзеров и создании отчетов подвержен ошибкам и требует перепроверки. Чтобы улучшить эти процессы, мы предлагаем Goods Checker — решение для автоматизации мерчандайзинга.
Table of Сontents
- Что такое Goods Checker и какие задачи он решает
- Архитектура Goods Checker: как решение построено изнутри
- Четыре этапа проекта: от создания датасета до перехода в промышленную эксплуатацию
- Синтетические данные с помощью Blender, или как сократить сроки проекта в несколько раз
- Три примера, как Goods Checker помог компаниям
Что такое Goods Checker и какие задачи он решает
Goods Checker — ИТ-решение для мерчандайзинга на основе компьютерного зрения, которое состоит из трех модулей. Каждый модуль автоматизирует свою часть мерчандайзинга:
- Работа с планограммами: Plano Creator
- Контроль выкладки в магазине мерчандайзерами: Check & Go.
- Распознавание товаров и аналитика: Shelf Eye.
Пару слов о каждом модуле.
Plano Creator — конструктор для создания планограмм. За несколько минут менеджер может создать планограмму, которая будет давать реальное представление о товарах и торговом оборудовании. Планограммы можно создавать для SKU любых размеров
Check & Go — мобильное приложение для работы мерчандайзеров в торговой точке. Приложение помогает полевым сотрудникам ориентироваться в задачах, посещенных и непосещенных торговых точках, видеть сравнение выкладки с планограммой, отмечать проблемы на полках и пр.
Shelf Eye — модуль на основе нейросетей, который отвечает за распознавание товаров на полках, сравнение выкладки с планограммой и формирование аналитики.
Аналитика формируется в нужных разрезах: SKU, магазин, категория, мерчандайзер и пр. Отчеты составляются автоматически на основе результатов работы компьютерного зрения и выполненных заданий мерчандайзеров. Примеры KPI, которые можно отслеживать в Goods Checker: доля бренда/суббренда/SKU собственная и конкурентов на полке, причины несоответствия выкладки планограмме, пропуски товаров и пр.
Про работу Shelf Eye расскажем подробнее.
Архитектура Goods Checker: как решение построено изнутри
Goods Checker построен на микросервисной архитектуре. Микросервисы приложения, их библиотеки, связи и зависимости упакованы в контейнеры — Docker. Docker позволяет быстрее и эффективнее доставлять или перемещать код, стандартизирует выполняемые приложениями операции и в целом экономит средства, оптимизируя использование ресурсов
Микросервисная архитектура помогает настраивать приложение под заказчика.
Микросервисная архитектура позволяет отдельным частям приложения работать независимо друг от друга. Это дает надежность, легкое обновление и экономию.
Надежность. Если сбои происходят в одном микросервисе, то все остальные компоненты системы работают стабильно.
Легкое обновление. Обновляется один модуль, остальные модули приложения работают в обычном режиме.
Быстрый запуск. Контейнер быстро откатывается, если после обновления не работает. Запуск занимает 1–2 минуты.
Экономия. Нет необходимости обслуживать множество ОС, поэтому для разработки и функционирования нужно меньше ресурсов.
Удобство для разработки. Контейнер в тестовой и рабочей среде — один и тот же, поэтому везде будет работать одинаково. Не возникает ситуаций, когда из-за другой среды, например, версии ОС, что-то не выполняется.
Четыре этапа проекта: от создания датасета до перехода в промышленную эксплуатацию
Проект по внедрению Goods Checker да и любого решения на основе компьютерного зрения разделен на 4 этапа: подготовка данных, выбор архитектуры нейросети и обучение модели, оценка и дообучение и переход в промышленную эксплуатацию.
Подготовка данных
На первом этапе необходимо подготовить данные — фотографии SKU, на которых будет обучаться нейросеть. Все данные разбиваем на три набора: тренировочный, валидационный и тестовый. На тренировочном наборе нейросеть обучается, на валидационном — проверяется качество распознавания в процессе обучения, а на тестовом — качество нейросети перед запуском в промышленную эксплуатацию.
Фотографии должны быть максимально разнообразные и приближены к реальности. Это значит, что кроме идеальных снимков должны быть и фотографии с засветами, бликами, размытые и пр. Процесс добавления искажений называется аугментацией. Аугментация помогает повысить точность распознавания
Выбор архитектуры и тренировка модели
Следующим этапов выбираем архитектуру модели и обучаем нейросеть. В процессе распознавания участвует несколько нейросетей, каждая из которых отвечает за свою задачу.
Все задачи можно разделить на три группы:
- Детекция: найти на снимке объект. Например, на фотографии распознать пачку сока.
- Классификация: отнести найденный объект (кроп) к группе товаров. Например, определить, что найденная пачка сока — это апельсиновый сок бренда А.
- Сегментация: отделить одни объекты от других и работать только с нужными. Например, на снимке есть оборудование с несколькими товарами: вода и соки. Нам необходимо работать только с соками. Нейросеть распознает товары и отсекает воду и выполняет детекцию только соков.
Архитектуры моделей могут быть разных типов, например, сверточные нейронные сети (Convolutional Neural Networks, CNN), рекуррентные нейронные сети (Recurrent Neural Networks, RNN), трансформеры (Vision Transformer, ViT) и тд.
Для каждой архитектуры пишем конфиг — инструкция, как происходит обучение. В конфиге задаем параметры обучения нейросети:
- количество кругов обучения
- метрики, которых нужно достигнуть, чтобы обучение остановилось,
- минимальная величина кропа
- необходимость предобработки изображений и пр.
Часто модель не обучают с нуля, а берут веса/чекпойнты уже предобученных моделей. Такой подход помогает ускорить процесс обучения и сократить сроки проекта.
После того, как архитектура готова, запускаем нейросеть на тренировочном наборе данных. Во время обучения нейросеть проходит несколько кругов — итераций. В конце каждой итерации качество работы нейросети проверяем на валидационном наборе данных. Таким образом модель постепенно улучшает свои параметры в процессе обучения.
Оценка и дообучение модели
Когда модель уже обучилась, проверяем ее работу на тестовом наборе данных. Это поможет понять, насколько точно нейросеть распознает новые данные и нет ли переобучения на тренировочных данных. Если точность распознавания ниже 95%, анализируем разметку, определяем, какие SKU нейросеть распознает плохо, а также какие признаки наиболее важны, чтобы исправить это. После чего снова запускаем модель обучаться.
Так проходит несколько кругов, пока не добьемся нужной точности распознавания.
Внедрение в промышленную эксплуатацию
Запускаем нейросеть на неразмеченных “живых” фотографиях. Этот процесс называется инференс. Когда модель стабильно распознает SKU с точностью в 95% и выше, она готова к использованию в “полях”. Мы интегрируем Goods Checker в ИТ-инфраструктуру заказчика: как отдельное приложение или с помощью API.
Синтетические данные с помощью Blender, или как сократить сроки проекта в несколько раз
В процессе обучения нейросети самый долгий и трудоемкий этап — это создание трех наборов данных. В среднем, необходимо около 100 кропов — размеченных объектов — для каждого типа SKU. Часто снимки размечаются вручную: люди на каждой фотографии выделяют нужные SKU.
Чтобы быстрее собрать датасет, мы используем Blender, где создаем 3D-модель каждого SKU и “размножаем” датасет с нужными нам параметрами. В Blender можно быстро создать сотни изображений: как качественных, так и с искажениями. Такой датасет называется синтетическим. Еще в 2019 году подход с обучением нейросети на синтетическом датасете описали и продвигали эксперты по искусственному интеллекту из Google Cloud AI.
Для сравнения, процесс создания набора данных вручную может занять несколько недель, а синтетические наборы данных можно собрать даже за несколько часов.
Три примера, как Goods Checker помог компаниям
Поделимся тремя историями успеха наших клиентов: мерчандайзинговое агентство, дистрибьютор премиального шоколада и сеть автозаправок.
Мерчандайзинговое агентство ускорило аудиты торговых точек
Согласно данным клиента, в результате использования Goods Checker время аудита торговой точки сократилось на 50%, а составления отчетности — на 70%. Благодаря освободившемуся времени сотрудник сможет дополнительно посетить еще несколько торговых точек, а менеджер — оперативнее следить за ситуацией. Кроме того, использование ИТ-инструментов минимизирует влияние человеческого фактора. Это значит, что сотрудники агентства предоставляют клиентам точную, полную и актуальную информацию вовремя. Клиенты, в свою очередь, могут увидеть реальную картину на полках магазинов, оперативно реагировать на изменения ситуации, принимать решения на основе актуальных данных и увеличить продажи своих товаров.
Дистрибьютор премиального шоколада увидел реальную ситуацию на полках торговых точек
Компания-дистрибьютор шоколадной продукции в СНГ протестировала похожее решение. ИТ-инструмент сравнивает выкладку товара с планограммами. В результате сократилось время аудит торговой точки, супервайзерам стало удобнее работать. Руководители в свою очередь узнали, о фактах реального нарушения выкладки в торговой сети. Менеджеры получили прозрачную систему контроля выкладки, смогли улучшить работу с сетью по представленности продукта.
Сеть автозаправок повысила продажи сопутствующих товаров
Крупная сеть автозаправок с помощью Goods Checker контролирует выкладку и отслеживает заканчивающиеся товары. ИТ-решение помогло повысить продажи сопутствующих товаров в магазинах за счет соблюдения разработанной специалистами планограммы. Кроме того, за счет порядка на полках компания смогла протестировать разные типы выкладки и получить достоверные результаты, найти наиболее оптимальное расположение товаров и увеличить средний чек.
Точность распознавания продуктов по фотографиям составляет 95%, а процент соблюдения планограмм увеличился с 50% до 90%.