AI-система автоматического распознавания товаров в руках покупателя

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1 услугВсе 1566 услуг
AI-система автоматического распознавания товаров в руках покупателя
Сложная
от 1 недели до 3 месяцев
Часто задаваемые вопросы
Направления AI-разработки
Этапы разработки AI-решения
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1218
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1161
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    854
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1047
  • image_logo-advance_0.png
    Разработка логотипа компании B2B Advance
    561
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    825

Распознавание товаров в руках покупателя в магазине

Amazon Go открылся в 2018 году и до сих пор вызывает вопрос: как система вообще знает, что я взял с полки и положил в корзину, а не передумал и вернул? Ответ — не одна камера и не одна модель, а синхронизированная работа детекции, трекинга и распознавания на десятках потоков одновременно. Это одна из самых технически насыщенных retail-CV задач.

Что значит «распознать товар в руке»

Задача состоит из нескольких подзадач:

  1. Детекция факта взятия товара с полки — рука пересекла зону полки, что-то взяла
  2. Идентификация товара — что именно взяли: SKU-level распознавание
  3. Трекинг покупателя — привязать взятый товар к конкретному человеку
  4. Детекция возврата на полку — взяли → посмотрели → положили обратно

Каждая из этих подзадач нетривиальна. Вместе они создают задачу, которую Amazon решала 4+ лет до коммерческого запуска.

Глубокий разбор: детекция взаимодействия рука-товар

Hand detection и рука-объект контакт

Первый шаг: найти руки в кадре. MediaPipe Hands — хорошо для изолированных рук, но в ретейле руки часто частично закрыты полкой, другими товарами, телом покупателя. Специализированный hand detector: 100DOH (Hand-Object Detector) или EgoHands dataset fine-tuned модель работает лучше в заслонённых сценах.

После детекции рук — распознавание контакта рука-объект. Это не просто пространственное перекрытие боксов: нужно понять, держит ли рука объект или просто находится рядом. Подходы:

  • Bounding box overlap + velocity analysis: объект движется синхронно с рукой → контакт
  • Contact state classification: отдельный классификатор на паре (hand crop, object crop) → держит/не держит
  • Pose estimation: ладонь сомкнута вокруг объекта — детекция захвата через hand keypoints

SKU-level recognition: самая сложная часть

Магазин — это 5 000–50 000 уникальных SKU. Классификатор на 50 000 классов — нереалистично без специальных техник.

Эффективный подход: metric learning + open-set recognition. Вместо закрытой классификации — embeddings, где похожие товары близко в пространстве. Добавление нового SKU = добавление одного эталонного embeddings без переобучения модели.

Backbone: ConvNeXt-Small или EfficientNet-B4 с ArcFace loss, обученный на каталоге товаров (студийные фото). Few-shot recognition: 1–5 эталонных фото на SKU достаточно для надёжной идентификации. На internal benchmark (2 000 SKU бакалейного магазина, условия реального магазина): top-1 accuracy 0.87, top-3 accuracy 0.96.

Дополнительно: штрихкод/QR-код как backup channel. Если товар в руке расположен удобно — CV считывает код напрямую через ZXing или ZBar интегрированный в pipeline. Confidence-based fusion: если barcode читается с confidence > 0.98 → использовать его, иначе → visual recognition.

Инфраструктура для магазина

Плотность камер: для надёжного покрытия зон полок — 1 камера на 1.5–2 м² площади полок. Это много. Магазин 200 м² торговой площади → 30–50 камер. Overhead камеры (смотрят сверху) дополняют боковые.

Вычисления: централизованный GPU сервер (4× NVIDIA A10 для магазина 200 м²) обрабатывает все потоки. DeepStream SDK для multi-stream pipeline, TensorRT для оптимизированного инференса.

Синхронизация: все камеры синхронизированы по времени (PTP, IEEE 1588) с точностью < 1 ms — критично для трекинга между камерами.

Ограничения и реалистичные ожидания

Честно о сложностях:

  • Ошибки при схожих упаковках: два варианта одного товара (классический/лайт) — сложнее всего
  • Частичная видимость: покупатель закрывает товар телом — inevitable gap
  • Возвраты на чужую полку: детектировали взятие, трекали, но положили в другое место

Точность на уровне Amazon Go (~99%+ по их заявлению) требует дополнительных сенсоров — весовые датчики на полках снимают неопределённость: убыло N граммов → взяли 1 пачку конкретного товара. CV + весы = значительно выше точность, чем чистое CV.

Сроки

Pilot-система для зоны 20–30 м² с ограниченным ассортиментом (200–500 SKU): 10–16 недель. Полноценная система магазина 100+ м² с интеграцией в кассу/POS: 5–9 месяцев.