Игорь Градов
Игорь Градов
6 мин
ai

Computer vision в рознице: хакатон «Ленты» показал, где ломаются пайплайны распознавания ценников

Компания Lenta Tech в 2025 году провела пилот видеоаналитики полок в восьми московских супермаркетах, а затем вынесла на хакатон Lenta Tech Life Hack задачу распознавания ценников с камеры движущегося робота, и опыт участников показал, где именно ломаются типовые пайплайны computer vision в рознице.

Computer vision в рознице: хакатон «Ленты» показал, где ломаются пайплайны распознавания ценников
Почему это важно

Задача computer vision в рознице здесь решалась с жёстким ограничением: только локальный запуск, никаких облачных API, что совпадает с требованиями российских сетей к безопасности данных и делает разбор полезным любому, кто внедряет CV на своей инфраструктуре.

Lenta Tech (ИТ-бренд «Группы Лента») рассказала на Хабре, как устроила ML-хакатон и какие выводы вынесла из решений участников. Пилот со стационарными камерами в 2025 году сэкономил до 40% времени на выкладку товара (по данным самой Lenta Tech), после чего компания решила перейти к мобильным камерам на роботе. Распознавание ценников с движущейся камеры оказалось задачей другого порядка сложности, и именно её отдали на хакатон.

Почему ценник с робота не равен ценнику с фото?

Робот едет вдоль полки. Камера даёт смаз, блики от освещения, разные углы съёмки, частичные перекрытия товарами. Ценники при этом бывают маленькие и крупные, горизонтальные и вертикальные, белые, жёлтые, красные, с разной вёрсткой цены, скидки, штрихкода и QR.

Типичная ошибка: взять кадр, найти прямоугольник ценника, отправить в OCR (оптическое распознавание символов) и ждать таблицу. На практике цена распознаётся частично, название товара читается с ошибками, артикул теряется, QR не декодируется, а несколько кадров одного ценника превращаются в дубли.

Что понадобится

  • Видеоданные с робота (в хакатоне Lenta Tech давала записи из разных зон магазина: алкоголь, молочные товары, мёд, джемы, сиропы)
  • Детектор объектов с открытыми весами (open weights), например YOLO, для поиска ценников в кадре
  • OCR-движок с локальным запуском: EasyOCR, PaddleOCR, Tesseract или TrOCR
  • Трекер для связи одного ценника между кадрами (DeepSORT, ByteTrack или аналог)
  • GPU для инференса (инференс, это прогон данных через обученную модель для получения результата). Приветствовалась оптимизация под rknn int8, формат, близкий к запуску на edge-устройствах (компактных вычислителях рядом с камерой)
  • Время: хакатон проходил в два тура, но воспроизвести базовый пайплайн (последовательность шагов обработки) можно за выходные

Пошаговая инструкция

  1. Разбейте видео на кадры, но не «каждый N-й». Наивный подход «взять каждый десятый кадр» работает как отправная точка, но быстро упирается в качество. В одном кадре ценник смазан, в другом перекрыт, в третьем виден, но под углом. Соберите несколько наблюдений одного и того же ценника через трекинг.

  2. Выберите лучший кадр для каждого ценника. Используйте best-frame scoring: из всех кропов (вырезок) одного ценника возьмите тот, где он крупнее, резче, ближе к фронтальному положению и меньше перекрыт. Это один из главных выводов хакатона: качество добывается не только моделью, но и отбором входных данных.

  3. Запустите детекцию. Прогоните выбранные кадры через детектор (YOLO или аналог) для локализации ценников. На выходе получите координаты рамок.

  4. Распознайте текст локально. Отправьте кропы ценников в OCR-движок. Участники хакатона использовали EasyOCR, PaddleOCR, Tesseract, TrOCR. Все они работают локально, без облачных API, что критично для безопасности данных в российских сетях.

  5. Декодируйте QR-коды отдельно. Из QR нужно извлечь штрихкод, ценовые поля, оптовые пороги, акционную цену и код акции. QR-декодеры (например, pyzbar) работают отдельно от OCR.

  6. Соберите результат в CSV. Каждая строка соответствует одному уникальному ценнику. Поля: название товара, цены, штрихкод, размер скидки, SKU (артикул товара в системе сети), дата печати, код зоны выкладки, цвет ценника, координаты рамки и timestamp кадра.

  7. Дедуплицируйте. Один ценник попадает в кадр многократно. Без дедупликации (удаления повторов) итоговая таблица раздувается дублями. Свяжите наблюдения через трекер и оставьте одну запись на ценник.

Как это выглядит на практике

Участники получали видео с робота, который двигался вдоль стеллажей. Часть записей снята с остановками перед полками, часть в непрерывном движении. На выходе ожидался CSV-файл. Метрика оценки: какую долю ценников с контрольного видео модель распознала с точностью не ниже 80%. Оценивалось комплексно: корректность извлечения полей, сохранение структуры и потенциал решения для доработки.

Пример структуры строки CSV:

