Главная » Новости » Разбираемся в особенностях работы с маркировкой Data Matrix
Ответим на вопрос, так ли нужна красная подстветка вместо белой и можно ли обойтись без 100% контроля грейда кодов (верификация) при решении задач сериализации/агрегации

Некоторые компании-поставщики технического зрения пытаются представить использование красной подсветки вместо белой в поставляемых ими считывателях кодов, как «неоспоримое конкурентное преимущество». По мнению данных компаний, красная подсветка позволяет увеличить контрастность получаемых черно-белых изображений кодов Data Matrix, а значит, и повысить надежность их распознавания/декодирования в различных неблагоприятных условиях.

Кроме того, если предлагаемые модели считывателей кодов поддерживают функцию оценки грейда считываемого кода, то это также преподносится как «необходимый функционал». Заказчику навязывается использование этой функции, будто бы обеспечивающей тотальную верификацию кодов в потоке в процессе решения задач сериализации/агрегации.

Давайте разберемся, так ли это.

Миф 1: Красная подсветка предпочтительней белой.

Вопрос контрастности кодов, наносимых на продукцию, в нашей стране стал особенно актуальным с запуском Национальной системы маркировки товаров «Честный ЗНАК». Дело в том, что на разных участках логистической цепочки и в точках продаж могут быть установлены сканеры кодов совершенно разных производителей и моделей, отличающиеся по характеристикам и качеству сканирования. И код невысокой контрастности, отлично читающийся одним сканером, другой может не распознать.

Чтобы исключить такие ситуации и обеспечить максимальную стабильность и надежность декодирования кодов Data Matrix в любых ситуациях, главная рекомендация оператора системы «Честный ЗНАК» — код должен контрастно выделяться на поверхности нанесения. Данная рекомендация напрямую следует из национального стандарта Российской Федерации ГОСТ Р ИСО/МЭК 16022-2008 «Автоматическая идентификация. Кодирование штриховое. Спецификация символики Data Matrix», которым определены правила формирования, декодирования и определения качества кодов Data Matrix.

Фотографам известно, что черно-белые изображения цветных объектов становятся более контрастными при съемке в красном свете или с применением красного светофильтра. Такой результат вызван тем, что в красном свете элементы, в цветовом спектре которых присутствуют оттенки синего и зеленого, выглядят более темными и имеют более четкие контуры. И при конвертации такого изображения в черно-белый формат его контрастность повышается (рис. 1).

Рис. 1. Контрастность черно-белого изображения цветного объекта, полученного с применением красного фильтра (фото справа) больше, чем без него (фото слева). На правом фото орнамент, купол и шпиль высокого здания (1) выделяются более четко, также хорошо выделяются облака (2) за ним.
Рис. 1. Контрастность черно-белого изображения цветного объекта, полученного с применением красного фильтра (фото справа) больше, чем без него (фото слева). На правом фото орнамент, купол и шпиль высокого здания (1) выделяются более четко, также хорошо выделяются облака (2) за ним.

Такой же эффект получается и в процессе программного преобразования цветного изображения в черно-белый формат с применением красного фильтра. В этом легко убедиться, сконвертировав с помощью графического редактора, например, Photoshop, любую цветную фотографию пейзажа в черно-белый формат в двух вариантах: c применением красного фильтра и без него.

А вот в случае, когда объект изначально черного цвета (или оттенков серого), его черно-белое изображение, полученное в красном свете, имеет меньшую контрастность, чем при съемке в белом свете (рис. 2). Снимки объектов других однотонных цветов, полученные в тех же условиях, также имеют меньшую контрастность. Подробности — далее в статье.

Рис. 2. Применение красной подсветки (фото слева) уменьшает контрастность черно-белых объектов, в частности 2D-кодов Data Matrix
Рис. 2. Применение красной подсветки (фото слева) уменьшает контрастность черно-белых объектов, в частности 2D-кодов Data Matrix

Для определения контрастности существует несколько методов. При анализе изображений 1D- и 2D-кодов наиболее подходящей является методика определения контраста, которую предложил Альберт Майкельсон.

Формула Майкельсона для определения контраста:

Формула Майкельсона

где безразмерная величина контраста — безразмерная величина контраста, а Bmin и Bmax — минимальная и максимальная яркость элементов изображения.

Более подробно основные методики вычисления контраста описаны здесь.

В представленной ниже Таблице 1 приведены значения контраста по Майкельсону изображений объектов разных цветов при их съемке в белом и красном свете при измерениях в одинаковых условиях на одном и том же оборудовании. Измеренная яркость элементов изображений в таблице 1 указана в условных единицах, в диапазоне от 0 до 255.

Как видно из таблицы, изображение образца черного цвета (строка 5) имеет наибольшие уровни контраста по сравнению с образцами других цветов (колонки D и E). При этом в белом свете контраст изображения с черным образцом заметно больше (D5), чем в красном (E5). Колонки F и G показывают изменение уровня контраста в красном свете относительно белого в абсолютных значениях и процентах соответственно.

