Решение:

Наполеон IT

Вызов

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

Сложность этого процесса связана с:

  1. Большой выбор входных данных;
  2. Сложные бизнес-процессы клиентов, например, наличие очень похожих товаров от разных производителей или добавление / удаление новых SKU из области мониторинга;
  3. Предметы, которые имеют похожий внешний вид, но могут отличаться;
  4. Разные объемы упаковки в одном и том же товаре;
  5. Разные названия одного и того же товара в разных магазинах.

Решение

После того, как фотография сделана, мобильное приложение отправляет изображение в хранилище S3. Затем, используя адрес изображения на S3, мобильное приложение отправляет на сервер запрос распознавания. Затем сервер создает задачу для идентификации в базе данных и ставит в очередь адрес изображения. С другой стороны очереди находятся «работники идентификации», которые загружают изображение из хранилища данных и идентифицируют его.

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

Конвейер идентификации работает следующим образом:

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

Найденные пары продукт-цена в дальнейшем используются при классификации объема упаковки. Здесь теория состоит в том, что предмет с меньшей емкостью стоит меньше, чем предмет с большей емкостью. Наконец, идентифицированный продукт и его цена возвращаются клиенту.

Используемые технологии:

  • Языки программирования: Python, GO
  • Фреймворки глубокого обучения: Pytorch, Tensorflow
  • База данных: Postgres DB
  • Очередь: RabbitMQ