product_name,price,barcode,discount,sku,print_date,zone_code,color,bbox,timestamp,qr_barcode,qr_price,qr_promo_code
"Молоко 3.2% 1л",89.90,4607001234567,15%,SKU-00412,2025-03-10,A12,yellow,"[120,340,280,410]",00:01:12.400,4607001234567,89.90,PROMO2025

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

Частые ошибки
  • Наивная выборка кадров. «Каждый десятый кадр» даёт смазанные и перекрытые ценники. Без трекинга и выбора лучшего кадра качество упирается в потолок.
  • Надежда на один OCR. Ни один движок не справляется идеально с жёлтым ценником под углом при бликах. Участники, комбинировавшие несколько OCR или добавлявшие пост-обработку результатов, получали результат выше.
  • Забыли про дедупликацию. Робот проезжает мимо ценника за несколько секунд, это 5-15 кадров с одним и тем же ценником. Без связывания наблюдений таблица забивается дублями.
  • Облачный OCR вместо локального. В условиях хакатона это дисквалификация. В реальном ретейле это нарушение требований безопасности: видео из торгового зала не должно уходить во внешний сервис.
  • Игнорирование QR. QR-код на ценнике несёт структурированные данные (цена, штрихкод, акция). Его проще декодировать, чем распознавать мелкий текст, но многие участники пропускали этот шаг.

Что с этого вам?

Если вы ML-инженер или дата-сайентист в ретейле. Пайплайн Lenta Tech показывает, что ключевое улучшение приходит не от замены модели, а от грамотной работы с видеопотоком: трекинг, мультикадровая агрегация, выбор лучшего кропа. Это применимо к любой задаче computer vision в рознице, от контроля выкладки до мониторинга ценников.

Если вы руководитель ИТ в торговой сети. Ограничение «только локальный запуск» не прихоть, а требование, продиктованное безопасностью данных. Edge-вычисления (обработка прямо на устройстве в магазине) позволяют не гонять видео в облако. Формат rknn int8, на который ориентировала Lenta Tech, рассчитан именно на компактные устройства рядом с камерой.

Если вы автор или маркетолог, пишущий про ретейл-технологии. Кейс Lenta Tech даёт конкретные цифры и сценарий для материала: пилот в восьми магазинах, экономия до 40% времени на выкладку (по данным компании), переход от стационарных камер к роботу. Это не абстрактный «ИИ в ретейле», а задокументированный опыт российской сети.

Мнение редакции dzen.guru

Кейс Lenta Tech ценен не столько моделями (YOLO и EasyOCR доступны каждому), сколько честным описанием того, где всё разваливается. Участники хакатона использовали похожий набор инструментов, но качество отличалось кратно, и разница была именно в инженерной обвязке: как выбрать кадр, как связать наблюдения, как убрать дубли.

Для российских сетей требование локального запуска, это не ограничение ради ограничения. Данные из торгового зала (включая видео с ценами, акциями, выкладкой) чувствительны, и отправлять их во внешние облачные API (например, Google Vision или AWS Textract) многие компании не готовы ни юридически, ни практически.

Честная оговорка: хакатонное решение и промышленный продукт, это разные вещи. Lenta Tech прямо говорит, что оценивала «потенциал для дальнейшей доработки». До стабильного робота в каждом гипермаркете ещё далеко, но направление задано конкретно, и открытые инструменты для старта есть уже сейчас.

Если вы строите пайплайн computer vision для розницы, начните не с выбора модели, а с отбора входных данных: трекинг, лучший кадр, дедупликация. Именно это, по итогам хакатона Lenta Tech, отделяло рабочие решения от нерабочих.

Поделиться:TelegramVK
Игорь Градов
Игорь Градов

Основатель dzen.guru. Эксперт по монетизации и продвижению на Дзен. Автор курса «Старт на Дзен 2026».

Комментарии

Читайте также

Маркетплейс создателей Passionfroot привлёк $15 млн: ИИ-бум гонит бренды к живым экспертам
ai

Маркетплейс создателей Passionfroot привлёк $15 млн: ИИ-бум гонит бренды к живым экспертам

Берлинский стартап Passionfroot привлёк 15 миллионов долларов в раунде Series A под руководством Insight Partners, чтобы масштабировать маркетплейс создателей…

4 мин
AMD ИИ-ускорители Helios заказали OpenAI, Meta и Microsoft: рынок на $1,4 трлн теряет монополию Nvidia
ai

AMD ИИ-ускорители Helios заказали OpenAI, Meta и Microsoft: рынок на $1,4 трлн теряет монополию Nvidia

AMD второго июня представила Helios, серверную стойку для обучения крупнейших ИИ-моделей, которую уже заказали OpenAI, Meta, Microsoft, Anthropic и Oracle, и…

5 мин
AegisAI привлекла $36 млн на ИИ-безопасность почты: фильтры пропускают каждую вторую атаку
ai

AegisAI привлекла $36 млн на ИИ-безопасность почты: фильтры пропускают каждую вторую атаку

AegisAI, стартап бывших руководителей безопасности Google, 4 июня 2025 года закрыла раунд Series A на 36 миллионов долларов, чтобы остановить волну фишинговых…

4 мин