Компания
О комапнии
olga@epoch8.co
Контакты
Блог

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

Один из важнейших аспектов в работе с большим объемом товаров, – это скорость обработки. С ростом объемов продукции, проходящей через цепочки поставок, возрастает и потребность в быстром и точном распознавании информации на упаковке: штрих-кодов, QR-кодов, текстов и символов. Поэтому все больше компаний, занимающихся логистикой и розничной торговлей, переходят к автоматизации процесса распознавания маркировки на товарах.
Целый ряд товарных групп в России подлежит обязательной маркировке. Среди них: алкоголь, молочные продукты, косметика, фармацевтическая продукция и так далее. Поскольку обязательная маркировка делает каждую единицу товара уникальной, прием и отгрузка товара со склада стала выполняться по уникальным двумерным кодам: Data Matrix и QR-коду. По этим кодам товар отслеживают на всем его пути от производителя до конечного пользователя. И потребитель при желании может проверить подлинность приобретаемого товара.
Наша команда разработала систему распознавания маркировки на товарах, используя технологии компьютерного зрения и машинного обучения. Рассмотрим в данной статье архитектуру двухстадийного пайплайна для распознавания знаков и двумерных кодов.

Преимущества автоматизации распознавания маркировки:

  1. Скорость. Один из важнейших аспектов в логистике - это скорость обработки товаров. Чем быстрее система может считать информацию с товаров, тем быстрее их можно обработать на складах, упаковать и отправить.
  2. Точность. Человеческий фактор часто становится причиной ошибок при считывании и вводе данных. Автоматизация процесса легко решает эту проблему.
  3. Контроль качества. Рынок полон поддельной продукции, которая не только причиняет финансовый ущерб, но и нередко несет угрозу здоровью потребителя и наносит вред репутации производителя. Это особенно актуально для фармацевтики и пищевой отрасли. Искусственный интеллект идентифицирует подлинные товары по уникальным маркировкам, защищая тем самым интересы как потребителя, так и производителя.

Технологии

Для создания системы были выбраны современные библиотеки и модели с открытым исходным кодом:
TensorFlow - библиотека для машинного обучения.
OpenCV - библиотека компьютерного зрения для обработки изображения.
YOLOv5 - модель компьютерного зрения, используемая нами для детекции маркировки на товаре.
EfficientNet B0 - модель нейронной сети, которую мы используем для классификации маркировки.
Zxing - библиотека для распознавания QR-кодов, штрих-кодов и data matrix.

Пайплайн системы

Пайплайн нашей системы устроен следующим образом:
  1. Сбор данных. Изображение товара с маркировкой загружается в пайплайн системы и подвергается последовательной обработке моделями.
  2. Детекция маркировки. YOLOv5 определяет координаты и местоположение маркировки на изображении.
  3. Классификация маркировки. Модель классификации EfficientNet B0 определяет, является ли найденная маркировка двумерным знаком или другим знаком, а затем классифицирует его.
  • Если это двумерный код, то используется библиотека Zxing для его расшифровки.
  • Если это знак, то система классифицирует его по категориям.
  1. Передача данных через API. Система передает результаты обработки через API для дальнейшего использования.

Процесс распознавания маркировки

1. Сбор данных

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

2. Детекция маркировки

После сбора данных изображение загружается в систему и подвергается обработке моделью детекции YOLOv5. На этом этапе система находит расположение маркировки на изображении.
Модель определяет координаты области (bbox), содержащей маркировку, ее класс и score - вероятность того, что найденный объект относится к тому или иному классу.

3. Классификация