Таблица 1. Результаты измерения контраста изображений объектов разных цветов, полученных в белом и красном свете

Результаты измерения контраста изображений объектов разных цветов, полученных в белом и красном свете

Стандартом ГОСТ Р ИСО/МЭК 16022-2008 никак не ограничивается выбор метода печати кодов. Главное требование для надежного декодирования кода состоит в том, чтобы его непрерывные модули не имели промежутков («Приложение T» к стандарту). А такое качество печати кода не всегда могут обеспечить, например, матричные или офисные струйные принтеры.

Чтобы обеспечить максимальную контрастность кодов Data Matrix и повысить надежность их распознавания в различных условиях, большинство производителей продукции используют черно-белые коды. Можно самостоятельно печатать коды на лазерных, термотрансферных или специализированных струйных принтерах. Также можно наносить коды методом лазерного прожига на поверхности продукции в процессе ее производства. Или же использовать готовые наклейки с кодами Data Matrix, изготовленные типографским способом черной краской на белой бумаге. Такие наклейки имеют высокий уровень качества печати — не ниже грейда B (подробнее о грейдах – во второй части статьи).

Как показывают результаты нашего исследования, контрастность изображений черных объектов, в том числе и черно-белых кодов Data Matrix, в красном свете уменьшается почти на 9% по сравнению со сканированием в белом свете (табл. 1, ячейка G5). Столь значительное уменьшение контрастности повышает вероятность того, что корректно нанесённый код не будет распознан.

Таким образом, применение красной подсветки/светофильтра для считывания черно-белых кодов Data Matrix для многих производителей продукции, участников цепочек поставок и точек продаж не несет никаких выгод. Большинство современных считывателей кодов, в том числе и поставляемых компанией Оптимус Драйв, имеют встроенную белую подсветку, как наиболее универсальную для решения максимально широкого круга задач машинного зрения. И в этой ситуации нет причин выбирать считыватели кодов с красной подсветкой.

Миф 2: Необходима верификация кодов Data Matrix с помощью считывателей.

Чтобы код Data Matrix был гарантированно распознан большинством считывателей, необходимо обеспечить достаточно высокий уровень качества его изготовления. Согласно ГОСТ Р ИСО/МЭК 15415-2012, уровень качества печатного кода является интегральной оценкой, которая формируется на основе анализа кода по ряду его характеристик. В стандарте дано подробное описание этих характеристик и критерии их оценки.

ГОСТ Р ИСО/МЭК 15415-2012 определяет 5 классов качества (грейдов) двумерного кода:

А: наивысший класс качества, имеется наибольший запас по качеству на случай повреждений кода при транспортировке продукции
В: очень хороший класс качества, обеспечивающий надежное сканирование. Есть достаточный запас по качеству
С: удовлетворительный класс качества, код читается большинством считывателей. Запас по качеству на случай повреждения кода — небольшой.
D: неудовлетворительный класс качества, высока вероятность отказа от считывания кода. Запаса по качеству на случай повреждения кода при транспортировке практически нет.
E: низший класс качества, такие коды нельзя использовать, даже если они распознаются считывателем.

Для обеспечения стабильного и надежного распознавания кода Data Matrix его класс качества должен быть не хуже грейда С. Это одно из обязательных требований оператора системы маркировки «Честный знак».

Для определения качества кода (грейда) созданы специальные приборы — верификаторы. Они обеспечивают проверку кода на соответствие требованиям международного и национального стандарта ГОСТ Р ИСО/МЭК 15415-2012.

Большинство верификаторов не предназначены для работы с производственными линиями. Чтобы верификатор выдавал достоверные результаты, необходимо соблюдать определенные и строго одинаковые условия при исследовании образцов. Одни из главных условий для достоверного определения грейда кода (верификации):

• прецизионно выставленная подсветка
• неизменная интенсивность подсветки
• отсутствие бликов
• оптическая ось объектива/камеры должна быть строго перпендикулярна плоскости движения кода
• размещение кода на идеальной плоскости, чтобы избежать геометрических искажений его формы при сканировании.

Рис. 3. Пример работы стационарного верификатора
Рис. 3. Пример работы стационарного верификатора

Существует также ряд считывателей кодов, в которых реализована функция определения грейда. В некоторых моделях данная функция, отсутствовавшая ранее, была реализована в относительно свежих версиях встроенного программного обеспечения («прошивках»). Например, в широко распространенном в нашей стране считывателе кодов HIKRobot ID3013 определение грейда стало возможным во второй половине 2023 года.

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

Однако большинство из описанных выше условий для достоверного определения грейда кода на реальном производстве, например, молочной продукции или бутилированной воды, практически невыполнимо. Любые изменения внешнего освещения немедленно сказываются на качестве подсветки – меняется яркость, появляются блики на изображении кода. Вибрация конвейера может вызывать произвольное отклонение оптической оси камеры от вертикали.

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