СПОСОБЫ И ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО ДЛЯ ОПРЕДЕЛЕНИЯ, ЯВЛЯЕТСЯ ЛИ МАРКЕР ПОДЛИННЫМ
METHODS AND COMPUTER DEVICE FOR DETERMINATION, IF A BULLET IS AUTHENTIC

ПЕРЕКРЕСТНАЯ ССЫЛКА НА РОДСТВЕННЫЕ ЗАЯВКИ
[0001] Настоящая заявка испрашивает приоритет предварительной патентной заявки США 62/307,901, поданной 14 марта 2016 и включенной в настоящий документ посредством ссылки.
ОБЛАСТЬ ТЕХНИКИ
[0002] Настоящее раскрытие относится в целом к технологии борьбы с подделками и, более конкретно, к способам и вычислительному устройству для определения, является ли маркер подлинным.
ПРЕДШЕСТВУЮЩИЙ УРОВЕНЬ ТЕХНИКИ
[0003] Поддельные продукты, к сожалению, широко доступны и часто трудно обнаружимы. Когда мошенники производят поддельные товары, они обычно копируют маркировку и штрихкоды в дополнение к реальным продуктам. На поверхностном уровне, этикетки и штрихкоды могут выглядеть как подлинные и даже давать действительные данные при сканировании (например, декодироваться в соответствующий Универсальный код продукта). Хотя в настоящее время существует множество технологий для борьбы с таким копированием, большинство из этих решений включает в себя введение различных типов кодов, шаблонов, микроволокон, микрофотоснимков (с очень большим уменьшением) и других знаков, чтобы помочь противодействовать подделке. Такие технологии требуют от производителей использования дополнительного оборудования и материалов и добавляют уровень сложности в производственный процесс.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0004] Хотя в прилагаемой формуле изобретения подробно описаны признаки настоящих технологий, эти технологии, вместе с их целями и преимуществами, могут быть лучше поняты из последующего подробного описания в сочетании с прилагаемыми чертежами, на которых:
[0005] Фиг. 1 является примером системы, в которой могут быть реализованы различные варианты осуществления раскрытия.
[0006] Фиг. 2 является еще одним примером системы, в которой могут быть реализованы различные варианты осуществления раскрытия.
[0007] Фиг. 3 показывает архитектуру вычислительного устройства в соответствии с вариантом осуществления.
[0008] Фиг. 4 показывает пример маркера в соответствии вариантом осуществления.
[0009] Фиг. 5 является блок-схемой последовательности операций процесса, выполняемого одним или более вычислительными устройствами согласно варианту осуществления.
[0010] Фиг. 6 является блок-схемой последовательности операций процесса, выполняемого одним или более вычислительными устройствами в соответствии с другим вариантом осуществления.
[0011] Фиг. 7А и фиг.7В показывают пример того, как вычислительное устройство вычисляет проецируемые средние пиксельные значения в соответствии с вариантом осуществления.
[0012] Фиг. 8 показывает пример маркера в соответствии с другим вариантом осуществления.
[0013] Фиг. 9А и фиг. 9В показывают другой пример того, как вычислительное устройство вычисляет проецируемые средние пиксельные значения в соответствии с вариантом осуществления.
[0014] Фиг. 10 показывает пример графика краевого профиля края согласно варианту осуществления.
[0015] Фиг. 11 показывает пример краевого профиля согласно фиг. 10 после того, как вычислительное устройство применило полосовой фильтр согласно варианту осуществления.
[0016] Фиг. 12 иллюстрирует соответствующее сходство, измеренное среди типового набора маркеров, включая подлинный, четыре одноуровневые элемента (ʺродственныеʺ, ʺсиблингиʺ) подлинного и большое количество подделок, согласно варианту осуществления.
[0017] Фиг. 13 является примером системы, в которой могут быть реализованы различные варианты осуществления раскрытия.
[0018] Фиг. 14А, фиг. 14В и фиг. 14С являются блок-схемами последовательности операций процессов, выполняемых одним или более вычислительными устройствами в соответствии с вариантом осуществления.
[0019] Фиг. 15 является другим примером системы, в которой могут быть реализованы различные варианты осуществления раскрытия.
[0020] Фиг. 16А, фиг. 16В и фиг. 16С являются блок-схемами последовательности операций процессов, выполняемых одним или более вычислительными устройствами в соответствии с вариантом осуществления.
[0021] Фиг. 17 показывает архитектуру вычислительного устройства в соответствии с вариантом осуществления.
[0022] Фиг. 18 показывает пример маркера согласно варианту осуществления.
[0023] Фиг. 19 показывает пример маркера в соответствии с другим вариантом осуществления.
[0024] Фиг. 20 показывает пример того, как вычислительное устройство сортирует набор метрик и выбирает идентификаторы местоположения поднабора метрик в соответствии с вариантом осуществления.
[0025] Фиг. 21 показывает пример того, как вычислительное устройство формирует блоки хеш-идентификаторов из идентификаторов местоположения, соответствующих множеству поднаборов метрик, согласно варианту осуществления.
[0026] Фиг. 22 показывает пример того, как вычислительное устройство сравнивает два блока хеш-идентификаторов и оценивает результаты сравнения в варианте осуществления.
[0027] Фиг. 23 показывает пример того, как вычислительное устройство комбинирует несколько блоков хеш-идентификаторов в общий хеш-идентификатор в варианте осуществления.
[0028] Фиг. 24 и фиг. 25 иллюстрируют процесс, который вычислительное устройство выполняет для преобразования степени корреляции между двумя наборами значений автокорреляции для заданной характеристики (или заданного набора метрик для характеристики) в оценку соответствия для этой характеристики или набора метрик в варианте осуществления.
[0029] Фиг. 26, фиг. 27 и фиг. 28 показывают примеры степенных рядов, генерируемых вычислительным устройством в варианте осуществления.
[0030] Фиг. 29 показывает пример того, как вычислительное устройство генерирует электронную подпись (сигнатуру) для маркера в варианте осуществления.
[0031] Фиг. 30 иллюстрирует соответствие кандидата подлинной сигнатуре в соответствии с вариантом осуществления.
[0032] Фиг. 31 иллюстрирует сигнатуры сиблинга в соответствии с вариантом осуществления.
[0033] Фиг. 32 иллюстрирует, как маркеры-сиблинги коррелируют друг с другом в соответствии с вариантом осуществления.
[0034] Фиг. 33 иллюстрирует корреляцию не-родственных, не-связанных сигнатур в соответствии с вариантом осуществления.
[0035] Фиг. 34 иллюстрирует корреляцию анти-родственных сигнатур в соответствии с вариантом осуществления.
[0036] Фиг. 35 иллюстрирует использование родственных и/или анти-родственных сигнатур для поиска в базе данных (например, посредством двоичного дерева) в варианте осуществления.
[0037] Фиг. 36 иллюстрирует оценку сходства в соответствии вариантом осуществления.
[0038] Фиг. 37 иллюстрирует данные одного кластера согласно фиг. 36, обработанные в пять меньших кластеров.
[0039] Фиг. 38 иллюстрирует другую примерную оценку соответствия в соответствии с вариантом осуществления.
[0040] Фиг. 39 и 40 показывают примеры профиля корреляции пространственного частотного спектра в соответствии с различными вариантами осуществления.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0041] Настоящее раскрытие в общем относится к способам и вычислительному устройству для определения подлинности маркеров. В соответствии с различными вариантами осуществления, вычислительное устройство (или его логическая схема) принимает (например, через камеру или через сеть связи) изображение потенциально подходящего маркера (маркера-кандидата) (например, одномерный или двумерный штрихкод), использует изображение для выполнения измерений (например, линейность, цвет или отклонение от сетки наилучшего соответствия) характеристики признака (край, ячейка, полоса, подобласть, пустая область или артефакт) маркера-кандидата, в результате чего создается профиль для этого признака. Вычислительное устройство отфильтровывает из профиля признака все пространственные частотные компоненты, которые указаны как родственные частотные компоненты. В некоторых вариантах осуществления вычислительное устройство выполняет обратную процедуру и отфильтровывает все пространственные частотные компоненты, за исключением тех, которые указаны как родственные частотные компоненты.
[0042] В варианте осуществления, признак, который измеряется вычислительным устройством, является краем маркера, а характеристикой края, которую измеряет вычислительное устройство, является ее проецируемое среднее пиксельное значение. Например, вычислительное устройство может определять проецируемые средние пиксельные значения в части маркера-кандидата, которая включает в себя край (например, вдоль одного или более краев штрихкода), что приводит к краевому профилю. Вычислительное устройство может использовать различные технологии фильтрации.
[0043] Например, вычислительное устройство может отфильтровывать из краевого профиля все пространственные частотные компоненты, за исключением первого диапазона пространственных частотных компонентов (например, путем применения полосового фильтра), в результате чего создается первый отфильтрованный профиль для края. Затем вычислительное устройство может повторить этот процесс фильтрации для второго диапазона пространственных частотных компонентов (например, путем применения второго полосового фильтра к исходному краевому профилю), в результате чего создается второй отфильтрованный профиль для края, и может повторять этот процесс фильтрации для дальнейших пространственных частотных диапазонов. Вычислительное устройство сравнивает первый отфильтрованный профиль маркера-кандидата с эквивалентным первым отфильтрованным профилем подлинного маркера (например, отфильтрованным профилем, который вычислительное устройство получило из применения того же полосового фильтра к первому профилю того же края подлинного маркера). Вычислительное устройство также сравнивает второй отфильтрованный профиль маркера-кандидата с эквивалентным вторым отфильтрованным профилем подлинного маркера. Вычислительное устройство определяет, является ли маркер-кандидат подлинным, на основе этих сравнений.
[0044] В одном варианте осуществления, для каждого сравнения, которое вычислительное устройство производит между отфильтрованным профилем маркера-кандидата и отфильтрованным профилем подлинного маркера, вычислительное устройство присваивает оценку корреляции. Путем отображения полосовых фильтров, применяемых к профилям признаков (маркера-кандидата и подлинного маркера), на оценки корреляции (например, графического представления каждой оценки корреляции по отношению к полосовому фильтру, который применялся для создания сравниваемых отфильтрованных профилей), вычислительное устройство создает профиль корреляции пространственного частотного спектра. Вычислительное устройство определяет, является ли маркер-кандидат подлинным, на основе анализа профиля корреляции пространственного частотного спектра.
[0045] В соответствии с различными вариантами осуществления, вычислительное устройство анализирует только под-часть профиля корреляции пространственного частотного спектра, чтобы идентифицировать происхождение маркера-кандидата. Например, вычислительное устройство может фокусироваться на самых нижних (например, самых низких четырех) полосах профиля корреляции пространственного частотного спектра, чтобы определить, является ли маркер-кандидат фотокопией подлинного маркера.
[0046] В соответствии с различными вариантами осуществления, вычислительное устройство (или его логическая схема) использует непреднамеренно созданные артефакты в пределах подлинного маркера для определения идентифицируемой электронной подписи (ʺсигнатурыʺ) и извлекает определенные признаки сигнатуры, чтобы повысить простоту и скорость, с которой можно найти многочисленные подлинные сигнатуры и сравнить их с сигнатурами маркеров-кандидатов.
[0047] В соответствии с вариантом осуществления, вычислительное устройство принимает захваченное изображение маркера-кандидата, измеряет характеристику маркера-кандидата в нескольких местоположениях маркера-кандидата с использованием захваченного изображения, результатом чего является набор метрик (в некоторых случаях, несколько наборов метрик) для этой характеристики. Вычислительное устройство генерирует сигнатуру для маркера-кандидата на основе набора метрик. Вычислительное устройство выводит хеш-идентификатор (ʺHIDʺ) с использованием идентификаторов местоположения, соответствующих поднабору местоположений, в которых оно измеряло характеристику (например, числовые индексы растра местоположений, которые дали измерения с наивысшей амплитудой). Вычислительное устройство определяет на основе сравнения HID маркера-кандидата с ранее полученным и сохраненным HID подлинного маркера, соответствуют ли близко соответственные HID друг другу. Если вычислительное устройство определяет, что HID маркера-кандидата близко соответствует (в соответствии с предопределенным порогом) HID подлинного маркера, то вычислительное устройство извлекает сигнатуру подлинного маркера из устройства хранения данных (причем сигнатура подлинного маркера содержит данные об артефакте подлинного маркера) и сравнивает сигнатуру маркера-кандидата с извлеченной сигнатурой подлинного маркера.
[0048] В другом варианте осуществления, вычислительное устройство (или его логическая схема) принимает захваченное изображение подлинного маркера, измеряет характеристику маркера-кандидата с использованием захваченного изображения, результатом чего является набор метрик (в некоторых случаях несколько наборов метрик) для этой характеристики. Вычислительное устройство генерирует сигнатуру для подлинного маркера на основе набора метрик. Вычислительное устройство выводит HID из сигнатуры, используя идентификаторы местоположения, соответствующие поднабору местоположений, в которых оно измеряло характеристику (например, числовые индексы растра в местоположениях, которые дали измерения с наивысшей амплитудой), и сохраняет HID в устройстве хранения данных в ассоциации с сигнатурой. В одном варианте осуществления, вычислительное устройство сохраняет HID и сигнатуру в базе данных таким образом, что вычислительное устройство может впоследствии запрашивать базу данных с использованием HID (или с использованием неизвестного HID, который может близко соответствовать HID сигнатуры подлинного маркера).
[0049] В соответствии с различными вариантами осуществления, HID маркера-кандидата может близко соответствовать HID нескольких подлинных маркеров. Однако сравнение HID маркера-кандидата с HID подлинных маркеров является менее затратным с точки зрения вычислений и использует меньше памяти, чем сравнение фактических сигнатур. Таким образом, используя HID в первоначальном проходе через набор известных сигнатур подлинных маркеров, вычислительное устройство или логическая схема могут значительно сократить количество реальных сигнатур, которые необходимо сравнивать.
[0050] Настоящее раскрытие часто будет ссылаться на ʺмаркерʺ. Как используется здесь, ʺмаркерʺ является видимым индикатором, который намеренно помещается на физический объект. Маркер может представлять собой то, что идентифицирует бренд (например, логотип), то, что содержит информацию, например штрихкод (например, двумерный (ʺ2Dʺ) штрихкод, как специфицировано в стандарте ISO/IEC 16022 Международной организации по стандартизации (ʺИСОʺ) и Международной электротехнической комиссии (ʺIECʺ), дату истечения срока действия (годности) или информацию для отслеживания, такую как серийный номер) или оформление. Маркер является видимым в некоторой части электромагнитного спектра, хотя не обязательно невооруженным глазом. ʺПризнакомʺ маркера является что-то на маркере, что является видимым (либо вооруженным, либо невооруженным глазом). ʺХарактеристикойʺ признака является некоторый измеримый аспект признака, такой как его линейность, цвет или отклонение от сетки наилучшего соответствия.
[0051] ʺПрофильʺ представляет собой набор измерений для одной или более характеристик признака. В различных вариантах осуществления, одно или более вычислительных устройств, описанных здесь, могут использовать один или более профилей, чтобы определить, является ли маркер подлинным. Ниже приведен неисчерпывающий список типов профилей: краевой профиль, профиль ячейки, профиль подобласти и профиль артефакта.
[0052] Термин ʺартефактʺ, используемый здесь, является признаком маркера, который была произведен машиной или процессом, создавшим маркер, но не по проекту или намерению (т.е. нерегулярность). Артефакт может иметь измеримые характеристики. Артефакт маркера может возникать за пределами предполагаемых границ маркера. Примеры артефактов и их измеримых характеристик включают: (а) отклонение среднего цвета подобласти (например, ячейки двумерного штрихкода) от среднего значения, полученного в пределах маркера (что может быть средним для соседних ячеек того же номинального цвета), (b) смещение в положении подобласти относительно сетки наилучшего соответствия соседних подобластей; (c) области отличающегося одного из по меньшей мере двух цветов от номинального цвета ячеек; (d) отклонение от номинальной формы непрерывного края в пределах маркера и (е) неидеальности или другие вариации, возникающие в результате печати маркера, такие как посторонние метки или пустоты. В некоторых вариантах осуществления артефакт не является воспроизводимым контролируемым образом.
[0053] Используемый здесь термин ʺлогическая схемаʺ означает схему (некоторый тип электронного аппаратного средства), предназначенную для выполнения сложных функций, определенных в терминах математической логики. Примеры логической схемы включают в себя микропроцессор, контроллер или специализированную интегральную схему. Когда настоящее раскрытие относится к вычислительному устройству, выполняющему действие, следует понимать, что это также может означать, что логическая схема, интегрированная с вычислительным устройством, фактически выполняет действие.
[0054] Используемый здесь термин ʺустройство мобильной связиʺ представляет собой устройство связи, которое способно отправлять и принимать информацию по беспроводной сети, такой как сотовая сеть или сеть Wi-Fi. Примеры устройств мобильной связи включают сотовые телефоны (например, смартфоны), планшетные компьютеры и портативные сканеры, имеющие функциональность беспроводной связи.
[0055] Используемый здесь термин ʺпространственная частотаʺ относится к периодичности вариации цвета пиксела (например, оттенка серого) по расстоянию. Единицами пространственной частоты являются пикселы на единицу линейного расстояния. Для удобства использования, пространственная частота также может быть выражена здесь в терминах длины волны (например, расстояние между соседними пиками в пиксельной шкале оттенков серого). Например, применение полосового фильтра, позволяющего использовать только компоненты, длины волн которых составляют от 0,3 до 3 миллиметров, эквивалентно применению полосового фильтра, позволяющего использовать только компоненты, пространственные частоты которых составляют от 3,33 пикселов на миллиметр до 0,33 пиксела на миллиметр. Таким образом, когда термин ʺдиапазон пространственных частотʺ используется здесь, он может включать в себя диапазон пространственных длин волн.
[0056] Термины ʺблизко соответствоватьʺ, ʺблизко соответствующиеʺ и ʺблизко согласованныеʺ, использующиеся здесь, относятся к результатам определения, сделанного на основе сравнения значений (например, двух хеш-идентификаторов), что дает сходство между значениями, которое достигает или превышает предопределенный порог. Например, если предопределенный порог составляет 20 процентов, то можно считать, что два хеш-идентификатора ʺблизко соответствуютʺ, являются ʺблизко соответствующимиʺ и ʺблизко согласованнымиʺ, если 20 процентов или более составных частей (например, 20 процентов или более составных частей блоков хеш-идентификаторов) одного хеш-идентификатора равны по значению 20 процентам или более составных частей другого хеш-идентификатора.
[0057] Термин ʺидентификатор местоположенияʺ, использующийся здесь, относится к числовому значению, которое отображается на местоположении в пределах маркера. Соотношение отображения между идентификатором местоположения и местоположением в пределах маркера может быть взаимно однозначным. Примером идентификатора местоположения, имеющего взаимно однозначное отношение отображения с местоположением в маркере, является числовой индекс растра.
[0058] Термин ʺкластеризацияʺ, использующийся здесь, относится к вычислительному устройству, выполняющему задачу группировки набора сигнатур (или данных, полученных из таких сигнатур, например, HID-сигнатур) таким образом, что сигнатуры в одной и той же группе (ʺкластереʺ) являются более сходными (по меньшей мере по одному критерию) друг с другом, чем с таковыми в другом кластере. Вычислительное устройство может выполнять операцию кластеризации на наборе кластеров для создания ʺсуперкластераʺ. Кластеры и суперкластеры сигнатур хранятся в одном или более устройствах хранения данных и могут быть доступны через программу базы данных.
[0059] Со ссылкой на фиг.1, устройство 100 нанесения маркеров наносит подлинный маркер 102 (ʺмаркер 102ʺ) на законный физический объект 104 (ʺобъект 104ʺ). В некоторых вариантах осуществления, объект 104 представляет собой изделие производства, такое как предмет одежды, сумочка или модный аксессуар. В других вариантах осуществления, объект 104 является ярлыком (этикеткой), таким как этикетка штрихкода или упаковка некоторого другого физического объекта. Маркер 102 может представлять собой то, что идентифицирует бренд (например, логотип), то, что содержит информацию (например, штрихкод) или оформление. Возможные варианты осуществления устройства 100 нанесения маркера включают в себя принтер (например, лазерный или термопринтер), травильное устройство, гравировальное устройство, устройство для формования, устройство для маркировки, устройство для сшивания и устройство для переноса тепла. Устройство 100 нанесения маркера наносит маркер 102, например, путем печати, травления, гравировки, формования, маркирования, сшивания или термопередачи маркера 102 на объект 104. Маркер 102 включает в себя один или более артефактов. В некоторых вариантах осуществления, маркер 102 также включает в себя намеренно созданные анти-контрафактные признаки, такие как микроскопические узоры.
[0060] Первое устройство 106 захвата изображения (например, камера, устройство машинного зрения или сканер) захватывает изображение маркера 102 после нанесения маркера 102. Условия, при которых первое устройство 106 захвата изображения захватывает изображение маркера 102, контролируются, так что существует разумная уверенность в том, что изображение фактически является изображением подлинного маркера 102. Например, временной интервал между нанесением маркера 102 устройством 100 нанесения маркера 102 и получением изображения маркера 102 первым устройством 106 захвата изображения может быть малым, и первое устройство 106 захвата изображения может быть физически расположено рядом с устройством 100 нанесения маркера вдоль упаковочной линии. Таким образом, когда используется термин ʺподлинный маркерʺ, он относится к маркеру, который был нанесен устройством нанесения маркера в законном источнике (т.е. не скопирован незаконно или тайно).
[0061] Первое устройство 106 захвата изображения передает захваченное изображение в первое вычислительное устройство 108. Возможные варианты осуществления первого вычислительного устройства 108 включают в себя настольный компьютер, сервер на стойке, портативный компьютер, планшетный компьютер и устройство мобильной связи. В некоторых вариантах осуществления, первое устройство 106 захвата изображения интегрировано с первым вычислительным устройством 108, и в этом случае первое устройство 106 захвата изображения передает захваченное изображение в логическую схему первого вычислительного устройства 108. Первое вычислительное устройство 108 или логическая схема в нем принимает захваченное изображение и передает его во второе вычислительное устройство 110. Возможные варианты осуществления второго вычислительного устройства 110 включают в себя все устройства, перечисленные для первого вычислительного устройства 108.
[0062] После приема захваченного изображения второе вычислительное устройство 110 генерирует один или более отфильтрованный профиль одного или более признаков подлинного маркера 102. Действия, которые второе вычислительное устройство может совершать при выполнении этой задачи в варианте осуществления, представляют собой набор, обозначенный на фиг.5, который будет описан более подробно ниже. Второе вычислительное устройство 110 сохраняет отфильтрованные профили в устройстве 112 хранения данных.
[0063] В соответствии с вариантом осуществления, захваченное изображение подлинного маркера становится частью комбинированного изображения до того, как оно используется для создания отфильтрованного профиля. Например, предположим, что первое устройство 106 захвата изображения захватывает несколько (два или более) изображений подлинного маркера и передает захваченные изображения в первое вычислительное устройство 108. Первое вычислительное устройство 108 объединяет изображения (например, путем их усреднения) в одно изображение (ʺкомбинированное изображениеʺ) и передает комбинированное изображение во второе вычислительное устройство 110. Второе вычислительное устройство 110 затем использует комбинированное изображение для генерирования одного или более отфильтрованных профилей одного или более признаков подлинного маркера 102 с использованием одной или более технологий, описанных здесь. В качестве альтернативы, первое вычислительное устройство 108 может посылать несколько захваченных изображений во второе вычислительное устройство 110, а затем второе вычислительное устройство может объединять изображения (и генерировать один или более отфильтрованных профилей на основе полученного комбинированного изображения).
[0064] В продолжение фиг. 1, должен быть проверен неверифицированный физический объект 114 (ʺневерифицированный объект 114ʺ), который может быть или не быть законным физическим объектом 104, чтобы убедиться, что он не является поддельным или иным образом незаконным. Возможные варианты осуществления неверифицированного объекта 114 такие же, как и для законного физического объекта 104. На неверифицированном объекте 114 есть маркер-кандидат 116. Возможные варианты осуществления маркера-кандидата 116 такие же, как и для подлинного маркера 102. Второе устройство 118 захвата изображения (например, камера, устройство машинного зрения или сканер) захватывает изображение маркера-кандидата 116 и передает изображение в третье вычислительное устройство 120. Как и в случае первого устройства 106 захвата изображения и первом вычислительном устройстве 108, второе устройство 118 захвата изображения может быть частью третьего вычислительного устройства 120, и передача захваченного изображения маркера-кандидата 116 может быть внутренней (то есть от второго устройства 118 захвата изображения к логической схеме третьего вычислительного устройства 120). Третье вычислительное устройство 120 (или логическая схема в нем) принимает захваченное изображение и передает захваченное изображение во второе вычислительное устройство 110.
[0065] В соответствии с вариантом осуществления, захваченное изображение маркера-кандидата становится частью комбинированного изображения до того, как оно используется для создания отфильтрованного профиля. Это может быть выполнено так же, как описано выше в отношении захваченного изображения подлинного маркера 102.
[0066] После приема захваченного изображения, второе вычислительное устройство 110 генерирует один или более отфильтрованных профилей одного или более признаков маркера-кандидата 116. Действия, которые второе вычислительное устройство может совершать при выполнении этой задачи в варианте осуществления, приведены на фиг. 6, которая будет описана более подробно ниже.
[0067] Со ссылкой на фиг. 2 описан пример системы, которая может использоваться в другом варианте осуществления. В упаковочном отделе 200 находятся принтер 202 этикеток, устройство 204 нанесения этикеток, упаковочная линия 206, устройство 208 захвата изображения и первое вычислительное устройство 210. Принтер 202 этикеток наносит подлинные маркеры, включая подлинный маркер 212 (ʺмаркер 212ʺ), на ряд этикеток, которые несет ткань 214 этикеток. Возможные варианты осуществления подлинного маркера включают одномерный (ʺ1Dʺ) штрихкод и двумерный (ʺ2Dʺ) штрихкод. Устройство 204 нанесения этикеток наносит этикетки (включая отдельно показанные этикетки 216 и 218 на фиг. 2) на законные физические объекты, два из которых показаны на фиг. 2 со ссылочными позициями 220 и 222 (ʺпервый объект 220ʺ и ʺвторой объект 222ʺ). Фиг. 2 показывает физические объекты как коробки (например, коробки, содержащие готовые изделия), но объекты не обязательно должны быть коробками или контейнерами. Возможные варианты осуществления законных физических объектов включают в себя те, которые перечислены ранее для объекта 104 на фиг. 1.
[0068] Устройство 208 захвата изображения захватывает изображение маркера 212 и передает захваченное изображение в первое вычислительное устройство 210. Первое вычислительное устройство 210 принимает захваченное изображение и передает захваченное изображение во второе вычислительное устройство 224 через сеть 226 связи (ʺсеть 226ʺ). Возможные варианты осуществления сети 226 включают в себя локальную сеть, глобальную сеть, общедоступную сеть, частную сеть и Интернет. Сеть 226 может быть проводной, беспроводной или их комбинацией.
[0069] После приема захваченного изображения второе вычислительное устройство 224 генерирует один или более отфильтрованных профилей одного или более признаков подлинного маркера 212. Действия, которые второе вычислительное устройство 224 может совершать при выполнении этой задачи в варианте осуществления, представлены на фиг. 5, которая будет описана более подробно ниже. Второе вычислительное устройство 224 хранит отфильтрованные профили в устройстве 228 хранения данных.
[0070] Продолжая со ссылкой на фиг. 2, в какой-то момент в цепочке распределения от упаковочного отдела 200 до точки распространения (например, точки продажи) пользователь 230 (например, продавец или сотрудник правоохранительных органов) обрабатывает неверифицированный физический объект 232 (ʺневерифицированный объект 232ʺ), который имеет неверифицированную метку 234, несущую маркер-кандидат 236. Штампы на неверифицированном объекте 232 или информация, закодированная в маркере-кандидате 236, могут предполагать, что неверифицированный объект 232 исходит из законного источника, такого как упаковочный отдел 200 (или компания, для которой упаковочный отдел 200 обрабатывает исходные объекты на упаковочной линии 206). В этом случае пользователь 230 хочет определить, является ли неверифицированный объект 232 поддельным или иным образом незаконным.
[0071] Пользователь 230 запускает приложение на третьем вычислительном устройстве 238, которое на фиг. 2 изображено как смартфон. Третье вычислительное устройство 238 под управлением приложения (и, возможно, в ответ на дополнительный ввод от пользователя 230) захватывает изображение маркера-кандидата 236 (например, с использованием камеры 314, изображенной на фиг. 3). Третье вычислительное устройство 238 декодирует явные данные в маркере-кандидате 236 (например, данные в штрихкоде, который определяет идентичность продукта, на который нанесен штрихкод), и передает захваченное изображение во второе вычислительное устройство 224 через сеть 226.
[0072] После приема захваченного изображения, второе вычислительное устройство 224 генерирует один или более отфильтрованных профилей из одного или более признаков маркера-кандидата 236. Действия, которые второе вычислительное устройство 224 может совершать при выполнении этой задачи в варианте осуществления, представлены на фиг. 6, которая будет описана более подробно ниже.
[0073] В одном варианте осуществления, одно или более вычислительных устройств 108, 110 и 120 согласно фиг. 1 и одно или более вычислительных устройств 210, 224 и 238 согласно фиг. 2 имеют общую архитектуру, показанную на фиг. 3. Устройство, показанное на фиг. 3, включает в себя логическую схему 302, первичную память 304 (например, энергозависимую память, память с произвольным доступом), вторичную память 306 (например, энергонезависимую память), устройства 308 пользовательского ввода (например, клавиатуру, мышь или сенсорный экран), дисплей 310 (например, дисплей на органических светоизлучающих диодах) и сетевой интерфейс 312 (который может быть проводным или беспроводным). Памяти 304 и 306 хранят инструкции и данные. Логическая схема 302 исполняет инструкции и использует данные для выполнения различных процедур, включая, в некоторых вариантах осуществления, описанные здесь способы (в том числе, например, те процедуры, которые, как упоминалось, выполняются вычислительным устройством). Некоторые из вычислительных устройств могут также включать в себя камеру 314 (например, третье вычислительное устройство 238, в частности, если оно реализовано в качестве устройства мобильной связи).
[0074] В одном варианте осуществления, подлинный маркер (такой как подлинный маркер 212 на фиг. 2) состоит из ряда признаков, обозначенных здесь как ʺподобластиʺ. Подобласти могут соответствовать ʺячейкамʺ в соответствии с ISO/IEC 15415 и могут быть единообразны. Чтобы пояснить некоторые концепции, обсуждаемые здесь, следует обратить внимание на фиг. 4, которая иллюстрирует маркер 400, имеющий первую подобласть 450, вторую подобласть 452, третью подобласть 454 и четвертую подобласть 456. Характеристикой первой подобласти 450 является ее средняя пигментация, которую вычислительное устройство может измерять и определять существенность отклонения (например, до степени, превышающей предопределенный порог) от таковой у других подобластей. Характеристикой второй подобласти 452 является ее смещение относительно сетки 458 наилучшего соответствия. Вычислительное устройство может измерять это отклонение и определять величину отклонения, которая будет значительно выше, чем у других подобластей. Характеристикой третьей подобласти 454 является доля непропечаток. Вычислительное устройство может измерять долю непропечаток и определять, что третья подобласть 454 содержит значительно больше непропечаток, чем другие подобласти. Наконец, признаком, который может быть найден в четвертой подобласти 456, является край 460. Характеристикой края 460 является его линейность. Вычислительное устройство может измерять эту линейность и определять, что линейность значительно меньше, чем у краев других подобластей.
[0075] Со ссылкой на фиг. 5 описан пример процедуры, выполняемой вторым вычислительным устройством 110 или вторым вычислительным устройством 224 в варианте осуществления. В блоке 502 вычислительное устройство получает изображение подлинного маркера. В блоке 504 вычислительное устройство использует полученное изображение для выполнения измерений признака подлинного маркера, приводящих к набору измерений. Если признак, характеристики которого измеряются, является артефактом, то набор измерений, следовательно, будет включать в себя данные об артефакте. Набор измерений может быть одним из нескольких наборов измерений, которые вычислительное устройство генерирует для подлинного маркера. Вычислительное устройство может выполнять измерения в разных местоположениях в пределах подлинного маркера. При этом вычислительное устройство может разделить маркер на несколько подобластей (например, в соответствии с отраслевым стандартом). В варианте осуществления, если маркер является 2D штрихкодом, вычислительное устройство выполняет измерения на всем или поднаборе общего количества подобластей (например, всех или поднаборе общего количества ячеек) маркера.
[0076] Примеры признаков подлинных маркеров, которые может измерять вычислительное устройство, включают в себя: края, полосы, области между полосами, внешние метки, области, ячейки и подобласти. Примеры характеристик признаков, которые может измерять вычислительное устройство, включают в себя: форму, соотношение сторон, местоположение, размер, контрастность, распространенность разрывов, цвет (например, светлоту, оттенок или и то, и другое), пигментацию и вариации контраста. В некоторых вариантах осуществления, вычислительное устройство измеряет одну и ту же характеристику на тех же признаках от маркера к маркеру, но на разных признаках для разных характеристик. Например, вычислительное устройство может измерять среднюю пигментацию на первом наборе подобластей маркера и на этом же первом наборе подобластей для последующих маркеров, но измерять линейность края на втором наборе подобластей на маркере и на последующих маркерах. Два набора подобластей (для разных признаков) можно назвать ʺразнымиʺ, если есть хотя бы одна подобласть, которая не является общей для обоих наборов. Например, вычислительное устройство может измерять (для всего или поднабора подобластей маркера): (1) среднюю пигментацию некоторых или всех подобластей маркера (например, всех или некоторых ячеек), (2) любое отклонение в положении подобластей от сетки наилучшего соответствия, (3) преобладание случайных (блуждающих) маркеров или непропечаток и (4) линейность одного или более краев подобласти.
[0077] В блоке 506, вычислительное устройство создает профиль для признака на основе измерений. В блоке 508, вычислительное устройство создает первый отфильтрованный профиль для этого признака. Например, вычислительное устройство применяет первый полосовой фильтр к профилю. В блоке 510, вычислительное устройство создает второй отфильтрованный профиль для этого признака. Например, вычислительное устройство применяет второй полосовой фильтр к профилю. В блоке 512, вычислительное устройство сохраняет первый и второй отфильтрованные профили (например, в устройстве 112 хранения данных или устройстве 228 хранения данных).
[0078] В одном варианте осуществления, вычислительное устройство (такое как второе вычислительное устройство 110 или второе вычислительное устройство 224) измеряет пиксельное значение (например, значение оттенков серого) каждого пиксела вдоль линии, начинающейся с внутренней части маркера и выходящей за пределы маркера, и вычисляет среднее значение всех измеренных пикселов (упоминаемое как ʺпроецируемое среднее значение пикселаʺ).
[0079] Со ссылкой на фиг. 6 описан пример процедуры, выполняемой вторым вычислительным устройством 110 или вторым вычислительным устройством 224 в варианте осуществления. В блоке 602, вычислительное устройство получает изображение маркера-кандидата. В блоке 604, вычислительное устройство использует полученное изображение для измерения характеристик маркера-кандидата. В блоке 606, вычислительное устройство создает профиль для признака на основе измерений. В блоке 608, вычислительное устройство создает первый отфильтрованный профиль для этого признака. В блоке 610, вычислительное устройство создает второй отфильтрованный профиль для этого признака. Вычислительное устройство может выполнять блоки 606, 608 и 610 с использованием изображения маркера-кандидата таким же образом, как описано выше (например, блоки 506, 508 и 510) для подлинного маркера. В блоке 612, вычислительное устройство сравнивает первый и второй отфильтрованные профили с эквивалентными первым и вторым профилями подлинного маркера (например, извлекая первый и второй профили подлинного маркера из устройства хранения данных). На основе сравнения, вычислительное устройство, в блоке 614, определяет, является ли маркер-кандидат подлинным. Если вычислительное устройство определяет, что маркер-кандидат не является подлинным, то (в блоке 616) вычислительное устройство указывает, что маркер-кандидат не может быть верифицирован (например, путем передачи на третье вычислительное устройство 110 сообщения, которое третье вычислительное устройство 110 показывает пользователю). Если вычислительное устройство определяет, что маркер-кандидат является подлинным, то (в блоке 618) вычислительное устройство указывает, что маркер-кандидат верифицирован (например, путем передачи на третье вычислительное устройство 110 сообщения, которое третье вычислительное устройство 110 показывает пользователю).
[0080] Как отмечено выше, одним возможным признаком, для которого вычислительное устройство (в варианте осуществления) может производить измерения характеристики (например, блок 504 или блок 604), является край. Обращаясь к фиг. 7А, например, часть 700 штрихкода имеет внутреннюю область 702 (обычно печатается черным цветом) и край 704. На фиг. 7A изображены также первая опорная ось 706 и выходящая за пределы края 704 вторая опорная ось 708. Существует множество возможных значений для расстояния между первой опорной осью 706 и второй опорной осью 708. Например, расстоянием может быть расстояние до следующей печатной области (промежуток белого пространства) или половина ширины печатной области, в которой вычислительное устройство производит текущие измерения (внутренняя область 702). Расстояние может быть большей или меньшей долей ширины внутренней области 702. В других вариантах осуществления, как первая опорная ось 706, так и вторая опорная ось 708 находятся в пределах внутренней области 702. В других вариантах осуществления, обе оси находятся за пределами внутренней области 702 (например, только в белом пространстве). Вычислительное устройство в этом варианте осуществления измеряет значение оттенков серого (например, по шкале от 0 до 255) каждого из пикселов вдоль первой линии 710, вдоль второй линии 712, вдоль третьей линии 714 и вдоль четвертой линии 716. Каждая из первой линии 710, второй линии 712, третьей линии 714 и четвертой линии 716 начинается на первой оси 706, проходит в направлении и за край 704 и заканчивается на второй оси 708.
[0081] На фиг. 7A, линии 710, 712, 714 и 716 изображены как перпендикулярные к первой опорной оси 706 и второй опорной оси 708, но это необязательно. Хотя на фиг. 7А они изображены отделенными друг от друга, линии 710, 712, 714 и 716 могут не иметь пространства между собой. Кроме того, хотя изображены четыре линии, их может быть меньше (даже одна) или больше. Кроме того, линии 710, 712, 714 и 716 могут быть прямыми, но это необязательно. Например, если штрихкод (частью которого является часть 700) находится на криволинейной поверхности, то линии 710, 712, 714 и 716 могут быть прямыми в плоскости x-y, но быть искривленными относительно оси z (например, выступая наружу от страницы).
[0082] Хотя край 704 изображен как в целом линейный относительно направления y, это необязательно. Например, край может быть кривой со смещением (например, напоминать волнистую линию). Кроме того, хотя первая опорная ось 706 и вторая опорная ось 708 изображены как в целом параллельные краю 706, это необязательно.
[0083] В варианте осуществления, если признаком является край для данного края маркера, вычислительное устройство разрабатывает краевой профиль (блоки 506 и 606). Краевой профиль, в варианте осуществления, включает в себя последовательность данных проецируемых средних пиксельных значений, вычисленных для части маркера, которая содержит край. Вычислительное устройство вычисляет проецируемое среднее пиксельное значение пикселов вдоль каждой из первой линии 710, второй линии 712, третьей линии 714 и четвертой линии 716. Вычислительное устройство может выполнять эту операцию по вычислению проецируемого среднего пиксельного значения на нескольких краях маркера, а также делать это по всей длине края или менее чем по всей длине края. Например, на 2D штрихкоде, таком как показанный на фиг. 4, вычислительное устройство может выполнять операцию на любой комбинации из: верхних краев одной или более ячеек, нижних краев одной или более ячеек, левых краев одной или более ячеек и правых краев одной или более ячеек. В другом примере, на 1D штрихкоде, например, показанном на фиг. 8, вычислительное устройство может выполнять операцию с проецируемым средним пиксельным значением на каждом из штрихов участков штрихов штрихкода. Например, вычислительное устройство может выполнять операцию на участке 802 тринадцатого штриха (затененного для наглядности) штрихкода на фиг. 8, который включает в себя передний край этого штриха, и выполнять операцию на участке 804, который включает в себя задний край. Вычислительное устройство может выполнять эту операцию на переднем и заднем краях каждого из штрихов.
[0084] Обращаясь к фиг. 7В, пикселы первой линии 710 представлены четырьмя отдельными пикселами. Естественно, может быть намного больше пикселов, но для простоты описания показано только четыре. Пикселы 1 и 2 имеют значение 255, пиксел 3 имеет значение 84, а пикселы 4 и 5 имеют значение 0. Среднее значение этих значений (проецируемое среднее пиксельное значение) равно 106.
[0085] Взятие среднего значения вдоль линий проекции позволяет вычислительному устройству учитывать артефакты, которые находятся в пределах внутренней области 702 участка 700 штрихкода, в дополнение к артефактам вдоль края 704. Например, фиг. 9А показывает участок 900 штрихкода, имеющий внутреннюю область 902, в которой имеются посторонние непропечатки 904, и край 906, за которыми расположены посторонние метки 908. Вычислительное устройство в этом варианте осуществления измеряет значение шкалы серого каждого из пикселов вдоль первой линии 910, вдоль второй линии 912, вдоль третьей линии 914 и вдоль четвертой линии 916. На фиг. 9В показано, что проецируемое среднее пиксельное значение (130) вдоль первой линии 910 частично является результатом посторонних непропечаток 918, 920 и 922, а также посторонней метки 924. Эти посторонние метки и непропечатки влияют на отдельные пиксельные значения, поэтому пиксел 2 имеет значение 220, пиксел 3 имеет значение 100, пиксел 4 имеет значение 25 и пиксел 5 - значение 53.
[0086] На фиг. 10 изображен график примера краевого профиля. Вертикальная ось представляет проецируемое среднее пиксельное значение (например, значение серого), взятое вдоль линии (например, как описано для фиг. 7А и фиг. 9А) в области края маркера. Горизонтальная ось представляет положение вдоль первой опорной оси 706 (например, в единицах пиксельных значений индекса, или порядок пиксела в непрерывной линии пикселов вдоль опорной оси).
[0087] В соответствии с вариантом осуществления, для выполнения блоков 508, 510, 608 и 610, вычислительное устройство применяет последовательность полосовых фильтров, по одному за раз, к профилю края маркера и может делать это для нескольких краевых профилей (например, для каждого края, для которого вычислительное устройство разработало профиль среднего значения). Полосовой фильтр исключает все пространственные частотные компоненты, кроме тех частотных компонентов, которые попадают в диапазон полосового фильтра. На фиг. 10 показан пример краевого профиля до применения вычислительным устройством полосового фильтра. На фиг. 11 показан график, представляющий проекцию края согласно фиг. 10 после применения вычислительным устройством полосового фильтра.
[0088] Существует множество возможных типов фильтров и технологий фильтрации, которые могут использоваться в различных вариантах осуществления. Например, было обнаружено, что существует обнаруживаемое соотношение между различными маркерами, напечатанными одним и тем же маркировочным оборудованием, когда они подвергаются анализу сигнатуры, как изложено выше. Будучи не настолько сильным как сходство, измеренное между подлинным элементом и соответствующей ему сигнатуры, и не настолько слабым, как оценка сходства для полного контрафакта, измеренное сходство находится где-то между двумя экстремумами. Этот признак иногда упоминается здесь как ʺявление родстваʺ. Аналогично, маркеры, проявляющие его, иногда будут называться ʺсиблингиʺ (родственники) маркера, из которого была получена подлинная сигнатура, используемая при сравнении. ʺРодовая сигнатураʺ  (ʺСигнатура сиблингаʺ) относится к данным, которые (1) получены из измерения характеристик (например, являющихся результатом артефактов) родственных маркеров, и (2) могут быть использованы для определения родственных маркеров. Термин ʺиндивидуальная сигнатураʺ иногда используется для обозначения общей сигнатуры маркера, чтобы отличать его от ʺсигнатуры сиблингаʺ в описании.
[0089] Фиг. 12 иллюстрирует соответствующее сходство, измеренное среди типичного набора маркеров, включающего подлинный маркер, четыре сиблинга подлинного маркера и большее количество подделок.
Вариант осуществления HID
[0090] На фиг. 13 показан пример системы, в которой могут быть реализованы различные варианты осуществления раскрытия. Процедуры, выполняемые в этой системе, показаны в блок-схемах на фиг. 14А, фиг. 14В и фиг. 14С. Фиг. 1 описывается здесь параллельно с фиг. 14А, фиг. 14В и фиг. 14С.
[0091] Устройство 100 нанесения маркера наносит подлинный маркер 102 (ʺмаркер 102ʺ) на законный физический объект 104 (ʺобъект 104ʺ) (блок 202 на фиг. 14А). В некоторых вариантах осуществления, объект 104 представляет собой изделие производства, такое как предмет одежды, сумочка или модный аксессуар. В других вариантах осуществления, объект 104 является ярлыком (этикеткой), таким как этикетка штрихкода или упаковка некоторого другого физического объекта. Маркер 102 может быть чем-то, что идентифицирует бренд (например, логотип), то, что содержит информацию (например, штрихкод) или украшение. Маркер 102 может представлять собой то, что идентифицирует бренд (например, логотип), то, что содержит информацию (например, штрихкод) или оформление. Возможные варианты осуществления устройства 100 нанесения маркера включают в себя принтер (например, лазерный или термопринтер), травильное устройство, гравировальное устройство, устройство для формования, устройство для маркировки, устройство для сшивания и устройство для переноса тепла. Устройство 100 нанесения маркера наносит маркер 102, например, путем печати, травления, гравировки, формования, маркирования, сшивания или термопередачи маркера 102 на объект 104. Маркер 102 включает в себя один или более артефактов. В некоторых вариантах осуществления, маркер 102 также включает в себя намеренно созданные анти-контрафактные признаки, такие как микроскопические узоры.
[0092] Первое устройство 106 захвата изображения (например, камера, устройство машинного зрения или сканер) захватывает изображение маркера 102 после нанесения маркера 102. Условия, при которых первое устройство 106 захвата изображения захватывает изображение маркера 102, контролируются, так что существует разумная уверенность в том, что изображение фактически является изображением подлинного маркера 102. Например, временной интервал между нанесением маркера 102 устройством 100 нанесения маркера 102 и получением изображения маркера 102 первым устройством 106 захвата изображения может быть малым, и первое устройство 106 захвата изображения может быть физически расположено рядом с устройством 100 нанесения маркера вдоль упаковочной линии. Таким образом, когда используется термин ʺподлинный маркерʺ, он относится к маркеру, который был нанесен устройством нанесения маркера в законном источнике (т.е. не скопирован незаконно или тайно).
[0093] Первое устройство 106 захвата изображения передает захваченное изображение в первое вычислительное устройство 108. Возможные варианты осуществления первого вычислительного устройства 108 включают в себя настольный компьютер, сервер на стойке, портативный компьютер, планшетный компьютер и устройство мобильной связи. В некоторых вариантах осуществления, первое устройство 106 захвата изображения интегрировано с первым вычислительным устройством 108, и в этом случае первое устройство 106 захвата изображения передает захваченное изображение в логическую схему первого вычислительного устройства 108. Первое вычислительное устройство 108 или логическая схема в нем принимает захваченное изображение и передает его во второе вычислительное устройство 110. Возможные варианты осуществления второго вычислительного устройства 110 включают в себя все устройства, перечисленные для первого вычислительного устройства 108.
[0094] Второе вычислительное устройство 110 принимает захваченное изображение и использует захваченное изображение для измерения различных характеристик маркера 102, в результате чего создается набор метрик, которые включают в себя данные относительно артефактов маркера 102 (блок 206). Как будет описано далее, набор метрик может быть одним из нескольких наборов метрик, которые второе вычислительное устройство 110 генерирует для маркера 102. Второе вычислительное устройство 110 может выполнять измерения в разных местоположениях на маркере 102. Действуя таким образом, второе вычислительное устройство 110 может разделить маркер 102 на несколько подобластей (например, в соответствии с отраслевым стандартом). В варианте осуществления, если маркер 102 является штрихкодом, второе вычислительное устройство 110 выполняет измерения на всем или поднаборе общего количества подобластей (например, всех или поднаборе общего количества ячеек) маркера 102. Примеры характеристик маркера 102, которые может измерять второе вычислительное устройство 110, включают в себя: (a) форму, (b) соотношение сторон, (c) местоположение признака, (d) размер признака, (e) контрастность признака, (f) линейность края, (g) прерывистость областей, (h) посторонние метки, (i) дефекты печати, (j) цвет (например, светлоту, оттенок или и то, и другое), (k) пигментацию и (l) вариации контраста. В некоторых вариантах осуществления, второе вычислительное устройство 110 производит измерения в тех же местоположениях от маркера к маркеру для каждой характеристики, но в разных местоположениях для разных характеристик. Например, первое второе вычислительное устройство 110 может измерять среднюю пигментацию на первом наборе местоположений на маркере и на том же самом первом наборе местоположений для последующих маркеров, но измерять линейность края на втором наборе местоположений на маркере и на последующих маркерах. Два набора местоположений (для разных характеристик) можно назвать ʺразнымиʺ, если имеется хотя бы одно местоположение, которое не является общим для обоих наборов.
[0095] В варианте осуществления, результаты измерения характеристик вторым вычислительным устройством 110 содержат набор метрик. Для каждой из измеренных характеристик может быть один или более наборов метрик. Второе вычислительное устройство 110 анализирует набор метрик и на основе анализа генерирует сигнатуру, основанную на наборе метрик (блок 208). Поскольку набор метрик включает данные об артефакте (или нескольких артефактах) маркера 102, сигнатура будет косвенно основана на артефакте. Если маркер 102 переносит данные (как в случае 2D штрихкода), второе вычислительное устройство 110 может также содержать такие данные как часть сигнатуры. Иными словами, в некоторых вариантах осуществления, сигнатура может быть основана как на артефактах маркера 102, так и на данных, передаваемых маркером 102.
[0096] В одном варианте осуществления, для формирования сигнатуры, для каждой измеренной характеристики маркера 102, второе вычислительное устройство 110 ранжирует метрики, ассоциированные с характеристикой по величине, и использует только те метрики, которые достигают предопределенного порога, как часть сигнатуры. Например, второе вычислительное устройство 110 может воздерживаться от ранжирования тех метрик, которые находятся ниже предопределенного порога. В варианте осуществления, имеется свой предопределенный порог для каждой измеряемой характеристики. Один или более предопределенных порогов могут быть основаны на пороге шума и на разрешении первого устройства 106 захвата изображения.
[0097] В одном варианте осуществления, второе вычислительное устройство 110 получает сто точек данных для каждой характеристики и формирует шесть групп измерений: один набор измерений для пигментации, один набор измерений для отклонения от сетки наилучшего соответствия, один набор измерений для посторонних меток или непропечаток и три отдельных набора измерений для линейности края.
[0098] В рамках процесса ранжирования, второе вычислительное устройство 110 может сгруппировывать метрики, которые ниже предопределенного порога, независимо от их соответственных местоположений (то есть независимо от их местоположений на маркере 102). Кроме того, второе вычислительное устройство 110 может упорядочивать метрики (например, по величине) в каждой категории характеристики как часть процесса ранжирования. Аналогично, второе вычислительное устройство 110 может просто не учитывать метрики, которые ниже предопределенного порога. Кроме того, процесс ранжирования может просто отделять метрики, которые выше порога, от значений, которые ниже порога.
[0099] В варианте осуществления, второе вычислительное устройство 110 упорядочивает измеренные характеристики в соответствии с тем, насколько чувствительны характеристики к вопросам разрешения изображения. Например, если первое устройство 106 захвата изображения не имеет возможности захвата изображения с высоким разрешением, второму вычислительному устройству 110 может быть сложно идентифицировать нелинейности краев. Однако второе вычислительное устройство 110 может не иметь проблем с выявлением отклонений в пигментации. Таким образом, второе вычислительное устройство 110 может на этой основе отдавать предпочтение пигментации перед нелинейностями краев. В соответствии с вариантом осуществления, второе вычислительное устройство 110 упорядочивает измеренные характеристики в порядке, обратном зависимости от разрешения изображения, следующим образом: пигментация подобласти, смещение положения подобласти, местоположения непропечаток или посторонних меток и нелинейности краев.
[0100] В соответствии с вариантом осуществления, второе вычислительное устройство 110 взвешивает измеренные характеристики маркера 102 на основе одного или более из разрешения первого устройства 106 захвата изображения и разрешения захваченного изображения маркера 102. Например, если разрешение первого устройства 106 захвата изображения низкое, то второе вычислительное устройство 110 может придать больший вес средней пигментации различных подобластей маркера 102. Если разрешение первого устройства 106 захвата изображения высокое, то второе вычислительное устройство 110 может давать измерениям неровностей краев различных подобластей больший вес, чем другим характеристикам.
[0101] Если маркер 102 содержит информацию исправления ошибок, такую как установленная в ISO/IEC 16022, то второе вычислительное устройство 110 может использовать информацию исправления ошибок при взвешивании измеренных характеристик. Например, второе вычислительное устройство 110 может считывать информацию исправления ошибок, использовать информацию исправления ошибок, чтобы определить, в каких подобластях маркера 102 имеются ошибки, и взвешивать с низким весом измеренные характеристики таких подобластей.
[0102] В соответствии с вариантом осуществления, при создании сигнатуры, второе вычислительное устройство 110 взвешивает измерения для одной или более характеристик маркера 102 на основе устройства 100 нанесения маркеров. Например, предположим, что устройство 100 нанесения маркеров является термопринтером. Далее предположим, что известно, что для маркеров, наносимых устройством 100 нанесения маркеров, проекции края, параллельные направлению движения материала подложки, вряд ли дадут измерения линейности края достаточной величины, чтобы достичь минимального порога для характеристики линейности края. Второе вычислительное устройство 110 может, основываясь на этом известном характерном признаке устройства 100 нанесения маркеров, взвешивать с низким весом измерения характеристики линейности края для маркера 102.
[0103] Продолжая ссылаться на фиг. 13, второе вычислительное устройство 110 использует идентификаторы местоположения, соответствующие поднабору метрик сигнатуры, для получения HID (блок 210). В одном варианте осуществления, второе вычислительное устройство 110 использует номера индексов, соответствующие поднабору метрик сигнатуры наибольшей величины для получения HID. Обратите внимание, что метрики ʺнаибольшей величиныʺ необязательно ассоциируются с признаками маркера, которые видимы невооруженным глазом или даже непосредственно измеряемые технологиями, отличными от описанных здесь. Как будет рассмотрено более подробно ниже, второе вычислительное устройство 110 может, при получении HID, использовать номера индексов, соответствующие поднабору каждого набора метрик, в качестве блока в полном HID. Второе вычислительное устройство 110 сохраняет сигнатуру и HID (например, с использованием программы базы данных) в устройстве 112 хранения данных (например, избыточном массиве независимых дисков) (блок 212) так, что HID ассоциирован с сигнатурой. В некоторых вариантах осуществления, HID также может использоваться для поиска сигнатуры (например, второе вычислительное устройство 110 использует программу базы данных для установки HID в качестве индексного ключа для сигнатуры). В некоторых вариантах осуществления, устройство 112 хранения данных состоит из множества устройств, которые распределены географически и по времени, как это часто имеет место для сервисов облачного хранения. В некоторых вариантах осуществления, одно или более из измерения характеристик, анализа различных наборов метрик, генерации сигнатуры, вывода HID и сохранения сигнатуры и HID выполняются первым вычислительным устройством 108. В других вариантах осуществления, все эти блоки выполняются первым вычислительным устройством 108, и устройство 112 хранения данных непосредственно получает доступ к первому вычислительному устройству 108. В последнем варианте осуществления, второе вычислительное устройство 110 не используется. В других вариантах осуществления, второе вычислительное устройство 110 передает сигнатуру и HID на отдельный сервер базы данных (то есть другое вычислительное устройство), который сохраняет сигнатуру и HID в устройстве 112 хранения данных. Следует понимать, что устройство 112 хранения данных необязательно является, находящимся в месте использования устройством хранения, но может быть одним или более устройствами хранения и может располагаться удаленно и обеспечивать возможность доступу через облачную службу.
[0104] Продолжая со ссылкой на фиг. 13, неверифицированный физический объект 114 (ʺневерифицированный объект 114ʺ), который может быть или не быть законным физическим объектом 104, должен быть протестирован, чтобы убедиться, что он не является поддельным или иным образом незаконным. Возможные варианты осуществления неверифицированного объекта 114 такие же, как и в случае законного физического объекта 104. На неверифицированном объекте 114 есть маркер-кандидат 116. Возможные варианты осуществления маркера-кандидата 116 те же, что и таковые подлинного маркера 102. Второе устройство 118 захвата изображения (например, камера, устройство машинного зрения или сканер) захватывает изображение маркера-кандидата 116 (блок 250 на фиг. 14В) и передает изображение в третье вычислительное устройство 120. Как и в первом устройстве 106 захвата изображения и первом вычислительном устройстве 108, второе устройство 118 захвата изображения может быть частью третьего вычислительного устройства 120, и передача захваченного изображения маркера-кандидата 116 может быть внутренней (то есть от второго устройства 118 захвата изображения к логической схеме третьего вычислительного устройства 120). Третье вычислительное устройство 120 (или логическая схема в нем) принимает захваченное изображение и передает захваченное изображение во второе вычислительное устройство 110. Второе вычислительное устройство 110 использует захваченное изображение для измерения различных характеристик маркера-кандидата 116, включая те же характеристики, которые второе вычислительное устройство 110 измерило на подлинном маркере 102. Результатом этого измерения является набор метрик для характеристики (блок 252). При последовательных измерениях результат может включать в себя один или более наборов метрик для каждой из измеренных характеристик. Второе вычислительное устройство 110 затем генерирует сигнатуру, которая основана на наборе (или наборах) метрик (блок 254), и делает это с использованием той же технологии, которая использовалась для создания сигнатуры для подлинного маркера 102. Если маркер-кандидат 116 является, по сути, подлинным маркером 102 (или сгенерирован тем же процессом, что и подлинный маркер 102), то сигнатура, которую создает второе вычислительное устройство 110, будет, подобно сигнатуре, сгенерированной из захваченного изображения подлинного маркера 102, основываться на артефактах подлинного маркера 102. Если, с другой стороны, маркер-кандидат 116 не является подлинным маркером 102 (например, является подделкой), то сигнатура, сгенерированная этим последним изображением, будет основана на любых других характеристиках, которыми обладает маркер-кандидат 116: артефакты контрафактного процесса, отсутствие артефактов из устройства 100 нанесения маркеров и т.д. Второе вычислительное устройство 110 использует идентификаторы местоположения, соответствующие поднабору метрик сигнатуры маркера-кандидата 116 (например, номера индексов поднабора метрик наибольшей величины), для получения HID для маркера-кандидата 116 (блок 256) (таким же способом, как было изложено для блока 210) и сравнивает (например, посредством запроса базы данных) HID маркера-кандидата 116 с HID подлинных маркеров, хранящихся в устройстве 112 хранения данных (блок 258). В результате сравнения, второе вычислительное устройство 110 либо не получает близко соответствующих результатов (например, отсутствуют результаты, которые проходят предопределенный порог), либо получает один или более близко соответствующих HID из устройства 11 хранения данных (блок 260). Если второе вычислительное устройство 110 не получает близко соответствующих результатов, то второе вычислительное устройство 110 указывает (например, путем передачи сообщения) третьему вычислительному устройству 120, что маркер-кандидат 116 не может быть верифицирован (например, передает сообщение, указывающее, что маркер-кандидат 116 не является подлинным) (блок 262). Третье вычислительное устройство 120 принимает сообщение и указывает в пользовательском интерфейсе, что маркер-кандидат 116 не может быть верифицирован (или что маркер-кандидат 116 является поддельным). В некоторых вариантах осуществления, третье вычислительное устройство 118 выполняет одно или более блоков измерения, генерации и получения и передает сигнатуру (или HID, если третье вычислительное устройство 118 выводит HID) на второе вычислительное устройство 110.
[0105] Если, с другой стороны, второе вычислительное устройство 110 находит один или более HID, которые близко соответствуют HID маркера-кандидата 116, то второе вычислительное устройство 110 будет отвечать путем извлечения, из устройства 112 хранения данных, сигнатур, которые связаны с близко соответствующими HID (блок 264). Затем второе вычислительное устройство 110 сравнивает фактическую сигнатуру, сгенерированную для маркера-кандидата 116, с извлеченными подлинными сигнатурами (блок 266 на фиг. 14C). Второе вычислительное устройство 110 повторяет этот процесс для каждой сигнатуры, с которой ассоциирован близко соответствующий HID. Если второе вычислительное устройство 110 не может точно согласовать сигнатуру маркера-кандидата 116 с любой из извлеченных сигнатур (блок 268), то второе вычислительное устройство 110 указывает (например, путем передачи сообщения) третьему вычислительному устройству 120, что маркер-кандидат 116 не может быть верифицирован (блок 270). Третье вычислительное устройство 120 принимает сообщение и указывает, на пользовательском интерфейсе, что маркер-кандидат 116 не может быть верифицирован. Если, с другой стороны, второе вычислительное устройство 110 может близко согласовать сигнатуру маркера-кандидата 116 с извлеченной сигнатурой, то второе вычислительное устройство 110 указывает (например, путем передачи сообщения) третьему вычислительному устройству 120, что маркер-кандидат 116 является подлинным (блок 272).
[00106] Со ссылкой на фиг. 15 описан пример системы, которая может использоваться в другом варианте осуществления. Процедуры, которые могут выполняться в этой системе, показаны в блок-схемах последовательностей операций на фиг. 16А, фиг. 16В и фиг. 16C. Фиг. 15, фиг. 16А, фиг. 16В и фиг. 16С описываются здесь параллельно.
[0107] В упаковочном отделе 300 находятся принтер 302 этикеток, устройство 304 нанесения этикеток, упаковочная линия 306, устройство 308 захвата изображения и первое вычислительное устройство 310. Принтер 302 этикеток наносит подлинные маркеры, включая подлинный маркер 312 (ʺмаркер 312ʺ), на ряд этикеток, которые несет ткань 314 этикеток (блок 402 на фиг. 16A). Возможные варианты осуществления подлинного маркера включают одномерный (ʺ1Dʺ) штрихкод и 2D штрихкод. Устройство 304 нанесения этикеток наносит этикетки (включая отдельно показанные этикетки 316 и 318 на фиг. 15) на законные физические объекты (блок 404), два из которых показаны на фиг. 15 со ссылочными позициями 320 и 322 (ʺпервый объект 320ʺ и ʺвторой объект 322ʺ). Фиг. 15 показывает физические объекты как коробки (например, коробки, содержащие готовые изделия), но объекты не обязательно должны быть коробками или контейнерами. Возможные варианты осуществления законных физических объектов включают в себя те, которые перечислены ранее для объекта 104 на фиг. 13.
[0108] Устройство 208 захвата изображения захватывает изображение (или несколько изображений) маркера 312 (блок 406) и передает захваченное изображение (или несколько изображений) в первое вычислительное устройство 310. Первое вычислительное устройство 310 принимает захваченное изображение (или изображения) и передает захваченное изображение (или (i) создает комбинированное изображение на основе множества захваченных изображений, как описано выше, или (ii) передает несколько захваченных изображений) во второе вычислительное устройство 324 через сеть 326 связи (ʺсеть 326ʺ). Возможные варианты осуществления сети 326 включают в себя локальную сеть, глобальную сеть, общедоступную сеть, частную сеть и Интернет. Сеть 326 может быть проводной, беспроводной или их комбинацией.
[0109] Если второе вычислительное устройство 324 принимает несколько изображений маркера 406, оно может затем совместить несколько изображений (например, путем усреднения), чтобы создать комбинированное изображение. Второе вычислительное устройство 324 принимает захваченное изображение (например, как часть комбинированного изображения) и выполняет измерения качества (например, те, которые установлены в ISO 15415) на маркере 312 с использованием изображения (например, с использованием комбинированного изображения) (блок 408). Например, второе вычислительное устройство 324 может определять, имеется ли неиспользованное исправление ошибок и повреждение фиксированного узора в маркере 312. Второе вычислительное устройство 324 затем использует захваченное изображение для измерения характеристик маркера 312, в результате чего создаются один или более наборов метрик, которые включают в себя данные об артефактах маркера 312 (блок 410). Например, второе вычислительное устройство 324 может измерять (для целого или поднабора подобластей подлинного маркера 312): (1) среднюю пигментацию некоторых или всех подобластей подлинного маркера 312 (например, всех или некоторых ячеек), (2) любое отклонение положения подобластей от сетки наилучшего соответствия, (3) преобладание случайных маркеров или непропечаток и (4) линейность одного или более краев подобласти. Каждый набор метрик соответствует измеренной характеристике, хотя для одной характеристики могут существовать несколько наборов метрик. Например, для каждой измеренной подобласти - скажем, сто подобластей из тысячи подобластей маркера 312 - может иметься метрика для средней пигментации, метрика для отклонения от наилучшего соответствия, метрика преобладания случайных маркеров и три метрики для линейности краев. Таким образом, результирующий набор метрик составил бы сто метрик для пигментации, сто метрик для отклонения от наилучшего соответствия, сто метрик для случайных маркеров или непропечаток и триста метрик (три набора по сто метрик каждый) для линейности краев. В варианте осуществления, каждый набор метрик представлен в виде списка, в котором каждый элемент списка включает в себя информацию, идентифицирующую положение в маркере 312 (например, номер индекса на основе растра), из которого второе вычислительное устройство 324 берет базовое измерение и значение данных (например, величину), полученное из самого измерения.
[0110] Второе вычислительное устройство 324 затем анализирует метрики для идентификации тех метрик, которые будут использоваться для создания электронной сигнатуры для маркера 312 (блок 412), и генерирует сигнатуру на основе анализа (блок 414). Второе вычислительное устройство 324 идентифицирует поднабор метрик наибольшей величины сигнатуры (блок 416), извлекает HID-блок с использованием идентификаторов местоположения, соответствующих идентифицированному поднабору (блок 418), создает HID на основе HID-блока (блок 420 на фиг. 16A) и сохраняет HID в ассоциации с сигнатурой (блок 422) в устройстве 328 хранения данных (возможные варианты реализации те же, что описаны для устройства 112 хранения данных на фиг. 13). В некоторых вариантах осуществления, второе вычислительное устройство 324 повторяет блоки 416 и 418 для каждого набора метрик сигнатуры (например, один раз для набора измерений для пигментации, один раз для набора измерений для отклонения от сетки наилучшего соответствия, один раз для набора измерений для посторонних меток или непропечаток и один раз для каждого из трех отдельных наборов измерений для линейности края). В некоторых вариантах осуществления, первое вычислительное устройство 310 выполняет один или более блоков с 402 по 420 и передает сигнатуру или HID на второе вычислительное устройство 324.
[0111] Продолжая со ссылкой на фиг. 15, в какой-то момент в цепочке распределения от упаковочного отдела 300 до точки распространения (например, точки продажи) пользователь 330 (например, продавец или сотрудник правоохранительных органов) обрабатывает неверифицированный физический объект 332 (ʺневерифицированный объект 332ʺ), который имеет неверифицированную этикету 334, несущую маркер-кандидат 334. Штампы на неверифицированном объекте 332 или информация, закодированная в маркере-кандидате 336, может предполагать, что неверифицированный объект 332 исходит из законного источника, такого как упаковочный отдел 300 (или компания, для которой упаковочный отдел 300 обрабатывает исходные объекты на упаковочной линии 306). В этом случае пользователь 330 хочет определить, является ли неверифицированный объект 332 поддельным или иным образом незаконным.
[0112] Пользователь 330 запускает приложение на третьем вычислительном устройстве 338, которое на фиг. 15 изображается как смартфон. Третье вычислительное устройство 338 под управлением приложения (и, возможно, в ответ на дополнительный ввод от пользователя 330) захватывает изображение маркера-кандидата 336 (блок 450 на фиг. 16В) (например, с использованием камеры 514, изображенной на фиг. 17). Третье вычислительное устройство 338 декодирует определенные данные маркера-кандидата 336 (блок 452) (например, данные в штрихкоде, который определяет идентичность продукта, на который нанесен штрихкод), и передает захваченное изображение во второе вычислительное устройство 324 через сеть 326. Второе вычислительное устройство 324 затем использует захваченное изображение для измерения характеристики маркера-кандидата 336, что приводит к созданию одного или более наборов метрик (блок 454), что приводит к созданию одного или более наборов метрик для каждой из измеренных характеристик. Затем второе вычислительное устройство 324 анализирует метрики для идентификации тех метрик, которые будут использоваться для генерации электронной сигнатуры для маркера 336 (блок 456), и генерирует сигнатуру на основе анализа (блок 458). Второе вычислительное устройство 324 может повторять блоки 454 и 456 для каждой измеренной для маркера характеристики и даже повторять эти блоки несколько раз для одной характеристики (давая при каждом итерации ʺсигнатурно-достойныйʺ набор метрик). Второе вычислительное устройство 324 идентифицирует поднабор метрик наибольшей величины сигнатуры (блок 460) и выводит HID-блок набора метрик (сигнатуры) с использованием идентификаторов местоположения, ассоциированных с идентифицированным поднабором (блок 462). Второе вычислительное устройство 324 может повторять блоки 454 и 456 для каждого набора метрик сигнатуры, что дает несколько HID-блоков (по существу, один HID-блок для каждого набора метрик). В некоторых вариантах осуществления, третье вычислительное устройство 338 выполняет блоки с 454 по 462 и передает сигнатуру или HID второму вычислительному устройству 324. Второе вычислительное устройство 324 затем выполняет процедуры, описанные выше со ссылкой на фиг. 14В и фиг. 14С, которые воспроизведены на фиг. 16В и фиг. 16C. Другими словами, второе вычислительное устройство 324 выполняет блоки 464, 466, 468, 470, 472, 474, 476 и 478 на фиг. 16В и фиг. 16C таким же образом, как второе вычислительное устройство 110 на фиг. 13 выполняет блоки 258, 260, 262, 264, 266, 268, 270 и 272 на фиг. 14В и фиг. 14С.
[0113] В одной реализации, одно или более вычислительных устройств 108, 110 и 120 на фиг. 13 и одно или более вычислительных устройств 310, 324 и 338 на фиг. 15 имеют общую архитектуру, показанную на фиг. 17. Устройство, показанное на фиг. 17 включает в себя логическую схему 502, первичную память 504 (например, энергозависимую память, память с произвольным доступом), вторичную память 506 (например, энергонезависимую память), устройства 508 пользовательского ввода (например, клавиатуру, мышь или сенсорный экран), дисплей 510 (например, дисплей на органических светоизлучающих диодах) и сетевой интерфейс 512 (который может быть проводным или беспроводным). Памяти 504 и 506 хранят инструкции и данные. Логическая схема 502 выполняет инструкции и использует данные для выполнения различных процедур, в том числе, в некоторых вариантах осуществления, описанных здесь способов (включая, например, те процедуры, которые, как было сказано, выполняются вычислительным устройством). Некоторые из вычислительных устройств могут также включать в себя камеру 514 (например, третье вычислительное устройство 338, в частности, если оно реализовано как мобильное устройство).
[0114] В одном варианте осуществления, подлинный маркер (такой как подлинный маркер 312 на фиг. 15) состоит из нескольких местоположений, обозначенных здесь как ʺподобластиʺ. Подобласти могут соответствовать ʺячейкамʺ в соответствии с ISO/IEC 15415 и могут быть одинакового размера. Чтобы пояснить некоторые концепции, обсуждаемые здесь, следует обратить внимание на фиг. 18, который иллюстрирует маркер 600, имеющий первую подобласть 650, вторую подобласть 652, третью подобласть 654 и четвертую подобласть 656. Характеристикой первой подобласти 650 является ее средняя пигментация, которая сильно отличается (например, доходит до уровня, превышающего предопределенный порог) от уровня других подобластей. Характеристикой второй подобласти 652 является то, что ее смещение относительно сетки 458 наилучшего соответствия значительно выше, чем у других подобластей. Характеристикой третьей подобласти 654 является значительно более высокая доля непропечаток, чем в других подобластях. Наконец, характеристикой четвертой подобласти 656, является то, что она включает в себя край 660, линейность которого значительно меньше линейности краев других подобластей.
[0115] В одном варианте осуществления, для выполнения процесса анализа метрик, полученных из измерений характеристик маркера (например, в блоке 412 на фиг. 16А и блоке 456 на фиг. 16В), вычислительное устройство (такое как второе вычислительное устройство 324) выполняет следующие задачи. Вычислительное устройство генерирует сетку 658 наилучшего соответствия. При этом вычислительное устройство идентифицирует идеальные местоположения для границ между различными подобластями маркера. Вычислительное устройство выбирает подобласти, измерения характеристик которых должны использоваться для генерации сигнатуры для маркера. В одном варианте осуществления, вычислительное устройство совершает этот выбор, основываясь на том, какие подобласти содержат характеристики, измерения которых отклоняются больше всего (например, выше предопределенного порога) от нормального или оптимального измерения, ожидаемого для этой подобласти. Примеры подобластей, которые вычислительное устройство выбрало бы в этом сценарии, включают в себя:
[0116] (1) Подобласти, средний цвет, пигментация или интенсивность которых ближе всего к глобально среднему порогу, отличающему темные ячейки от светлых ячеек, как определено стандартом двумерного штрихкода, т.е. ʺсамые светлыеʺ темные ячейки и ʺсамые темныеʺ светлые ячейки. Первая подобласть 650 относится к этой категории. В одном варианте осуществления, если вычислительное устройство идентифицирует данную подобласть как имеющую девиантную (отклоняющуюся от нормы) среднюю плотность пигментации, вычислительному устройству может потребоваться переоценить подобласти, для которых идентифицированная подобласть является ближайшим соседом. Когда вычислительное устройство выполняет такую переоценку, вычислительное устройство может не принимать в расчет идентифицированную подобласть в качестве опорной.
[0117] (2) Подобласти, положение которых отклоняется наибольшим образом (например, выше предопределенного порога) от идеального местоположения, определенного сеткой 658 наилучшего соответствия. В некоторых вариантах осуществления, вычислительное устройство определяет, попадает ли данная подобласть в эту категорию, идентифицируя края подобласти, определяя положения краев и сравнивая положения краев с их ожидаемыми положениями, которые определяются сеткой 658 наилучшего соответствия. В других вариантах осуществления, вычислительное устройство генерирует гистограмму граничной области между двумя соседними подобластями противоположной полярности (например, темная/светлая или светлая/темная), причем область выборок перекрывает один и тот же процент каждой подобласти относительно сетки 658 наилучшего соответствия и оценивает отклонение гистограммы от 50/50 бимодального распределения. Вторая подобласть 652 относится к этой категории.
[0118] (3) Подобласти, которые содержат посторонние метки или непропечатки, светлые или темные. В одном варианте осуществления, вычислительное устройство определяет, попадает ли подобласть в эту категорию, генерируя гистограмму яркости для подобласти и определяя, является ли расстояние между наиболее удаленными доминирующими режимами гистограммы достаточным (например, выше предопределенного порога). Третья подобласть 654 относится к этой категории.
[0119] (4) Подобласти, имеющие один или более краев, которые имеют одно или более из (a) длины, которая превышает предопределенный порог, (b) непрерывности для длины, которая превышает (или падает ниже, чем) предопределенный порог), и (c) линейности, которая превышает (или падает ниже, чем) предопределенный порог. В одном варианте осуществления, вычислительное устройство определяет, попадает ли подобласть в эту категорию, путем вычисления значения яркости по всей длине одной подобласти, смещенной от сетки 658 наилучшего соответствия на длину половины подобласти и идущей перпендикулярно линии сетки, ограничивающей этот край в сетке 658 наилучшего соответствия. Четвертая подобласть 656 относится к этой категории.
[0120] После того, как вычислительное устройство измеряет характеристики маркера (подлинного или кандидата), вычислительное устройство делает измеренные характеристики маркера доступными в виде ассоциированного с индексным массивом списка (ассоциируемого с местоположением подобласти (например, ячейки) в маркере).
[0121] Со ссылкой на фиг. 19, в другом примере, предположим, что анализируемый маркер представляет собой 1D линейный штрихкод 700. Признаки, которые вычислительное устройство (например, второе вычислительное устройство 324) может использовать для формирования электронной сигнатуры, включают в себя: вариации 702 в ширине или интервале между штрихами; вариации 704 в среднем цвете, пигментации или насыщенности; непропечатки 706 в черных штрихах (или черные пятна в белых полосах); и нерегулярности 708 в форме краев штрихов.
[0122] Со ссылкой на фиг. 20 и фиг. 21, будет описан процесс, который вычислительное устройство (например, второе вычислительное устройство 324) выполняет для идентификации поднабора метрик наибольшей величины электронной сигнатуры для маркера в блоке 416 на фиг. 16А и блоке 460 на фиг. 16B (и получения HID из идентификаторов местоположения, ассоциированных с поднабором). Для каждой измеренной характеристики (и для каждого набора метрик для характеристики в тех случаях, когда характеристика измеряется несколько раз), вычислительное устройство получает набор метрик, составляющих часть электронной сигнатуры, и сортирует набор по значению. На фиг. 20, например, первый набор 802 метрик (изображенный в виде списка) представляет пигментацию для различных ячеек 2D штрихкода, причем каждая ячейка имеет ассоциированный номер индекса. Данные для каждой ячейки в этот момент являются безразмерными, но, когда вычислительное устройство первоначально выполняло измерение пигментации, оно делало это в единицах значения серого. Первый набор 802 является всего лишь одним из множества наборов метрик, которые составляют электронную сигнатуру для 2D штрихкода. Вычислительное устройство сортирует первый набор 802 по величине значения данных и извлекает поднабор 804 номеров индексов, соответствующих поднабору 806 значений данных наибольшей величины. Затем вычислительное устройство делает поднабор 804 номеров индексов HID-блоком для первого набора 802 метрик.
[0123] В другом примере, на фиг. 21, первый набор 902 метрик соответствует первой характеристике маркера (например, подлинного маркера 312 или маркера-кандидата 336), второй набор 904 метрик соответствует второй характеристике маркера, а третий набор 906 метрик (ʺn-й наборʺ или окончательный набор) соответствует третьей характеристике маркера. Однако может быть любое количество наборов метрик. Каждый член каждого набора метрик в этом примере включает в себя (1) значение индекса, которое коррелирует с растровым положением подобласти маркера, из которого было получено измерение характеристики, и (2) значение данных, которое является величиной, которая либо является самим измерением, либо получена из измерения (например, после некоторой статистической обработки и нормализации). Вычислительное устройство сортирует каждый набор метрик по значению данных. Для каждого набора метрик, вычислительное устройство извлекает значения индекса, соответствующие поднабору наибольшей величины значений данных. В этом примере, каждый поднабор наивысшей величины является верхними двадцатью пятью значениями данных набора метрик. Вычислительное устройство выводит первый HID-блок 908 из значений индекса, соответствующих поднабору наибольшей величины первого набора 902 метрик. Вычислительное устройство аналогичным образом выводит второй HID-блок 910 из значений индекса, соответствующих поднабору наивысшей величины второго набора 904 метрик. Вычислительное устройство продолжает этот процесс до тех пор, пока он не выполнит этот процесс для каждого из наборов метрик (то есть по n-й набор 906 метрик для получения третьего или ʺn-гоʺ HID-блока 912), в результате чего будет создан набор HID-блоков. Вычислительное устройство формирует HID путем объединения HID-блоков. В этом примере HID-блоки содержат сами извлеченные значения индекса.
[0124] На фиг. 22 показан пример того, как вычислительное устройство (например, второе вычислительное устройство 324) сравнивает HID, сгенерированный для маркера-кандидата, с HID подлинного маркера (например, как описано для блоков 464 и 466 на фиг. 16B) в соответствии с вариантом осуществления. Вычислительное устройство пытается сопоставить значения индексов, которые составляют HID-блоки маркера-кандидата и подлинного маркера, причем аналогичные наборы значений индексов сопоставляются друг с другом для сравнения типа ʺяблоки с яблокамиʺ (например, извлеченный поднабор значений индексов для пигментации маркера-кандидата сравнивается с извлеченным поднабором значений индексов для пигментации подлинного маркера). Вычислительное устройство засчитывает каждое соответствие в оценку соответствия. Так, например, блок 1002 подлинного маркера и блок 1004 маркера-кандидата имеют оценку соответствия 21, в то время как блок 1006 маркера-кандидата и блок 1008 подлинного маркера имеют оценку соответствия 4.
[0125] На фиг. 23 описан пример того, как вычислительное устройство (например, второе вычислительное устройство 324) сравнивает общий HID подлинного маркера с HID маркера-кандидата в соответствии с вариантом осуществления. Вычислительное устройство берет каждый отдельный HID-блок HID-значения 1100 подлинной сигнатуры, сравнивает его с соответствующим блоком HID-значения 1102 сигнатуры-кандидата и присваивает оценку соответствия (например, как описано выше в отношении фиг. 22). Затем вычислительное устройство объединяет каждую из оценок в общую оценку соответствия. Если общая оценка соответствия удовлетворяет или превышает предопределенную пороговую оценку, то вычислительное устройство считает HID близко соответствующими. Например, вычислительное устройство может использовать предопределенную пороговую оценку 120, означающую, что если оценка равна 120 или более, то вычислительное устройство будет считать два HID близко соответствующими. Этот порог может быть равен нулю. В некоторых вариантах осуществления вычислительное устройство игнорирует минимум и просто берет ʺверхние <n>ʺ оценок HID (например, верхние 10). В таком случае, вычислительное устройство будет последовательно выполнять проверку для 10 лучших соответствий HID. Это учитывает возможность наличия неточной отсечки HID и тем самым генерации ложно отрицательного результата на блоке фильтрации (ценой ненужных вычислений на фактически неподлинных кандидатах). Затем вычислительное устройство извлекает сигнатуру, ассоциированную с подлинным HID-значением 1100. Вычислительное устройство повторяет этот процесс до тех пор, пока не сравнит HID-значение-кандидат 1102 с некоторым количеством (возможно, со всеми) HID-значений, хранящихся в базе данных сигнатур подлинного маркера. Результатом этого процесса будет поднабор целого набора сигнатур подлинного маркера, каждую из которых вычислительное устройство может затем сравнить (посредством более ʺгрубой силыʺ) с сигнатурой маркера-кандидата.
[0126] Существуют различные способы, с помощью которых одно или более вычислительных устройств, описанных здесь, могут сравнивать друг с другом электронные сигнатуры (например, маркера-кандидата и подлинного маркера). В одном варианте осуществления, вычислительное устройство сравнивает одну электронную сигнатуру (например, маркера-кандидата) с другой электронной сигнатурой (например, подлинного маркера) (например, в блоках 266 и 472) с использованием прямой численной корреляции. Например, индекс массива вычислительного устройства (например, второго вычислительного устройства 324) соответствует необработанным наборам метрик двух маркеров для каждой характеристики. Вычислительное устройство также подвергает каждый необработанный набор подлинного маркера нормализованной корреляции с извлеченным в том же порядке набором метрик для маркера-кандидата. Затем вычислительное устройство использует результаты корреляции, чтобы прийти к решению соответствия/несоответствия (подлинник против подделки).
[0127] В другом примере, вычислительное устройство сравнивает сигнатуру кандидата с подлинной сигнатурой посредством использования автокорреляции, например, путем сравнения автокорреляционной последовательности отсортированных метрик маркера-кандидата с автокорреляционной последовательностью (хранимой) отсортированной подлинной сигнатуры. Для ясности хорошо известная статистическая операция:
является обычным уравнением нормализованной корреляции, где r - результат корреляции, n - длина списка данных метрики, x и y - наборы данных метрик для подлинного маркера и маркера-кандидата, соответственно. Когда вычислительное устройство выполняет функцию автокорреляции, наборы данных x и y одинаковы.
[0128] Чтобы создать автокорреляционную последовательность согласно варианту осуществления, вычислительное устройство выполняет операцию, определенную в уравнении нормализованной корреляции, несколько раз, каждый раз смещая последовательность x на одно дополнительное положение индекса относительно последовательности y (напомним, что y является копией x). По мере продвижения смещения, набор данных ʺразворачиваетсяʺ назад к началу, когда последний индекс в серии данных y превышается из-за смещения индекса x. В соответствии с вариантом осуществления, вычислительное устройство выполняет это путем удваивания данных y и ʺсдвиганияʺ данных x от смещения 0 до смещения n для генерации автокорреляционной последовательности.
[0129] В некоторых вариантах осуществления, в блоке 212 на фиг. 14А и блоке 422 на фиг. 16А, вместо того, чтобы хранить всю сигнатуру в устройстве хранения данных, второе вычислительное устройство вместо этого хранит набор полиномиальных коэффициентов, которые описывают (в предопределенном порядке и с предопределенной точностью) кривую наилучшего соответствия, соответствующую форме результатов автокорреляции. Это возможно, потому что второе вычислительное устройство выполняет процесс генерации сигнатуры на отсортированных данных метрик, и, в результате, автокорреляционная последовательность для данных характеристик (т.е. показателей, которые помогают представлять артефакты в подлинном маркере), как правило, является простой полиномиальной кривой.
xy
i
i
(i+i)
i
i
[0130] В одном варианте осуществления, вычислительное устройство (например, второе вычислительное устройство 110 или второе вычислительное устройство 324) вычисляет r, где каждый член x является артефактом, представленным его величиной и местоположением, и каждый член y=x, где j - смещение двух наборов данных, для j=0 до (n-1). Поскольку x сортируются по величине, а величина является наиболее значимыми разрядами x, существует очень сильная корреляция при или вблизи j=0, быстро падающая к j=n/2. Поскольку y является копией x, и j и n-j взаимозаменяемы, автокорреляционная последовательность образует U-образную кривую, пример которой показан на фиг. 24, и которая обязательно симметрична относительно j=0 и j=n/2. Таким образом, вычислительное устройство в этом варианте осуществления должно вычислять только половину кривой, хотя на фиг. 24 для ясности показана вся кривая от j=0 до j=n.
[0131] В одной реализации, вычислительное устройство (такое как второе вычислительное устройство 110 или второе вычислительное устройство 324) выполняет блок 266 на фиг. 14С или блок 472 на фиг. 16C, используя фактические численные значения автокорреляции, а затем повторяет процесс на маркере-кандидате с использованием полиномиально-смоделированной кривой. На практике было обнаружено, что уравнение 6-го порядка, использующее шестибайтовые значения с плавающей запятой для коэффициентов, будет иметь тенденцию соответствовать данным подлинной сигнатуры в пределах однопроцентной погрешности аппроксимации кривой или ʺточности распознаванияʺ. Итоговые оценки соответствия, которые получает вычислительное устройство, могут находиться в пределах одного процента друг к другу. Это может быть верно как для высокой оценки соответствия (как ожидалось бы, если маркер-кандидат был подлинным), так и низкой оценки соответствия (как ожидалось бы, если маркер-кандидат не был подлинным).
[0132] В одном варианте осуществления, вычислительное устройство, которое анализирует метрики маркера для генерации электронной сигнатуры (например, как указано в блоке 412 на фиг. 16А и в блоке 456 на фиг. 16В), ограничивает и нормализует метрики, которые оно использует для генерации сигнатуры. Например, вычислительное устройство может выражать коэффициенты полинома с фиксированной точностью, выражать сами автокорреляционные данные как значения от -1 до +1 и использовать, в качестве списка порядка сортировки, местоположение индекса массива в пределах анализируемого маркера (подлинного или кандидата). Если анализируемый маркер представляет собой 2D матрицу данных, индекс массива может быть растрово-упорядоченным индексом местоположения ячейки в пределах маркера, упорядоченного исходя из условной базы отсчета для используемой символики. В одном общем типе двумерной матрицы данных, базой отсчета является точка, в которой встречаются две сплошные полосы, ограничивающие левую и нижнюю стороны сетки.
[0133] В соответствии с вариантом осуществления, вычислительное устройство сравнивает (пытается сопоставить) подлинную сигнатуру с сигнатурой-кандидатом (например, как указано в блоке 26 на фиг. 14C или блоке 472 на фиг. 16C) следующим образом. Вычислительное устройство восстанавливает сигнатуры с использованием сохраненных полиномиальных коэффициентов, выполняет автокорреляцию метрик в каждом списке (т.е. для каждой измеренной характеристики) для генерации полиномиальных коэффициентов и сравнивает два набора полиномиальных коэффициентов (сравнивает две автокорреляционных последовательности). Вычислительное устройство может выполнять это сравнение несколькими способами. Например, вычислительное устройство может попытаться коррелировать автокорреляционную последовательность маркера-кандидата с (восстановленной) автокорреляционной кривую сигнатуры подлинного маркера. В качестве альтернативы, вычислительное устройство может построить кривую для каждой из автокорреляционных последовательностей (кандидата и подлинной) и выполняет определение погрешности аппроксимации кривой для пары кривых. Фиг. 24 и фиг. 25 иллюстрируют этот процесс. Степень корреляции между двумя наборами значений автокорреляции для данной характеристики (или заданного набора метрик для характеристики) становится оценкой соответствия для этой характеристики или набора метрик. Затем вычислительное устройство определяет, является ли маркер-кандидат подлинным или не базовым для всех оценок соответствия для различных характеристик.
[0134] В одном варианте осуществления, вычислительное устройство, которое анализирует метрики маркера для генерации электронной сигнатуры (например, как указано в блоке 412 на фиг. 16А и в блоке 456 на фиг. 16В), применяет анализ степенного ряда к автокорреляционным данным для маркера-кандидата и к автокорреляционным данным для подлинного маркера. Вычислительное устройство может применять такой анализ степенного ряда с использованием дискретного преобразования Фурье (ʺDGTʺ):
k
где X - k-й частотный компонент, N - длина списка метрик, а x - набор данных метрик. Вычислительное устройство вычисляет степенной ряд DFT, анализирует каждый частотный компонент (представленный комплексным числом в последовательности DFT) на величину и игнорирует фазовый компонент. Полученные данные описывают распределение спектральной энергии данных метрики, от низкой частоты до высокой частоты, и оно становится основой для дальнейшего анализа. Примеры этих степенных рядов показаны графически на фиг. 26, фиг. 27 и фиг. 28.
[0135] В одном варианте осуществления, вычислительное устройство, которое анализирует метрики маркера с целью генерации электронной сигнатуры (например, как указано в блоке 412 на фиг. 16А и в блоке 456 на фиг. 16В), использует две аналитики в частотной области: эксцесс и смещение распределения. В этом контексте, смещение распределения относится к мере распределения энергии вокруг центральной частоты диапазона всего спектра. Для получения эксцесса, вычислительное устройство может использовать следующее уравнение:
где  - среднее значение данных величин степенного ряда, s - стандартное отклонение величин, и N - количество анализируемых дискретных спектральных частот.
[0136] Для вычисления смещения распределения в варианте осуществления, второе вычислительное устройство использует следующее уравнение:
где N - число анализируемых дискретных спектральных частот.
[0137] При использовании аналитики частотной области (например, с использованием DFT) в варианте осуществления, вычислительное устройство учитывает следующие критерии: гладкая полиномиальная кривая сигнатуры подлинного маркера (возникающая из сортировки по величине) дает распознаваемые характеристики в спектральной сигнатуре при анализе в частотной области. Маркер-кандидат, когда данные метрик извлекаются в том же порядке, что и извлекаемые из подлинного маркера, будет представлять аналогичное распределение спектральной энергии, если символ является подлинным. Другими словами, порядок сортировки подлинного ʺсогласуетсяʺ с величинами метрик кандидата. Рассогласованность в отсортированных величинах или другие наложенные сигналы (такие как артефакты фотокопирования) имеют тенденцию проявляться как высокочастотные компоненты, которые в противном случае отсутствуют в спектрах подлинного символа, тем самым обеспечивая дополнительную меру аутентичности маркера. Это учитывает возможность, что автокорреляционная последовательность подделки может по-прежнему удовлетворять минимальному статистическому порогу соответствия подлинного маркера. Характеристики распределения степенного ряда DFT такого сигнала покажут низкое качество соответствия благодаря наличию высоких частот, присутствующих в ошибках соответствия малой амплитуды в последовательности-кандидате. Такое условие может указывать на фотокопию подлинного маркера. В частности, вычислительное устройство предполагает присутствие высокого эксцесса и высокого смещения распределения в спектрах подлинного маркера. В некоторых вариантах осуществления, вычислительное устройство использует эту информацию распределения степенных рядов в сочетании с оценкой соответствия в качестве дополнительной меры достоверности при верификации маркера-кандидата.
[0138] Со ссылкой на фиг. 29, в одном варианте осуществления, вычислительное устройство генерирует электронную сигнатуру для маркера (например, как указано в блоке 208 на фиг. 14А, в блоке 254 на фиг. 14B, в блоке 414 на фиг. 16А и в блоке 458 на фиг. 16B) путем кодирования сигнатуры в виде строки байтов, которая может быть представлена как американский стандартный код для обмена информацией (ʺASCIIʺ), а не как численные данные величины. Этот альтернативный формат позволяет вычислительному устройству использовать данные сигнатуры непосредственно в качестве индекса для поиска маркера в устройстве хранения данных. В этом варианте осуществления, вместо того, чтобы хранить местоположение и величину каждой метрики сигнатуры для подлинного маркера, вычислительное устройство сохраняет наличие (или отсутствие) значимых признаков сигнатуры и каждого оцениваемого местоположения в пределах подлинного маркера. Например, в случае символа 2D матрицы данных, который не несет или не кодирует уникальный идентификатор или серийный номер, вычислительное устройство сохраняет данные сигнатуры маркера как строку символов, каждый из которых кодирует наличие или отсутствие признака, превышающего порог минимальной величины для каждой характеристики в подобласти, но не кодирует дополнительные данные о величине или числе признаков в любой одной характеристике. В этом примере, каждая подобласть в маркере 1700 на фиг. 29 имеет четыре бита данных, по одному биту для каждой из множества метрик, где '1' указывает, что конкретная метрика имеет значимый признак в этой подобласти. Например, 0000 (шестнадцатеричный 0) может означать, что ни одна из четырех протестированных характеристик не присутствует в степени большей, чем пороговая величина в этой конкретной подобласти. Значение 1111 (шестнадцатеричное F) будет означать, что все четыре протестированные характеристики присутствуют в степени большей, чем минимум в этой конкретной подобласти.
[0139] В примере маркера 1700, первые шесть подобластей кодируются следующим образом. (1) В первой подобласти 1702 нет артефакта для средней яркости (светимости): она удовлетворительно черная. Она не имеет отклонения от сетки. У нее есть большая белая непропечатка. Она не имеет артефакта края: ее края прямые и ровные. Таким образом, вычислительное устройство кодирует ее как 0010. (2) Вторая подобласть 1704 имеет непропечатку и артефакт формы края. Таким образом, вычислительное устройство кодирует ее как 0011. (3) Третья подобласть 1706 заметно более серая, чем черная, но не имеет других артефактов. Таким образом, вычислительное устройство кодирует ее как 1000. (4) Четвертая подобласть 1708 не имеет артефактов. Таким образом, вычислительное устройство кодирует ее как 0000. (5) Пятая подобласть 1710 имеет смещение от сетки, но никаких других артефактов. Таким образом, вычислительное устройство кодирует ее как 0100. (6) Шестой модуль 1712 не имеет артефактов. Таким образом, вычислительное устройство кодирует его как 0000. Таким образом, первые шесть модулей кодируются как двоичные 001000111000000001000000, шестнадцатеричные 238040, десятичные 35-128-64 или #€@ в ASCII. При использовании в качестве примера кода 2D матрицы данных, с типичным размером символа подобластей 22×22, часть строки ASCII, содержащая уникальные данные сигнатуры, будет иметь длину 242 символа, если данные упакованы по два модуля на символ (байт). В вычислительном устройстве хранятся строки сигнатур подлинных маркеров в базе данных, плоском (неструктурированном) файле, текстовом документе или любой другой конструкции, подходящей для хранения совокупностей отдельных строк символов.
[0140] Согласно варианту осуществления, процесс, посредством которого вычислительное устройство (например, второе вычислительное устройство 324) тестирует маркер-кандидат, чтобы определить, является ли маркер подлинным, в варианте осуществления, реализованном в ASCII, является следующим:
[0141] (1) Вычислительное устройство анализирует маркер-кандидат и извлекает его ASCII-строку.
[0142] (2) Вычислительное устройство выполняет поисковый запрос через программу базы данных с использованием ASCII-строки.
[0143] (3) Вычислительное устройство (под управлением программы базы данных) подвергает сигнатуры, хранящиеся в устройстве хранения данных, тестированию на точное соответствие полной поисковой строки-кандидата. Если вычислительное устройство не обнаруживает точное соответствие строки, вычислительное устройство может попытаться найти приблизительное соответствие либо путем поиска подстрок, либо путем поиска ʺнечеткого соответствияʺ по всем строкам.
[0144] (4) Если поиск возвращает соответствие с одной опорной строкой по меньшей мере первого порога минимального доверительного соответствия, вычислительное устройство считает, что подлинный маркер и маркер-кандидата одинаковы. Другими словами, вычислительное устройство идентифицирует маркер-кандидат как подлинный. Если, с другой стороны, поиск не возвращает строку с процентным соответствием выше второго нижнего порога, вычислительное устройство отклоняет маркер-кандидат как подделку или недействительный.
[0145] (5) Если поиск возвращает одну опорную строку с процентным соответствием между первым и вторым порогами, вычислительное устройство может считать результат неопределенным. Если поиск возвращает две или более опорные строки с процентным соответствием выше второго порога, вычислительное устройство может считать результат неопределенным. В качестве альтернативы, вычислительное устройство может провести дополнительный анализ, чтобы сопоставить строку маркера-кандидата с одной из других сохраненных опорных строк.
[0146] (6) Когда результат является неопределенным, вычислительное устройство может указывать (например, в пользовательском интерфейсе или путем передачи сообщения на третье вычислительное устройство 240), что результат является неопределенным. Вычислительное устройство может предложить пользователю отправить другое изображение маркера-кандидата для проверки. Вместо этого или помимо этого, вычислительное устройство может использовать метод повтора для кодирования отдельных признаков в захваченном изображении маркера-кандидата. Вычислительное устройство может применять метод повтора в любой подобласти, в которой данные сигнатуры в маркере-кандидате близки к минимальному порогу величины для этой метрики. Если тестируемый маркер использует механизм исправления ошибок, метод повтора может применяться к любой подобласти или части маркера-кандидата, который механизм исправления ошибок определяет как возможно поврежденный или измененный. Вместо этого или помимо этого, вычислительное устройство может придавать меньшее значение любым данным сигнатуры с величиной, близкой к минимальному порогу величины, например, путем поиска с его битом присутствия подтвержденным (установленным в 1), а затем снова с неподтвержденным битом (установленным в 0) или путем подстановки безразличного символа. В качестве альтернативы, вычислительное устройство может повторно вычислить запрос процентного соответствия путем более низкого взвешивания или игнорирования тех битов, представляющих признаки, которые близки к порогу.
Взаимная против уникальной сигнатурная информация
[0147] С точки зрения построения, сигнатуры маркеров можно рассматривать как суммирование трех сигналов: уникальная идентификационная информация (UI), совместно используемая или взаимная информация (MI) и шум (N). Уникальная идентификационная информация - это то, что можно назвать уникальным компонентом 'отпечатка пальца' (характерного признака) маркера, в то время как взаимная информация является носителем сигнатуры сиблинга (родственной сигнатуры), где общие признаки совместно используются между несколькими маркерами. Компонент шума может быть либо систематическим (артефакт устройства верификации, например), либо случайным, и в любом случае не вносит позитивный вклад в процесс идентификации сигнатуры.
[0148] Расширяя приведенное выше обсуждение, в случае подлинного элемента можно видеть, что как UI, так и MI хорошо коррелируют, испытывая отрицательное воздействие относительной величиной N. В случае сиблинга, UI-компонент в общем некоррелирован, но здесь MI показывает определенное сходство между двумя родственными сигнатурами. Для поддельных маркеров, все три компонентных сигнала являются некоррелированными. Фиг. 30 графически иллюстрирует эту концепцию.
Производство сиблинга
[0149] Как правило, сиблинги появляются как часть процессов печати на основе пластин, таких как литографическая или флексографическая печать. Во время производственного цикла каждый оттиск, сделанный конкретной пластиной, может совместно использовать отношение сиблинга, где данные сигнатуры несколько коррелированы. Для пластин с множеством оттисков одного и того же рисунка, сиблинги производятся на каждый оттиск. Для флексографической пластины является типичным, что множество экземпляров шаблона, подлежащего печати, расположены таким образом, что, при установке на цилиндр пластины, один оборот цилиндра формирует множество оттисков (одного и того же) шаблона оригинала. Например, пластина с шестью оттисками может выдавать шесть печатных маркеров на каждом обороте цилиндра. В этом случае, каждый 6-й маркер является частью своего ʺнабора сиблинговʺ. Другими словами, по мере выполнения процесса, производственная партия будет иметь 6 различных наборов связанных сиблингов (по одному на каждый оттиск пластины). Для определенных характеристик определенных признаков может не быть обнаруживаемой корреляции между маркерами-сиблингами. То есть, согласно определенным характеристикам определенных признаков, они выглядят как ʺподделкиʺ по отношению друг к другу с точки зрения анализа сигнатуры. См., например, фиг. 31. Однако, в одном варианте осуществления, используя некоторые другие характеристики, вычислительное устройство может обнаруживать корреляцию и определять, что маркеры являются сиблингами. Этот аспект будет рассмотрен ниже более подробно.
[0150] Следует отметить, что производство сиблингов не является преднамеренным или активно управляемым процессом. Это естественный атрибут маркеров, производимых описанными выше методами печати, и, таким образом, представляет собой ʺпоявившеесяʺ свойство печати, использование которого может быть осуществлено.
Распознавание сиблингов
[0151] Как показано на фиг. 12, сигнатуры сиблингов демонстрируют повышенное сходство, когда их данные подвергаются статистическому корреляционному анализу.
Разделение сигналов
[0152] В соответствии с различными вариантами осуществления, вычислительное устройство распознает, когда присутствует информация о сигнатуре сиблинга, и использует эту информацию во время анализа маркеров, например, путем различения независимо произведенной подделки и незаконной копии маркера, сделанной с использованием законного маркировочного оборудования. Для выполнения этого процесса в варианте осуществления, вычислительное устройство отделяет взаимную информацию от уникальной при минимизации эффектов шума.
[0153] В одном из вариантов осуществления, вычислительное устройство идентифицирует компонент взаимной информации в наборе сигнатур сиблингов, беря среднее значение всех сигнатур. Поскольку UI-компоненты по определению некоррелированы, их индивидуальные вклады будут усредняться (наряду со случайным компонентом шума), оставляя только совместно используемую MI сиблинга.
[0154] После того, как вычислительное устройство изолирует MI, оно может вычесть MI из исходных отдельных сигнатур, тем самым создавая сигнатуры с удаленной MI. С точки зрения анализа сигнатуры, это эффективно преобразует сиблинги в не-сиблинги, поскольку после того как совместно используемая информация была удалена, остаются только не-коррелирующие сигналы. Каким образом это является полезным, будет рассмотрено ниже.
Анти-сиблинги
[0155] Форма совместно используемой информации включает в себя условия, в которых анти-корреляция существует между экземпляром маркера и его сиблингами. Здесь, когда вычислительное устройство сравнивает маркер с его анти-сиблингом, итогом является результат повышенной корреляции в негативе. То есть, в то время как отношение сиблинга обычно приводит к кросс-корреляции между двумя маркерами от 0,1 до 0,4, анти-сиблинг будут давать корреляцию сигнатуры от -0,1 до -0,4. Помня, что истинно независимые маркеры (не-сиблинги или подделки) будут некоррелированными с оценками близкими к нулю, явление анти-корреляции указывает на то, что процесс действует, создавая измеримое отношение между сигнатурами, полученными из множества маркеров. Поэтому, даже хотя измеренное отношение связь является одной из противоположностей, в нем все еще сохраняется информация, указывающая на вероятно сходное происхождение маркера, что может использоваться вычислительным устройством.
[0156] Графики, показанные на фиг. 32-34, иллюстрируют пример данных сигнатуры для трех отношений, рассмотренных выше.
Применения феномена сиблинга
[0157] В одном варианте осуществления, вычислительное устройство может выполнять по меньшей мере три первичные аналитические операции с данными сигнатуры для создания полезных применений информации сиблинга:
- Выполнять операции кросс-корреляции над отдельными сигнатурами, чтобы тем самым установить, что отношения сиблинга существуют среди совокупности сигнатур.
- Вычислять общую информацию сигнатуры, составляя сигнатуру сиблинга (т.е. совместно используемую информацию) для набора сиблингов.
- ʺОчищатьʺ сиблинги от их совместно используемой информации сигнатуры сиблинга и затем рассматривать их как не-родственные маркеры в последующих операциях поиска и обработки данных сигнатуры.
[0158] Идентифицировав, что отношение сиблинга существует между сигнатурами в базе данных и, извлекая эти сигнатуры сиблинга, вычислительное устройство может выполнять полезные операции с базой данных и компонентными данными сигнатуры.
[0159] Например, вычислительное устройство может сузить пространство поиска для нахождения верной исходной подлинной сигнатуры в репозитории при выполнении операции верификации на маркере-кандидате. С помощью сигнатур сиблингов данных маркеров, хранящихся в базе данных, вычислительное устройство может выполнять двухэтапный поиск, эффективно уменьшая размер блока данных, к которому он применяет операцию исчерпывающего поиска низкочастотной волновой формы. На высоком уровне, процедура, выполняемая вычислительным устройством в соответствии с вариантом осуществления, состоит в следующем:
- Анализировать все сигнатуры в базе данных и выполнять операцию кластеризации на сигнатурах на основе MI.
- Для каждого кластера:
Извлечь сигнатуру сиблинга
Сохранить сигнатуру сиблинга в базе данных в ассоциации с соответствующим кластером.
- После получения маркера-кандидата, выбрать корректный кластер путем сравнения сигнатур кластера с входящей сигнатурой-кандидатом.
- Перенести кластер наилучшего соответствия полностью в процедуру сопоставления.
Сужая поиск в первоначальном проходе через набор сигнатур кластера подлинных маркеров, вычислительное устройство или логическая схема могут значительно сократить количество сигнатур, которые необходимо сравнить.
Использование методов обработки сиблинга в контексте HID
[0160] В одном варианте осуществления, вычислительное устройство может использовать идентификацию сиблинга и обработку для дальнейшей оптимизации способов, описанных выше для варианта осуществления HID.
[0161] Описанное выше представляет собой набор кластеризованных данных характерного признака (ʺотпечатка пальцаʺ) исходного подлинника, которые можно найти путем сравнения входящего кандидата с каждой сигнатурой сиблинга кластера, причем тот, который дает наибольшее сходство, является корректным кластером, на котором выполняется исчерпывающий вторичный поиск. Обработка характерных признаков оттуда проходит, как описано выше.
[0162] Во многих вариантах осуществления, первичными группировками сиблингов будет положение их оттиска на печатной пластине. Для чрезвычайно больших производственных партий, даже уменьшение размера блока поиска до одной группы с использованием сигнатуры сиблинга может дать в результате латентность поиска, превышающую пределы, налагаемые требованиями верификации в реальном времени. Уменьшение размера кластеров (например, путем сужения поиска до HID, соответствующих конкретному идентифицированному принтеру, как указывается данными сиблинга) может быть использовано для уменьшения пространства поиска (т.е. вычислительному устройству нужно выполнять только наиболее вычислительно затратный процесс сравнения на поднаборе сигнатур) и тем самым ускорения процесса.
[0163] Например, обращаясь к фиг. 35, вычислительное устройство строит дерево поиска путем запуска процедуры кластеризации (например, хорошо известной процедуры кластеризации, такой как кластеризация методом K-средних) на сигнатурах. Эта процедура даст нижний уровень кластеров. Для каждого кластера, вычислительное устройство извлекает одну сигнатуру сиблинга, которая представляет все члены этого кластера. Затем вычислительное устройство выполняет ту же процедуру кластеризации на полученных кластерах и тем самым идентифицирует суперкластеры. Затем вычислительное устройство продолжает для n уровней, тем самым создавая дерево поиска. Когда вычислительное устройство получает маркер-кандидат, оно извлекает сигнатуру из маркера (с использованием одной или более описанных ранее технологий - измерение характеристик и т.д.), включая сигнатуру сиблинга, входит в дерево поиска сверху, сравнивает сигнатуру-кандидат сиблинга, находит лучшее соответствие и так далее. В результате, вычислительное устройство сравнивает кандидата с последовательно более точными сигнатурами сиблингов, которые разделяются на меньшие и меньшие поднаборы, до тех пор, пока не достигнет нижнего уровня дерева, где оно в конечном итоге выполняет более исчерпывающее сравнение на полных, индивидуальных сигнатурах. Затем вычислительное устройство предоставляет одно или более уведомлений, как указано выше в предыдущих разделах. Отметим, что вместо сигнатур сиблингов, каждый последующий суперкластер или кластер мог бы быть представлен посредством HID, а сравнение (для единообразия) может быть выполнено с использованием HID (до конечного кластера на нижнем уровне).
[0164] Продолжая со ссылкой на фиг. 35, предположим, что вычислительное устройство получает маркер-кандидат (ʺвходной маркерʺ) способом, описанным ранее. Далее предположим, что вычислительное устройство имеет доступ к базе данных маркеров, которые индексированы, как описано в связи с вариантом осуществления HID, с дополнительным признаком, как показано на фиг. 35, что каждый сиблинг (например, каждый отдельный, идентифицированный принтер) имеет свой собственный суперкластер и/или кластер, ассоциированный с ним и соответствующим образом индексированный в базе данных. Вычислительное устройство может: (а) анализировать маркер с использованием одной или более технологий, описанных в настоящем документе; (b) идентифицировать сигнатуру сиблинга в пределах маркера-кандидата (например, для идентификации того, какой принтер произвел маркер-кандидат [например, идентификации, какая пластина отпечатала маркер или к какой группе оттисков пластины принадлежит маркер]), (c) использовать идентифицированную сигнатуру сиблинга, чтобы выбрать суперкластер для поиска, (d) использовать дальнейшие данные сигнатуры-сиблинга (или другие характеристики, не относящиеся к сиблингу) для определения кластера для поиска внутри выбранного суперкластера, (e) повторять этот процесс сужения пространства поиска по мере необходимости и на основе структуры базы данных и (f) проводить итоговый поиск в пространстве поиска с использованием либо метода грубой силы, либо с использованием одной или более технологий HID, описанных выше.
Распад сигнатуры
[0165] В исследованиях наблюдалось, что иногда сигнатуры сиблингов проявляют свойство распада (ослабления); то есть они изменяются во времени с количественно оцениваемой постоянной времени. График на фиг. 36 иллюстрирует эту концепцию.
[0166] При создании графика на фиг. 36, вычислительное устройство использует первый элемент в последовательности в качестве опорной сигнатуры, с которой сравниваются все другие сигнатуры. Опять же, типичная периодическая последовательность пиков очевидна и показывает, что тестовый набор действительно содержит родственные маркеры. Однако в данных наблюдается распад сходства сиблингов, что означает, что сила сходства сиблингов имеет локализованный аспект относительно последовательности производства маркеров. Короче говоря, чем ближе друг к другу два маркера находятся внутри производственной серии, тем сильнее их общая мера сходства.
[0167] Выполняя это достаточно долго, то есть продолжая вышеприведенную диаграмму намного дальше вправо - можно было бы наблюдать, что пики сходства сиблингов в конечном итоге полностью гаснут. Физически это означает, что имелись бы маркеры, производимые одним и тем же оттиском пластины, но лишенные общей взаимной информации, необходимой для того, чтобы ʺвести себяʺ, как сиблинги. Включение всех этих маркеров в один и тот же кластер привело бы к низкой производительности при поиске в кластере из-за того, что результирующая сигнатура сиблинга является средним многих слабо коррелированных сигнатур. Любая такая полученная сигнатура соответствовала бы с аналогичной слабостью любому кандидату, даже если этот маркер-кандидат 'принадлежал' к сравниваемому кластеру/группе оттисков пластины.
[0168] В этих случаях вычислительное устройство использует способ периодического создания нового кластера по мере его перемещения вдоль серии маркеров. Это приводит к ʺнарезкеʺ (потенциально огромного) одного набора родственных маркеров на меньшие, более управляемые наборы. Особым преимуществом является то, что частота создания новых кластеров может быть управляемой по желанию и, таким образом, создаются кластеры с размерами, подходящими для быстрых вторичных поисков или даже для исчерпывающей обработки с использованием методов сравнения полной сигнатуры маркера.
[0169] График на фиг. 37 иллюстрирует данные одного кластера фиг. 36, обработанного в пять меньших кластеров. Отметим, что мера общего сходства в каждом новом кластере значительно улучшена, что означает, что сигнатуры сиблингов, полученные для каждого кластера, могут использоваться при выборе входящей сигнатуры-кандидата в корректный кластер.
Статистический анализ данных сигнатуры
[0170] В одном варианте осуществления, вычислительное устройство создает несколько отфильтрованных профилей для подлинного маркера в нескольких диапазонах пространственных частот и сохраняет эти отфильтрованные профили в устройстве хранения данных. Затем, когда вычислительное устройство получает изображение маркера-кандидата, которое должно тестироваться на подлинность, вычислительное устройство (а) создает отфильтрованные профили для маркера-кандидата (например, блоки 508, 510, 608 и 610), (b) сравнивает отфильтрованный профиль для маркера-кандидата в конкретном пространственном частотном диапазоне с отфильтрованным профилем подлинного маркера в том же пространственном частотном диапазоне (например, путем выполнения функции статистической корреляции на последовательности данных отфильтрованного профиля подлинного маркера и отфильтрованного профиля маркера-кандидата) (например, блок 612), (c) присваивает оценку корреляции на основе статистической корреляции, (d) повторяет (b) и (c) для нескольких частотных диапазонов и (e) создает корреляционный профиль пространственного частотного спектра на основе совокупности оценок корреляции. Например, оценка корреляции может представлять собой корреляцию числовых рядов для данных метрик подлинника и кандидата, отфильтрованных в конкретном диапазоне частот.
Шаблоны серии сиблингов
[0171] На фиг. 38 изображен график, показывающий сходство между характеристиками одного опорного маркера (первого в серии на графике) и группой маркеров, созданных в одной и той же производственной серии на одном и том же печатающем устройстве. Как можно видеть, существует ряд пиков сиблингов (точки данных, которые, возможно, отображаются на сигнатуру сиблинга), которые, в этом примере, имеют период семи (т.е. пластина, использованная для создания этой серии маркеров, имела семь оттисков на печатном цилиндре). Когда вычислительное устройство получает данные, отраженные в этом графике, и проводит анализ, вычислительное устройство заключило бы, что данные между пиками сиблингов соответствуют приблизительно повторяющейся форме. Эти данные, представляющие шесть маркеров между каждым пиком сиблинга, могут использоваться вычислительным устройством для характеристики сходства не-сиблингов с опорным маркером при оценивании в порядке производства печатью. Фактически, то, что может делать вычислительное устройство, это строить графики и обнаруживать ʺстабильное несходствоʺ, которое является характеристикой для разных наборов сиблингов. Таким образом, вычислительное устройство, в варианте осуществления, может устанавливать (на внешнем интерфейсе, где производится маркер), или идентифицировать (во время верификации маркера-кандидата) сигнатуру процесса печати, который произвел эту серию маркеров. Вычислительное устройство может применять этот принцип различными способами. Например, если вычислительное устройство собирает набор данных о подделках в течение определенного периода времени, и последующий рейд правоохранительных органов приводит к изъятию поддельных маркеров или производственного оборудования, вычислительное устройство может сопоставить собранные данные поддельной сигнатуры сиблинга с данными сигнатуры, полученными из вычислительного устройства, анализирующего (в соответствии с одной или более описанными здесь технологиями) изъятые маркеры или маркеры, произведенные изъятым оборудованием. Затем это можно использовать в качестве доказательства при судебном преследовании производителя подделок и с уверенностью утверждать, что изъятое оборудование действительно производило подделки, обнаруженные в обращении.
[0172] В варианте осуществления, профиль корреляции пространственного частотного спектра состоит из последовательности данных, которая содержит оценки корреляции, упорядоченные предопределенным способом. На фиг. 39 показан пример профиля корреляции пространственного частотного спектра, изображенный в виде графика. Горизонтальная ось содержит числовые значения, присвоенные каждому из полосовых фильтров. Например, полосовой фильтр #1 может допускать спектральные компоненты с длиной волны от 3 миллиметров до 6 миллиметров, полосовой фильтр #2 может допускать спектральные компоненты с длиной волны от 6 миллиметров до 12 миллиметров и т.д. Вертикальная ось содержит оценки корреляции операции корреляции, выполняемой вычислительным устройством на соответствующих отфильтрованных профилях маркера-кандидата и подлинного маркера.
[0173] В варианте осуществления, вычислительное устройство сравнивает профиль корреляции пространственного частотного спектра маркера-кандидата и подлинного маркера и на основе сравнения определяет, является ли маркер-кандидат подлинным маркером. Дополнительно или альтернативно, вычислительное устройство определяет, был ли маркер-кандидат напечатан с использованием той же печатной пластины, что и подлинный маркер (например, после определения того, что маркер-кандидат не является подлинным). Форма профиля корреляции пространственного частотного спектра указывает результат, и вычислительное устройство может интерпретировать эту форму как часть выполнения блока 614. Например, на фиг. 39 показана типичная форма ʺгорбаʺ подлинного маркера (линия 2102) и низкая плоская линия поддельного маркера (линия 2104). Фиг. 40 показывает подлинник (линия 2202) и фотокопию одного и того же подлинного маркера (линия 2204).
[0174] Следует понимать, что примерные варианты осуществления, описанные здесь, должны рассматриваться только в описательном смысле, а не для целей ограничения. Описания признаков или аспектов в каждом варианте осуществления обычно должны рассматриваться как доступные для других аналогичных признаков или аспектов в других вариантах осуществления. Специалистам в данной области техники будет понятно, что в них могут быть внесены различные изменения по форме и в деталях, не отступая от их сущности и объема. Например, блоки различных блок-схем последовательностей операций могут быть переупорядочены способами, которые будут очевидны специалистам в данной области техники. Кроме того, блоки таких блок-схем последовательностей операций, а также способы, описанные здесь, могут быть выполнены на одном вычислительном устройстве.