Обсудить проект
← Вся навигация
cases/automated-ingredient-recognition-by-barcode.md

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

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

Как мы автоматизировали распознавание составов с упаковок по штрихкоду

Как мы автоматизировали распознавание составов с упаковок по штрихкоду

5 минут

Есть запрос на внедрение?

Напиши нашим консультантам и назначьте встречу

Обсудить проект

Проект Сервис распознавания и учета составов товаров

Год 2025

Клиент

Крупный дистрибьютор импортных товаров с ассортиментом, включающим сотни SKU на рынке.

Ситуация на старте проекта

У большинства брендов в портфеле клиента отсутствовали готовые цифровые данные о составе продукции. Единственным источником информации были цифровые макеты упаковок.

Проблематика

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

Бизнес-результат

Процесс оцифровки состава стал практически полностью автоматизированным. Теперь достаточно загрузить изображение — дальше все делает система: извлекает текст, находит штрихкод, связывает состав с конкретным товаром и формирует структурированные данные.

Готовые файлы можно сразу использовать для загрузки в PIM-систему или любую другую систему, содержащую данные о товарах, и последующей передачи в национальный каталог. Ручной труд сводится к проверке результата — это сокращает затраты времени и снижает риск ошибок.

Комментарий менеджера KT.Team

«На момент старта у нас не было аналогичных кейсов — это был первый проект, где нужно было не просто распознавать штрихкоды и текст, но и точно выделять нужные области на упаковке, часто расположенные под углом или в разных проекциях. Это потребовало от команды глубокой проработки подхода и настройки каждого этапа пайплайна.

Мы сделали сервис распознавания ориентированным для бизнеса клиента. При выходе на рынок новых видов упаковок возможна доработка сервиса под них. Благодаря этому наш клиент готов к расширению ассортимента, а команда занята более приоритетными задачами.»

Процесс разработки

Бизнес-запрос на старте

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

Время разработки

6 месяцев с начала обсуждений и всего 3 месяца от начала разработки до запуска рабочей системы.

Результат

Сервис распознавания составов позволил кратно сократить время обработки данных: вместо 30 минут на одну упаковку теперь за 2 минуты система автоматически обрабатывает до 10 изображений. При этом точность распознавания составляет 80–95%.

Как это работает

Сервис запускается автоматически по расписанию и проходит следующие шаги:

  • проверяет загруженные PDF-файлы и находит блок с составом продукта (раздел «Ингредиенты»);
  • распознает текст и извлекает информацию о составе;
  • находит штрихкод на упаковке для точной привязки состава к товару;
  • формирует отчет, в котором каждому штрихкоду соответствует распознанный состав.

Если какое-либо изображение не удалось распознать, это также будет зафиксировано в отчете — пользователь сразу видит, какие файлы требуют ручной проверки.

Готовый отчет можно загружать в любую мастер-систему — за счет использования штрихкода данные корректно соотносятся с нужным товаром.

Стек технологий

Сервис распознавания реализован как распределенное решение с использованием современных инструментов компьютерного зрения и архитектурных подходов:

  • Язык разработки Go для высокой производительности.
  • Микросервисная архитектура, асинхронное взаимодействие через очередь сообщений RabbitMQ: сервис получает задания, обрабатывает их и возвращает результаты обратно в очередь.
  • Интеграция с SMB/FTP для загрузки PDF-документов.
  • Два отдельных модуля для работы с файлами: один отслеживает новые загрузки, второй формирует итоговые Excel-отчеты.

Для распознавания и извлечения состава используется многоступенчатый пайплайн обработки изображений, включающий как классические алгоритмы компьютерного зрения, так и OCR-инструменты:

  • Конвертация: преобразование PDF в изображения.
  • Поиск контуров: выделение границ объектов с помощью OpenCV.
  • Иерархия контуров: определение вложенных областей (например, на упаковках).
  • Кластеризация: группировка элементов с помощью DBSCAN для выделения текстовых блоков.
  • Фильтрация: отбор участков изображения, с высокой вероятностью содержащих текст и штрихкод.
  • Распознавание текста: использование Tesseract OCR.
  • Извлечение состава: поиск ключевых слов (например, «ингредиенты») с учетом искажений, нормализация текста, при необходимости — инверсия цветов и поворот изображения.
  • Распознавание штрихкода: использование библиотеки ZXing или поиск последовательности из 13 цифр в OCR-результатах.

Что было дальше

Система уже работает в продуктиве и помогает клиенту оперативно обрабатывать данные о составах. На текущий момент с ее помощью успешно распознано более 500 упаковок. Доработки и обновления вносятся по мере появления новых товаров, готовящихся к выходу на рынок.

Для реализации автоматической передачи данных в национальный каталог в PIM-системе реализован инструмент формирования Excel-шаблонов, индивидуальных для каждого ТН ВЭД. Формы автоматически заполняются данными из PIM, с учетом преобразований и сопоставлений со справочниками. Пользователю остается только скачать готовый файл и загрузить его в личный кабинет национального каталога, но это уже другая история.

{{cta}}

Пришлем вам необходимые материалы или КП

Напишите нам:

clients@kt.team

Скопировано!

Ответим в течение 30 минут!

Оглавление

Другие кейсы

Смотреть все

Разработка портала управления логистикой в B2B-сфере

Подробнее

Внедрили масштабируемую сервисную шину для АТИМО

Подробнее

Создали кастомизированную DAM-систему на основе Pimcore для сети магазинов «Лента»

Подробнее

Смотреть все

Ваша заявка отправлена успешно

Отправить снова

Давайте обсудим ваш проект

С вами свяжутся персональные менеджеры

Что-то пошло не так! Пожалуйста, попробуйте еще раз.

clients@kt.team

Email:

@kt_team_it

Telegram: