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

Розпізнавання товарів у руках: система для магазину без кас Ми стикалися із запитами на кшталт: «Як зробити магазин без кас, щоб система розуміла, що покупець взяв із полиці?». Технічно це не одна модель, а синхронізована робота детекції рук, трекінгу та розпізнавання на десятках потоків. Amazon

Напрямки 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%, що в грошовому вираженні може становити до 1.5 млн грн на рік на один магазин середньої площі. Втрати від необлікованих товарів можуть сягати 2–3 млн грн на рік для магазину середньої площі, і наша система окупається за 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 з 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 місяців.

Оцінимо ваш проєкт: зв'яжіться з нами для безкоштовного аудиту планування — надішлемо технічну пропозицію та приблизні терміни. Замовте проєкт та отримайте консультацію інженера. Ми також допоможемо з вибором конфігурації камер та серверів під ваш бюджет. Зв'яжіться з нами, щоб обговорити деталі.