После того как система нашла расположение маркировки на изображении с помощью детектора YOLOv5, переходим к классификации найденных объектов. Для выполнения этой задачи мы выбрали модель EfficientNet B0.
EfficientNet B0 базируется на концепции свёрточных нейронных сетей (CNN) и использует метод составного масштабирования (compound scaling) трёх ключевых параметров сети:
  1. Глубина (сколько слоёв в сети) – увеличивая количество слоёв, сеть становится способной обучаться более сложным зависимостям.
  2. Ширина (сколько нейронов в каждом слое) – сеть захватывает больше информации в каждом слое.
  3. Разрешение изображения – увеличение размера входного изображения позволяет сети извлекать более детализированные признаки.
Используя модель EfficientNet B0, система классифицирует найденные объекты по типам: двумерный код или знак.

3.1. Классификация знаков

Процесс классификации знаков маркировки происходит в несколько этапов:
  1. Подача изображения. На вход подается изображение товара с маркировкой, которое уменьшается до стандартного размера (224х224).
  2. Обработка. Модель пропускает изображение через последовательные сверточные слои и MBConv блоки, выделяя важные признаки: контуры, текстуры и другие детали маркировки. Она автоматически акцентирует внимание на ключевых признаках через SE-блоки. Благодаря этому модель может лучше распознавать ключевые элементы маркировки (например, значимые текстуры и символы), что улучшает качество классификации.
  3. Классификация. После того как изображение прошло через сеть EfficientNet B0, система возвращает результат — прогнозируемый класс маркировки.
Модель EfficientNet B0 классифицирует найденные объекты по нескольким категориям:
  • Общая информация: основная информация о товаре.
  • Государственные знаки соответствия: знаки, подтверждающие соответствие товара определенным стандартам.
  • Манипуляционные знаки: знаки, указывающие на особенности хранения и обращения с товаром.
  • Одежда: знаки, связанные с составом ткани.
  • Переработка: информация о правильной утилизации продукции.
  • Экология: экологические характеристики продукции.
  • Предупредительные знаки: знаки, предупреждающие о потенциальных опасностях.

3.2. Распознавание двумерных кодов

Если система определяет, что объект – это двумерный код (QR-код, штрих-код или Data Matrix), то использует специализированную библиотеку Zxing для его распознавания. Zxing быстро извлекает из кода такую информацию, как серийные номера или описание товара.
Система собирает результаты детекции и классификации, а также расшифрованную информацию из двумерных кодов. Все эти данные объединяются в единый результат, который затем передается пользователю или другой системе для дальнейшей работы.

API

Мы разработали API, которое позволяет компаниям интегрировать систему в свои бизнес-процессы. API принимает изображение, обрабатывает его с помощью моделей и возвращает возвращает структурированный JSON-ответ, содержащий:
  • Координаты обнаруженной маркировки.
  • Тип маркировки (например, Data Matrix, QR-код, штрих-код или маркировочный знак).
  • Расшифрованная информация из двумерных кодов (если применимо), включая серийные номера, ссылки или другие данные, закодированные в маркировке.
  • Уверенность модели (confidence score) в правильности распознавания.
  • Дополнительные метрики качества изображения, такие как оценка размытия (blur score) и баланса белого (wb score), которые помогают диагностировать проблемы с исходными данными.
Пример JSON-ответа:
{
barcode_format: "not_recognized" 
barcode_raw_code: "not_recognized" 
blur_score: 419.603 
fixed_defect: "" 
label_id: 34 
label: "datamatrix" 
location_data { 
format: RELATIVE_BOUNDING_BOX 
relative_bounding_box { 
height: 0.072341785 
width: 0.1377011 
xmin: 0.61120814 
ymin: 0.33963096 
} 
} 
score: 0.99609375 
wb_score: 72.3233]
}

Заключение

Мы успешно создали систему распознавания маркировки на товарах помогает ускорить бизнес-процессы, повысить точность и снизить риски, связанные с подделками. Использование таких технологий, как YOLOv5 и EfficientNet B0, позволяет обрабатывать изображения с высокой скоростью и точностью. Это решение подходит для компаний, работающих в логистике, розничной торговле или производстве, где важно быстрое и точное распознавание информации.
ИИ Компьютерное зрение