3 апреля 2019
Кейсы

Мобильное приложение с технологией распознавания упаковок на основе машинного обучения

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

Наше решение умеет автоматически распознавать коробки по фотографии витрины с точностью до SKU (уникального идентификатора каждого товара) и определить представленность каждой марки на витрине. Оно может стать ежедневным рабочим инструментом для мерчендайзеров заказчика и полностью автоматизировать аудит полок с упаковками товара.

Решение состоит из трёх частей:

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

В результате решение обеспечивает точность распознавания более 95 %, избавляет мерчендайзеров от ручной работы в процессе аудита магазинов и автоматически передает все данные в аналитические системы компании.

Как работает искусственная нейронная сеть

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

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

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

  1. Нейронной сети предъявляются выборки обучающих примеров (фотографии пачек товара).
  2. Каждый образец проходит обработку внутри структуры НС, в процессе вычисляется выходной сигнал сети, который сравнивается с соответствующим значением целевого вектора, представляющего собой требуемый выход сети.
  3. Затем по определенному правилу вычисляется коэффициент ошибки.
  4. Подстраиваются веса для уменьшения ошибки и связям в нейроной сети устанавливаются новые веса.
  5. Процесс обучения продолжается, пока ошибка по всему проверочному массиву фотографий не достигнет приемлемо низкого уровня. В таком случае нейронная сеть будет считаться обученной.

Зачем нужна система непрерывного обучения искусственного интеллекта

Дизайн упаковок постоянно меняется, на рынок выходят новые марки. Наша система непрерывно обучается, улучшая точность распознавания.

Машинное обучение, в сравнении с другими методами распознавания, дает более точный результат и непрерывно его повышает.

Мы задействовали открытую программную библиотеку TensorFlow, разработанную Google для решения задач построения и тренировки нейронной сети для автоматического нахождения и классификации образов. Более подробно про её работу можно прочитать в нашей статье на Habr

Как работает решение в жизни

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

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

В результате анализа фотографии нейронная сеть выдаёт мерчендайзеру список SKU, представленность марок на полке и вариант оптимального размещения. Параллельно вся информация передается в аналитические системы компании, для сбора общей информации.