AI-система для магазинов: распознавание товаров без касс

Распознавание товаров в руках: система для магазина без касс Мы сталкивались с запросами вроде: «Как сделать магазин без касс, чтобы система понимала, что покупатель взял с полки?». Технически это не одна модель, а синхронизированная работа детекции рук, трекинга и распознавания на десятках поток

Направления AI-разработки

Часто задаваемые вопросы

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    997
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1264
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    1002

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

Мы сталкивались с запросами вроде: «Как сделать магазин без касс, чтобы система понимала, что покупатель взял с полки?». Технически это не одна модель, а синхронизированная работа детекции рук, трекинга и распознавания на десятках потоков. Amazon Go решил эту задачу за 4+ лет до коммерческого запуска — мы предлагаем реалистичный pipeline для ретейла среднего размера. Наш опыт в computer vision для ретейла — более 5 лет, а гарантии точности подтверждены pilot-проектами. В этой статье мы разберём, как построить такую систему с нуля: от детекции контакта рука-товар до идентификации SKU в ассортименте из тысяч позиций. Мы используем современные нейросетевые архитектуры, MLOps-инструменты для продакшн-эксплуатации и metric learning для эффективного масштабирования ассортимента. Результат — сокращение потерь от краж и ошибок инвентаризации на 30–50%, что в денежном выражении может составлять до $14k–20k в год на один магазин средней площади. Потери от неучтённых товаров могут достигать $20k–30k в год для магазина средней площади, и наша система окупается за 6–12 месяцев.

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

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

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

Каждая подзадача нетривиальна. Вместе они требуют глубокой интеграции CV и MLOps.

Как работает детекция контакта рука-товар?

Первый шаг: найти руки в кадре. MediaPipe Hands хорошо для изолированных рук, но в ретейле руки часто частично закрыты полкой, другими товарами или телом покупателя. Специализированный hand detector — 100DOH или 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 = добавление одного эталонного embedding'а без переобучения модели.

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 (сверху) + боковые
Вычисления 4× NVIDIA A10 на GPU-сервере
Инференс-фреймворк DeepStream SDK + TensorRT
Синхронизация PTP (IEEE 1588), точность <1 мс

Все камеры синхронизированы по времени с точностью <1 мс — критично для трекинга между камерами.

Сравнение методов детекции контакта

Метод Преимущества Недостатки
Bounding box overlap + velocity Простота, скорость Ошибки при статичном объекте
Contact state classification Высокая точность Требует много разметки
Pose estimation Робастность к перекрытиям Вычислительно дорого

Что входит в работу

  1. Аудит зоны магазина: планировка, освещение, типы полок
  2. Проектирование схемы камер с учётом слепых зон
  3. Разработка pipeline детекции рук и объектов (PyTorch, TensorRT)
  4. Обучение модели SKU-recognition под ваш ассортимент
  5. Интеграция с POS/весовыми системами (опционально)
  6. Документация и обучение персонала
  7. Пост-релизная поддержка на 3 месяца
Технические детали обучения модели SKU-recognition

Мы используем ConvNeXt-Small c ArcFace loss. Размерность эмбеддингов — 512. Аугментации: RandomCrop, ColorJitter, RandomRotation. Модель обучается на студийных фото и дообучается на данных с ваших камер.

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

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

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

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

Технология Amazon Go, описанная в Wikipedia, основана на компьютерном зрении и датчиках веса.

Сроки

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

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