Способ проверки подлинности маркировки
AUTHENTICATION METHOD OF MARKING

Область техники
Предложенное изобретение относится к области проверки (аутентификации) геометрических кодов и может быть использовано при установлении фактов производства и продажи контрафактных товаров, установления подлинности документов.
Уровень техники
Проблема борьбы с контрафактной продукцией занимает существенное место в различных сферах производства и потребления. Как производитель товара, так и потенциальный потребитель заинтересованы в создании существенных препятствий для недобросовестных и преступных организаций по выпуску поддельного продукта, юридической и финансовой документации.
В связи с этим в уровне техники представлен широкий спектр методов противодействия выпуску контрафакта, различающихся по применяемым техническим средствам и по стоимости осуществления.
Так, известны методы защиты, заключающиеся в выпуске упаковки (тары) продукта определенной сложной формы, использование голографических элементов, водяных знаков, интеграцию линии по выпуску продукта с системой определения подлинности и прочее. Данные способы лишены универсальности, поскольку для разного вида продукции предполагают применение различных технических средств.
Известны решения, основанные на маркировке товаров или документов геометрическими двухмерными кодами (QR-code, DataMatrix и т.п.), которые являются универсальными в смысле возможности их применения для продукции и документов различного вида.
Вместе с тем, указанные решения имеют недостаток, заключающийся в простоте нанесения на товар или документ кода, соответствующего оригинальному коду, например, посредством копирования.
В связи с этим существует проблема в установлении факта того, является ли конкретный код нанесенным производителем или же является скопированным.
Из уровня техники известны решения, направленные на преодоление указанного недостатка.
Так, известно решение, которое можно принять в качестве аналога предложенного изобретения (US 2018314869 A1, 01.11.2018) представляющее собой способ для проверки подлинности маркировки, который включает съемку подлинного отпечатка двухмерного кода, формирование уникальной цифровой последовательности, описывающей микронеровности печати подлинного отпечатка двухмерного кода, сохранение уникальной цифровой последовательности в базе данных, для проверки другого отпечатка двухмерного аналогично формируют цифровую последовательность, сравнивают указанные две цифровые последовательности и, в случае если  цифровые последовательности совпадают, делают вывод о подлинности другого отпечатка двухмерного кода , в противном случае делают вывод о том, что другой отпечаток двухмерного кода не является подлинным.
К недостаткам известного решения можно отнести недостаточную точность определения подлинности, поскольку в нем не предусматриваются операции предварительной обработки изображений при их распознавании. Сравнение отпечатков должно происходить при точном совпадении пространственного расположения двух отпечатков двухмерных кодов, что в силу объективных причин не всегда представляется возможным.
Предложенное изобретение направлено на преодоление указанного недостатка уровня техники и предлагает совокупность этапов способа и алгоритма обработки, позволяющего повысить точность определения подлинности маркировки.
Раскрытие изобретения
Для решения указанной задачи с достижением указанного технического результата предлагается способ для проверки подлинности маркировки, включающий следующие этапы: этап получения изображений подлинного и проверяемого отпечатков двухмерного кода, этап предварительной локализации изображений, включающий для каждого изображения локализацию краевых точек двухмерного кода посредством нейросети U-net, поворот и вырезание изображения двухмерного кода из отпечатка двухмерного кода на основании локализованных краевых точек, этап точного выравнивания изображений двухмерных кодов методом градиентного спуска с функцией потерь, равной сумме попиксельных расхождений между изображениями двухмерных кодов, этап попиксельного сравнения изображений двухмерных кодов при помощи нейросети U-net с подсчетом количества различающихся пикселов, этап сравнения подсчитанного количества различающихся пикселов с установленным пороговым значением, причем в случае, когда количество различающихся пикселов превышает установленное пороговое значение, устанавливают, что проверяемый отпечаток двухмерного кода не является подлинным, в противном случае устанавливают, что проверяемый отпечаток двухмерного кода является подлинным.
Далее будет представлены более подробные сведения, показывающие предпочтительные варианты осуществления предложенного изобретения.
Осуществление изобретения
Как известно, различные производители продукции печатают содержащие информацию коды на упаковках, используя разные типы печати, среди которых можно выделить такие типы, как лазерное выжигание, термопечать, офсетная печать, лазерные принтеры, струйные принтеры. Вместе с тем, конкретный производитель использует в производстве конкретный тип печати, который может быть заранее известен.
Следовательно, сравнивая параметры типов печати двумерных кодов заведомо подлинного и проверяемого изделий уже можно установить подлинность маркировки. В случае совпадения типов печати, возможно осуществление проверки на физическую идентичность отпечатков. В заявленном изобретении осуществление отмеченных проверок основывается на предложенном принципе обработки изображений.
В уровне техники известны решения по обработке изображений, реализуемые посредством нейросетей.
В качестве примера и предпочтительного варианта применения в предложенном изобретении можно привести архитектуру двумерной сверточной нейросети U-net, используемую для задач сегментации изображений, например, в медицине (Olaf Ronneberge, Philipp Fischer, and Thomas Brox. U-Net: Convolutional Networks for Biomedical Image Segmentation, University of Freiburg, Germany, 18.05.2015). Архитектура такой нейросети сети позволяет работать с меньшим количеством примеров (обучающих образов) и делать более точную сегментацию. Архитектура U-net Оптимальна для применения в предложенном изобретении, реализующем обработку изображений двухмерных кодов.
U-net обучается методом стохастического градиентного спуска на основе входных изображений и соответствующих им карт сегментации. Из-за сверток выходное изображение меньше входного сигнала на постоянную ширину границы, вследствие чего в изобретении осуществляется этап обрезки (вырезания) вырезание изображения двухмерного кода из отпечатка двухмерного кода. В предложенном решении обучение U-net может осуществляться на основании изображений подлинных двухмерных кодов.
Иллюстративный пример сверточной нейросети архитектуры U-net представлен на фиг. 1. Пример характеризуется входным изображением с разрешением 256×256.
Оператор свертки вычисляется по формуле:
где I - двумерное изображение размером xy ; K - матрица размерности hw (так называемое ядро свертки).
Операция активации представляет собой нелинейную функцию и определяет выходной сигнал нейрона - функцию «выпрямитель».
Нейроны с данной функцией активации называются ReLU (rectified linear unit) и имеют следующую формулу:
f (x)=max(0, x).
Данная функция активации существенно ускоряет процесс обучения за счет простоты вычислений.
Слой субдискретизации осуществляет уменьшение размера изображения в n раз по каждой оси путем объединения соседних пикселей в областях размером n×n в один пиксель. В качестве значения полученного пикселя может использоваться среднее значение объединяемых пикселей или их максимум. В U-Net при выполнении пулинга применяется максимизация по области 2×2 пикселя. После прохождения нескольких серий сверточных и субдискретизирующих слоев входное изображение преобразуется от конкретной сетки пикселей с высоким разрешением к более абстрактным картам признаков. Далее в декодирующей части сети используются серии слоев, аналогичных со слоями кодирующей части, только вместо субдискретизирующего слоя, уменьшающего размер изображения, применяется слой обратной свертки, который увеличивает размер изображения в n раз по обеим осям. Кроме того, в декодирующей части выполняется конкатенация карт признаков из кодирующей части. На последнем уровне свертка 1×1 используется для формирования выходного сегментированного изображения.
Под входными данными для работы нейросети в предложенном изобретении принимаются фотографии отпечатков подлинного и проверяемого двухмерных кодов. Причем фотография отпечатка подлинного двухмерного кода может быть заранее загружена в базу данных с привязкой к определенному товару или документу. Такое изображение может быть запрошено устройством пользователя с установленным программным обеспечением при получении пользователем фотографии проверяемого двухмерного кода в целях последующего сравнения и определения подлинности маркировки товара.
Например, находясь в магазине, пользователь, желая проверить подлинность маркировки того или иного товара, использует смартфон с установленным клиентом для получения фотографии отпечатка маркировки, нанесенной на товар. Клиент обращается к базе данных с запросом получения изображения отпечатка подлинного двухмерного кода и запускает алгоритм сравнения изображений, по результатам которого пользователю выводится сообщение, указывающее, является ли нанесенная на товар маркировка подлинной или нет. Предварительно в дополнение к получению изображения, пользователь может указывать вид товара, подлежащий проверке. Возможен и иной вариант проверки с применением стационарных средств, как это показано далее.
Пример вида входных данных в виде изображения отпечатка двухмерного кода представлен на фиг. 2, где показано изображение кода Data Matrix в 30-кратном увеличении.
На фиг. 3 а) показан результат работы архитектуры U-net по решению задачи локализации краевых точек в результате чего выделены пикселы угловых точек двух изображений.
На фиг. 3 б) показан результат вырезания изображения двухмерного кода из отпечатка двухмерного кода на основании локализованных краевых точек на двух изображениях.
Поскольку этап предварительного выравнивания не дает достаточной точности для попиксельного сравнения изображений, в предложенном изобретении для точного выравнивания решается задача минимизации попиксельной разницы между двумя изображениями. Параметрами для решения являются параметры аффинного преобразования (матрица вещественных чисел 2*3) изображения пользователя (Фото2) (проверяемого) относительно изображения оригинального двухмерного кода (Фото1).
Подбор параметров производится методом градиентного спуска с функцией потерь равной сумме попиксельных расхождений между Фото 1 и проверяемым Фото2-после-преобразования.
Алгоритм градиентного спуска в предложенном изобретении состоит в следующем.
1. Инициализация параметров афинного преобразования в матрицу идентичного афинного преобразования.
2. Получение Фото2-пр = афинное преобразование(Фото2).
3. Получение Ошибка=сумма((Фото1 - Фото2-пр)^2).
4. Вычисление градиента параметров относительно Ошибка; при этом, если Ошибка ниже заданного порога - окончание алгоритма;
5. Изменение параметров в сторону противоположную градиенту.
6. Переход на шаг 2.
В результате изображения подготовлены для этапа сравнения, предваряющего заключительный этап установления подлинности маркировки.
Этап сравнения выполняется согласно следующему алгоритму.
1. Формируется Фото* как конкатенация Фото1 и Фото2-пр вдоль оси каналов (результирующий тензор размера (ширина*высота*(3*2))).
2. С помощью нейросети с топологией U-net сегментируются пикселы Фото* которые являются "истинными" различиями (исключаются различия, вызванные физическими причинами: потертости, царапины и т.п.).
3. Производится подсчет пикселов зафиксированных различий и если их количество выше порогового значения, то Фото1 и Фото2 признаются фотографиями разных отпечатков, из чего следует установление вывода о том, что маркировка не является подлинной.
В качестве примера, неограничивающего объем испрашиваемой правовой охраны, можно привести сравнение изображений кодов DataMatrix, изготовленных методом лазерной печати или термопечати.
Входными данными являются две увеличенные фотографии кодов (например, расположенных на сигаретных пачках), как это показано на фиг. 4 а), б).
Фотография кода проверяемого изделия может быть выполнена под микроскопом. Используя информацию, содержащуюся в коде, в базе данных запрашивают заранее изготовленную фотографию кода, расположенного на оригинальном изделии. В качестве информации для запроса может быть использовано указание производителя, и вида продукта.
Таким образом, на входе получают две фотографии кодов DataMatrix (датаматрица) под микроскопом.
В рассматриваемом примере лазерной печати к дефектам печати относятся дефекты - «дырки» в каждом отпечатанном кружочке.
Обучение нейросети на определение угловых точек может быть выполнено на основе массива фотографий с заранее размеченными угловыми точками, после чего нейросеть получает возможность предсказывать угловые точки с достаточной точностью.
С помощью угловых точек выполняют нормализацию обеих датаматриц поворот датаматрицы так, чтобы главный уголок был снизу слева. Результат нормализации представлен на фиг. 3 а).
Предполагается, что если хорошо удается наложить датаматрицы друг на друга так, что попиксельно они мало отличались друг от друга, то в результате можно установить подлинность маркировки оригинального и сравниваемого изображений. Этого можно достичь с помощью аффинного преобразования, в результате которого датаматрицы сдвигаются друг к другу.
Результаты аффинного преобразования для случая термопечати представлены на фиг. 5 а), б) (где а) - до аффинного преобразования, б) - после аффинного преобразования). На указанных изображениях показаны попиксельные отличия двух датаматриц: серая область - их общие области, красные области - их отличия. Попиксельное отличие оценивается с помощью метрики MSE (среднеквадратичная ошибка).
В результате эксперимента было установлено, что что после накладывания датаматриц друг на друга показатель MSE у отрицательных датаматриц (сравнивались оригинальная и ложная маркировка) гораздо выше, чем у положительных датаматриц (сравнивались оригинальные маркировки), как это показано на фиг. 6. Следовательно, в предложенном изобретении с помощью минимизации MSE производится обучение аффинного преобразования по наложению двух датаматриц друг на друга так, чтобы между ними был минимальный MSE. Принятие решения осуществляется с помощью порога по MSE с определением класса - класс 0 (разные датаматрицы) или 1 (одинаковые датаматрицы).
Таким образом, предложенное изобретение эффективно повышает точность определения подлинности маркировки вследствие примененных операция обработки изображений и может найти применение в широком спектре отраслей народного хозяйства, промышленности и финансовой сфере.
В развивающих альтернативных вариантах осуществления изобретения место того, чтобы определять класс по результату афинного преобразования, возможно осуществление обучения U-net, определению типа различия между двумя датаматрицами: определение, какое различие является существенным (разница в тощине линий, разница в форме линий), какое различие является несущественным (смещение датаматриц при выравнивании). Вместо определения класса по результату афинного преобразования, возможно определение класса по направлению градиента и SIFT (метод поиска опорных точек на паре изображений). Для дальнейшего улучшения пайплайна термопечати вместо сравнения датаматриц по лоссу афинного преобразования возможно обучение модели U-net, которая определяет тип различия датаматриц (смещение из-за того, что датаматрицы разные или смещение из-за того, что их не совсем ровно наложили).