用于确定标记是否真实的方法和计算装置

文档序号:1643020 发布日期:2019-12-20 浏览:26次 >En<

阅读说明:本技术 用于确定标记是否真实的方法和计算装置 (Method and computing device for determining whether a mark is authentic ) 是由 迈克尔·L·苏波斯基 于 2017-12-06 设计创作,主要内容包括:本公开一般涉及用于确定标记是否是真实的方法和计算设备。根据各种实施方式,计算设备(或其逻辑电路)使用真实标记内的无意产生的伪像来定义可识别的电子签名,提取签名的某些属性(诸如与签名的每个带的平均值的偏差),并为提取的属性分配数值,以便创建一个明显小于电子签名本身的哈希标识符。然后将哈希标识符用作电子签名(真实标记)数据库的索引,以增强可以搜索(例如,在数据库中)许多真实签名并与候选标记的签名进行比较的容易性和速度。(The present disclosure relates generally to methods and computing devices for determining whether a mark is authentic. According to various embodiments, the computing device (or logic circuitry thereof) uses the unintentionally generated artifacts within the authentic signature to define an identifiable electronic signature, extracts certain attributes of the signature (such as deviations from the mean of each band of the signature), and assigns values to the extracted attributes to create a hash identifier that is significantly smaller than the electronic signature itself. The hashed identifier is then used as an index into a database of electronic signatures (authentic tags) to enhance the ease and speed with which many authentic signatures can be searched (e.g., in a database) and compared to signatures of candidate tags.)

用于确定标记是否真实的方法和计算装置

相关申请的交叉引用

本申请是2015年2月17日提交的美国专利申请14/623,925(现在的美国专利No.9,519,942)的部分继续申请,其内容通过引用结合在此。

技术领域

本公开一般涉及防伪技术,并且更具体地,涉及用于确定标记是否为真的方法和计算装置。

背景技术

不幸的是,伪造产品可广泛获得并且通常难以发现。当造假者生产假货时,除了实际产品外,它们通常会复制标签和条形码。在肤浅层面,标签和条形码可能看起来是真实的,甚至在扫描时产生有效数据(例如,解码为适当的通用产品代码(Universal ProductCode))。虽然目前有许多技术可用于对抗这种复制,但是大多数这些解决方案涉及***各种类型的代码、图案,微纤维、微点和其它标记以帮助阻止伪造。这些技术要求制造商利用额外的装置和材料,并为生产过程增加一层复杂性。

具体实施方式

本公开一般涉及用于确定标记是否为真的方法和计算装置。根据各种实施例,计算装置(或其逻辑电路)利用真实标记内的无意产生的伪像来定义可识别的电子签名(“签名”),并提取签名的某些特征,以便增强搜索许多真实签名并与候选标记的签名进行比较的容易度和速度。

本公开通常提及“标记(mark)”。如这里所利用的,“标记”是有意地放在物理对象上的可见指示符。标记可以是标识品牌(例如,logo)的东西,承载信息的东西,诸如,条形码(例如,国际标准化组织(“ISO”)和国际电工委员会(“IEC”)标准ISO/IEC 16022中规定的二维(“2D”)条形码)、有效期、或跟踪信息(诸如,序列号)或装饰。可以在电磁波谱的某些部分中看到上述标记,虽然不一定是肉眼可见。

这里利用的术语“伪像(artifact)”是由创建标记的机器或过程产生的标记的特征,但不是由设计或意图产生的(即,不规则)。伪像的示例包括:(a)子区域(例如,2D条形码的单元格)的平均颜色与从标记内部得到的平均值(可以是相同标称颜色的相邻单元的平均值)的偏差,(b)相对于邻近子区域的最佳拟合网格的子区域位置偏差,(c)与单元的标称颜色不同的至少两种颜色中的一种不同颜色的区域,(d)与标记内连续边缘的标称形状的偏离,以及(e)由印刷标记引起的缺陷或其它变化。在一些实施例中,伪像并非是可控制地可再现。

如本文所利用的术语“高度匹配(“closely match,”“closely matching,”“closely matched”)”是指基于产生相似性的值之间的比较(例如,两个哈希标识符)进行的确定的结果,达到或超过预定阈值。例如,如果预定阈值是20%,则如果一个哈希标识符的如果组成部分的20%或更多(例如,20%或更多的组成哈希标识符块)在值上等于另一个哈希标识符的组成部分的20%或更多,则可以说两个哈希标识符“高度匹配”。

这里利用的术语“位置标识符(location identifier)”是指映射到标记中的位置的数值。位置标识符与标记内的位置之间的映射关系可以是一对一的。与标记中的位置具有一对一映射关系的位置标识符的示例是光栅索引号。

这里利用的术语“逻辑电路(logic circuitry)”表示设计用于执行根据数学逻辑定义的复杂功能的电路(一种电子硬件)。逻辑电路的示例包括微处理器、控制器或专用集成电路。当本公开涉及执行动作的计算装置时,应该理解,这也可以意味着与计算装置集成的逻辑电路实际上正在执行动作。

这里利用的术语“移动通信装置(mobile communication device)”是能够通过无线网络(诸如,蜂窝网络或WiFi网络)发送和接收信息的通信装置。移动通信装置的示例包括手机(例如,智能手机)、平板电脑和具有无线通信功能的便携式扫描仪。

本公开一般涉及用于确定标记是否是真实的方法和计算设备。根据实施例,计算设备接收真实标记的捕获图像并生成真实标记的电子签名。为了生成电子签名,计算设备使用捕获的图像来:测量真实标记内的多个位置处的一组特征,从而产生用于真实标记的一组度量;并根据该组度量形成真实标记的电子签名。

根据一个实施例,计算设备(或其逻辑电路)测量真实标记内的多个位置处的第二组特征,从而产生用于真实标记的第二组度量。然后,计算设备基于第一和第二组度量形成真实标记的电子签名。

在一个实施例中,计算设备通过以下方式生成用于真实标记的哈希标识符(“HID”):从该组度量中提取波形(其中,该波形基于该组度量与位置(例如,表示为光栅索引号)之间的有序对关系,在该位置处获得那些度量的测量值。)。计算设备可以过滤波形(例如通过应用平滑处理,例如移动平均)。计算设备提取波形(或滤波的波形)的属性,并根据波形(或滤波的波形)的属性形成真实标记的HID。然后,计算设备将HID与真实标记的电子签名相关联地存储在数据库中。

根据实施例,计算设备对第二组度量执行提取和应用操作(产生第二波形),并根据第一和第二波形的属性形成HID。

在一个实施例中,其他电子签名和其他HID,其中每个电子签名与其自己的HID相关联。

根据一个实施例,计算设备从请求者接收候选标记的捕获图像和确定候选标记是否是真实的请求并且以上述针对真实标记描述方式之一生成候选标记的电子签名。计算设备还可以以上述用于真实标记的方式之一形成HID。

在一个实施例中,计算设备基于候选标记的HID与真实标记的HID的比较来确定候选标记的HID是否与真实标记的HID高度匹配。如果确定候选标记的HID与真实标记的HID高度匹配,则计算设备从媒体存储设备检索真实标记的电子签名。然后,计算设备基于候选标记的电子签名与检索到的真实标记的电子签名的比较来确定候选标记是否是真实的。如果确定候选标记是真实的,则计算设备向请求者发送指示标记被确定为真实的消息。

根据各种实施例,候选标记的HID可以与多个真实标记的HID高度匹配。然而,将候选标记的HID与真实标记的HID进行比较的计算强度较低,并且与比较实际签名相比使用较少的内存。因此,通过在初始通过一组已知的真实标记的签名中使用HID,计算设备或逻辑电路可以显著减少需要比较的实际签名的数量。

转到参照图1,示出了可以实现本公开的各种实施例的系统的示例。在该系统内执行的程序显示在图2A,图2B和图2C的流程图中。这里与图1并行地描述图2A,图2B和图2C。

标记应用设备100将真实标记102(“标记102”)应用于合法物理对象104(“对象104”)(图2A的框202)。在一些实施例中,对象104是制品,例如一件衣服,手提包或时尚配饰。在其他实施例中,对象104是标签,例如条形码标签或用于某些其他物理对象的包装。标记102可以是识别品牌的东西(例如,徽标logo),带有信息的东西(例如条形码)或装饰。标记施加装置100的可能实施例包括打印机(例如,激光或热敏打印机),蚀刻装置,雕刻装置,模具施加装置,商标装置,缝合装置和热转印装置。标记施加装置100通过例如印刷,蚀刻,雕刻,模制,加商标,缝合或将标记102热转印到对象104上来施加标记102。标记102包括一个或多个伪像。在一些实施例中,标记102还包括有意产生的防伪特征,例如微观图案。

在应用标记102之后,第一图像捕获设备106(例如,相机,机器视觉设备或扫描仪)捕获标记102的图像(框204)。控制第一图像捕获装置106捕获标记102的图像的环境,使得可以合理地保证图像实际上是真实标记102的图像。例如,标记施加装置100施加标记102与第一图像捕获装置106获得标记102的图像之间的时间间隔可以很小,并且第一图像捕获装置106可以沿着包装线物理地位于标记施加装置100旁边。因此,当使用术语“真实标记”时,它指的是由标记应用设备在合法来源处应用的标记(即,不是非法或秘密地复制)。

第一图像捕获设备106将捕获的图像发送到第一计算设备108。第一计算设备108的可能实施例包括台式计算机,机架式服务器,膝上型计算机,平板计算机和移动电话。在一些实施例中,第一图像捕获设备106与第一计算设备108集成,在这种情况下,第一图像捕获设备106将捕获的图像发送到第一计算设备108的逻辑电路。第一计算设备108或其中的逻辑电路接收捕获的图像并将捕获的图像发送到第二计算设备110。第二计算设备110的可能实现包括为第一计算设备108列出的所有那些设备。

第二计算设备110接收捕获的图像并使用捕获的图像来测量标记102的各种特征,从而产生包括关于标记102的伪像的数据的一组度量(框206)。如将进一步描述的,该组度量可以是第二计算设备110关于标记102生成的若干度量集合之一。第二计算设备110可以在标记102上的不同位置执行测量。在这样做时,第二计算设备110可以将标记102划分为多个子区域(例如,根据行业标准)。在一个实施例中,如果标记102是2D条形码,则第二计算设备110对标记102子区域的总数(例如,总数目的单元的全部或子集)的全部或子集执行测量。第二计算设备110可以测量的标记102的特征的示例包括:(a)特征形状,(b)特征纵横比,(c)特征位置,(d)特征尺寸,(e)特征对比度,(f))边缘线性,(g)区域不连续性,(h)外来标记,(i)印刷缺陷,(j)颜色(例如,亮度,色调或两者),(k)色素沉着,和(l)对比度变化。在一些实施例中,第二计算设备110针对每个特征从标记到标记对相同位置进行测量,但是针对不同特征在不同位置上进行测量。例如,第一第二计算设备110可以测量标记的第一组位置上的平均色素沉积,并且测量后续标记的相同的第一组位置,但是测量标记上以及在随后的标记上的第二组位置上的边缘线性度。如果对于两个组存在至少一个不同的位置,则可以说两组位置(对于不同的特征)是“不同的”。

在一个实施例中,第二计算设备110的特征测量结果包括一组度量。对于每个测量的特征,可以存在一组或多组度量。第二计算设备110分析该组度量,并且基于该分析,生成基于该组度量的签名(框208)。因为该组度量包括关于标记102的伪像(或多个伪像)的数据,所以该签名将间接地基于该伪像。如果标记102携带数据(如在2D条形码的情况下),则第二计算设备110还可以包括这样的数据作为签名的一部分。换句话说,在一些实施例中,签名可以基于标记102的伪像和标记102携带的数据。

在一个实施例中,为了生成签名,对于标记102的每个测量的特征,第二计算设备110按大小对与特征相关联的度量进行排序,并且仅使用达到预定阈值的那些度量作为签名的一部分。例如,第二计算设备110可以避免对那些低于预定阈值的度量进行排序。在一个实施例中,对于每个被测量的特征存在不同的预定阈值。预定阈值中的一个或多个可以基于噪声阈值和第一图像捕获设备106的分辨率。

在一个实施例中,第二计算设备110获得每个特征的100个数据点并收集六组测量值:一组用于色素沉着的测量值,一组用于偏离最佳拟合网格的测量值,一组用于外来标记或空隙的测量值,以及用于边缘线性的三组独立测量值。

作为排序过程的一部分,第二计算设备110可以将低于预定阈值的度量组合在一起,而不管它们各自的位置(即,不管它们在标记102上的位置如何)。而且,第二计算设备110可以将每个特征类别中的度量(例如,按幅度)排序作为排序过程的一部分。类似地,第二计算设备110可以简单地不计数低于预定阈值的度量。此外,排序过程可以简单地构造与低于阈值的度量相区别的那些高于阈值的分离度量。

在一个实施例中,第二计算设备110根据特征对图像分辨率问题的敏感程度对所测量的特征进行排序。例如,如果第一图像捕获设备106不具有以高分辨率捕获图像的能力,则第二计算设备110可能难以识别边缘的非线性。然而,第二计算设备110可以没有识别色素沉着偏差的问题。因此,在此基础上,第二计算设备110可以优先化边缘非线性上的色素沉积。根据一个实施例,第二计算设备110按照与分辨率相关的相反顺序对测量的特征进行排序如下:子区域色素沉着,子区域位置偏差,空隙或外来标记的位置,以及边缘非线性。

根据实施例,第二计算设备110基于第一图像捕获设备106的分辨率和标记102的捕获图像的分辨率中的一个或多个来加权标记102的测量特征。例如,如果第一图像捕获设备106的分辨率低,则第二计算设备110可以给予标记102的各个子区域的平均色素沉积更多的权重。如果第一图像捕获装置106的分辨率高,则第二计算装置110可以给各个子区域的边缘不规则性的测量比其他特征更高的权重。

如果标记102包括诸如ISO/IEC 16022所述的错误校正信息,则第二计算设备110可以使用错误校正信息来加权测量的特征。例如,第二计算设备110可以读取错误校正信息,使用错误校正信息来确定标记102的哪些子区域具有错误,并且使这些子区域的测量特征不计权重(under-weight)。

根据实施例,在生成签名时,第二计算设备110基于标记应用设备100对标记102的一个或多个特征的测量值进行加权。例如,假设标记施加装置100是热转印打印机。进一步假设,已知的是,对于由标记施加装置100施加的那些标记,平行于基板材料运动方向的边缘投影不可能产生足以达到边缘线性度的最小阈值的边缘线性度量测量值。基于标记应用设备100的这种已知特性,第二计算设备110可以对标记102的边缘线性特征测量进行不计权重。

继续图1所示,第二计算设备110使用与签名的度量的子集相对应的位置标识符来导出HID(框210)。在一个实施例中,第二计算设备110使用与签名的最大度量的子集相对应的索引号来导出HID。如下面将进一步详细讨论的,第二计算设备110可以在导出HID时使用与每组度量的子集相对应的索引号作为整体HID内的块。第二计算设备110将签名和HID(例如,使用数据库程序)存储在媒体存储设备112(例如,独立磁盘的冗余阵列)中(框212),使得HID与签名相关联。在一些实施例中,HID还可以用于查找签名(例如,第二计算设备110使用数据库程序将HID设置为签名的索引关键字)。在一些实施例中,媒体存储设备112由地理上和时间上分布的多个设备组成,云存储服务通常是这种情况。在一些实施例中,第一计算设备108执行特征测量,各种度量集合的分析,签名的生成,HID的导出以及签名和HID的存储中的一个或多个。在其他实施例中,所有那些步骤由第一计算设备108执行,并且媒体存储设备112由第一计算设备108直接访问。在之后实施例中,不使用第二计算设备110。在其他实施例中,第二计算设备110将签名和HID发送到单独的数据库服务器(即,另一计算设备),其将签名和HID存储在媒体存储设备112中。

继续图1所示,需要测试未验证的物理对象114(“未验证的对象114”),其可以是或可以不是合法的物理对象104,以确保它不是伪造的或者不是非法的。未验证对象114的可能实施例与合法物理对象104的可能实施例相同。在未验证的对象114上是候选标记116。候选标记116的可能实施例与真实标记102的可能实施例相同。第二图像捕获设备118(例如,相机,机器视觉设备或扫描仪)捕获候选标记116的图像(图2B的框250)并将图像发送到第三计算设备120。与第一图像捕获设备106和第一计算设备108一样,第二图像捕获设备118可以是第三计算设备120的一部分,并且候选标记116的捕获图像的传输可以是内部的(即从第二图像捕获设备118到第三计算设备120的逻辑电路)。第三计算设备120(或其中的逻辑电路)接收捕获的图像并将捕获的图像发送到第二计算设备110。第二计算设备110使用捕获的图像来测量候选标记116的各种特征,包括第二计算设备110在真实标记102上测量的相同特征。该测量的结果是特征的一组度量(框252)。连续测量中,结果可以包括用于每个测量特征的一组或多组度量。然后,第二计算设备110生成基于一组(或多组)度量的签名(框254),并且使用其用于生成真实标记102的签名的相同技术来这样做。如果候选标记116实际上是真实标记102(或者由与真实标记102相同的过程生成),则第二计算设备110创建的签名将像从捕获的图像生成的签名一样,是基于真实标记102的伪像的。另一方面,如果候选标记116不是真实标记102(例如,是伪造品),则由该最新图像生成的签名将基于候选标记116表现出的任何其他特征-伪造处理的伪像,不存在来自标记应用装置100的伪像等。第二计算设备110使用与候选标记116的签名的度量的子集相对应的位置标识符(例如,最大度量的子集的索引号)来导出候选标记116的HID(块256)(以与上面关于框210所述的相同方式),并且将候选标记116的HID与存储在媒体存储设备112中的真实标记的HID进行比较(例如,通过查询数据库)(框258)。作为比较的结果,第二计算设备110或者没有接收到高度匹配的结果(例如,没有通过预定阈值的结果),或者从媒体存储设备114接收一个或多个高度匹配的HID(框260)。如果第二计算设备110没有接收到高度匹配的结果,则第二计算设备110向第三计算设备120指示(例如,通过发送消息)指示候选标记116不能被验证(例如,发送指示候选标记116不是真品(框262)。第三计算设备120接收该消息并在用户界面上指示候选标记116不能被验证(或候选标记116是伪造的)。在一些实施例中,第三计算设备118执行所述测量,生成和导出步骤中的一个或多个,并且将签名(或HID,如果第三计算设备118导出HID)发送到第二计算设备110。

另一方面,如果第二计算设备110找到与候选标记116的HID高度匹配的一个或多个HID,则第二计算设备110将通过从媒体存储设备112检索与高度匹配的HID相关联的签名来响应(框264)。然后,第二计算设备110将其为候选标记116生成的实际签名与检索到的真实签名进行比较(图2C的框266)。第二计算设备110针对与高度匹配的HID相关联的每个签名重复该过程。如果是第二计算设备110不能将候选标记116的签名与任何检索到的签名高度匹配(框268),则第二计算设备110向第三计算设备120指示(例如,通过发送消息)指示候选标记116无法验证(方框270)。第三计算设备120接收消息并在用户界面上指示候选标记116不能被验证。另一方面,如果第二计算设备110能够使候选标记116的签名与检索到的签名高度匹配,则第二计算设备110指示(例如,通过发送消息)到第三计算装置120,候选标记116是真实的(框272)。

转到图图3描述了可以在另一个实施例中使用的系统的示例。可以在该系统内执行的过程在图4A,图4B和图4C的流程图中示出。这里并行描述图3,图4A,图4B和图4C。

位于包装设施300处的是标签打印机302,标签应用设备304,包装线306,图像捕获设备308和第一计算设备310。标签打印机302将包括真实标记312(“标记312”)的真实标记应用于标签卷筒314上承载的多个标签(图4A的框402)。真实标记的可能实施例包括一维(“ID”)条形码和2D条形码。标签应用设备304将标签(包括图3中单独示出的标签316和318)应用于合法的物理对象(框404),其中两个在图3中示出,在图3中用附图标记320和322表示(“第一对象320”和“第二对象322”)。图3将物理对象示为盒子(例如,包含制造产品的盒子),但是对象不必是盒子或容器。合法物理对象的可能实施例包括先前针对图1的对象104列出的那些。

图像捕获设备308捕获标记312的图像(框406)并将捕获的图像发送到第一计算设备310。第一计算设备310接收捕获的图像,并经由通信网络326(“网络326”)将捕获的图像发送到第二计算设备324。网络326的可能实施例包括局域网,广域网,公共网络,专用网络和因特网。网络326可以是有线的,无线的或其组合。第二计算设备324接收捕获的图像并使用图像对标记312执行质量测量(例如,诸如ISO 15415中所述的那些)(框408)。例如,第二计算设备324可以确定标记312中是否存在未使用的错误校正和固定模式损坏。然后,第二计算设备324使用捕获的图像来测量标记312的特征,从而产生一组或多组度量,其包括关于标记312的伪像的数据(框410)。例如,第二计算设备324可以测量(对于真实标记312的子区域的全部或子集):(1)真实标记312的一些或所有子区域的平均色素沉着(例如,全部或部分单元),(2)子区域与最佳拟合网格的位置的任何偏差,(3)杂散标记或空隙的普遍性,以及(4)子区域的一个或多个边缘的线性。尽管可能存在针对单个特征的多组度量,但是每组度量对应于测量的特征。例如,对于被测量的每个子区域-例如,标记312的总共1000个子区域中的一百个子区域-可以存在用于平均色素沉着的度量,用于偏离最佳拟合的度量,用于杂散标记的普遍性度量的度量,以及边缘线性的三个度量。因此,得到的度量集合将是用于着色的100个度量,用于最佳拟合的偏差100个,用于杂散标记或空隙的100个度量,以及用于边缘线性的300个度量(三组每个100个度量)。在一个实施例中,每组度量以列表的形式,其中列表的每个条目包括标识标记312中的位置的信息(例如,基于光栅的索引号),第二计算设备324从该位置获取基础测量和从测量本身导出的数据值(例如,大小)。

然后,第二计算设备324分析度量以识别将用于生成标记312的电子签名的那些度量(框412),并基于该分析生成签名(框414)。第二计算设备324识别签名的最大幅度大小的度量的子集(框416),使用与所识别的子集相对应的位置标识符导出HID块(框418),基于HID块创建HID(图4A的框420),并将HID与签名相关联(框422)存储在媒体存储设备328中(其可能的实现与针对图1的媒体存储设备112描述的那些实现相同)。在一些实施例中,第二计算设备324针对签名的每组度量重复块416和418(例如,一次用于色素沉着的测量组,一次用于偏离最佳拟合网格,一次用于对于外来标记或空隙的测量集合,对于边缘线性度的三组独立测量中的每一组测量一次)。在一些实施例中,第一计算设备310执行框402到420中的一个或多个,并将签名或HID发送到第二计算设备324。

继续图3所示,在从包装设施300到分发点(例如,销售点)的分配链中的某一点处,用户330(例如,销售人员或执法工作者)处理未经验证的物理对象332(“未验证的对象332“),其具有携带候选标记336的未验证的标签334。未验证对象332上的标记或在候选标记336中编码的信息可以暗示未验证对象332源自合法来源,例如包装设施300(或包装设施300正在为其处理包装线306上原始对象的公司)。在这种情况下,用户330希望确定未验证的对象332是否是伪造的或者是非法的。

用户330在第三计算设备338上启动应用程序,在第三计算设备338中,图3描绘为智能手机。第三计算设备338在应用程序的控制下(并且可能响应于来自用户330的附加输入)捕获候选标记336的图像(图4B的框450)(例如,使用相机514,如图5所示)。第三计算设备338对候选标记336中的显式数据进行解码(框452)(例如,条形码中的数据,其指示应用条形码的产品的身份),并将捕获的图像经由网络326发送到第二计算设备324。然后,第二计算设备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执行上面关于图2B和图2C描述的过程,图4B和图4C进行了再现。换句话说,第二计算设备324执行图4B和图4C的框464,466,468,470,472,474,476和478,与图1的第二计算设备110执行图2B和2C的方框258,260,262,264,266,268,270和272一样的方式。

在一个实现中,图1的计算设备108,110和120中的一个或多个,与图3中示出的计算设备310,324和338中的一个或多个,具有图5所示的总体结构。图5中描绘的装置包括:逻辑电路502,主存储器504(例如,易失性存储器,随机存取存储器),辅助存储器506(例如,非易失性存储器),用户输入设备508(例如,键盘,鼠标或触摸屏),显示器510(例如,有机发光二极管显示器)和网络接口512(可以是有线的或无线的)。存储器504和506存储指令和数据。逻辑电路502执行指令并使用该数据来执行各种过程,在一些实施例中,包括本文描述的方法(包括例如据说由计算设备执行的那些过程)。一些计算设备还可以包括相机514(例如,第三计算设备338,特别是如果它被实现为移动设备)。

在一个实施例中,真实标记(例如图3的真实标记312)由多个位置组成,这里称为“子区域”。子区域可以对应于根据ISO/IEC 15415的“单元”,并且可以是统一大小的。为了帮助说明本文所讨论的一些概念,请注意图6,参照图6,其示出了具有第一子区域650,第二子区域652,第三子区域654和第四子区域656的标记600。第一子区域650的特征在于其平均色素沉着从其他子区域显著偏离(例如,超过预定阈值的程度)。第二子区域652的特征在于其与最佳拟合网格658的偏移显著高于其他子区域的偏移。第三子区域654的特征在于其包括比其他子区域高得多的空隙发生率。最后,第四子区域656的特征在于它包括边缘660,其线性度明显小于其他子区域的边缘。

在一个实施例中,为了执行分析从测量标记的特征(例如,图4A的框412和图4B的框456)获得的度量的处理过程,计算设备(诸如第二计算设备324))执行以下任务。计算设备生成最佳拟合网格658。在这样做时,计算设备识别标记的各个子区域之间的边界的理想位置。计算设备选择其特征测量将用于生成标记的签名的子区域。在一个实施例中,计算设备基于哪些子区域具有其测量值偏离最大(例如,高于预定阈值)的特征与该子区域预期的正常或最佳测量值来执行该选择。计算设备在此场景中将选择的子区域的示例包括:

(1)其平均颜色,色素沉着或强度最接近全局平均阈值的子区域,如2D条形码标准所定义的,将暗单元与亮单元区分开来-即,“最亮”的暗单元和“最暗”的亮单元。第一个子区域650属于这一类别。在一个实施例中,如果计算设备将给定子区域识别为具有异常平均色素沉着密度,则计算设备可能需要重新评估所识别的子区域是最近邻居的子区域。当计算设备执行这样的重新评估时,计算设备可以将所识别的子区域折扣作为参考。

(2)其位置偏离最佳拟合网格658所定义的理想化位置最多(例如,高于预定阈值)的子区域。在一些实施例中,计算设备通过识别子区域的边缘,确定边缘的位置,以及将边缘的位置与其预期位置进行比较来确定给定子区域是否属于该类别,所述预期位置由最佳拟合网格658定义。在其他实施例中,计算设备生成相反极性的两个相邻子区域(例如,暗/亮或亮/暗)之间的边界区域的直方图,其中样本区域相对于最佳拟合网格658重叠相同百分比的每个子区域,并评估直方图与50/50双峰分布的偏差。第二子区域652属于该类别。

(3)包含无关标记或空隙的子区域,无论是亮还是暗色。在一个实施例中,计算设备通过生成子区域的亮度直方图并确定直方图的最外主导模式之间的距离是否足够(例如,高于预定阈值)来确定子区域是否落入该类别内。第三个分区654属于这一类别。

(4)具有一个或多个边缘的子区域,所述边缘具有以下中的一个或多个:(a)超过预定阈值的长度,(b)超过(或低于预定阈值)的长度的连续性,以及(c)线性度超过(或低于)预定阈值。在实施例中,计算装置通过计算一个子区域的长度上的像素宽亮度值、通过子区域的一半的长度计算从最佳拟合网格658的偏移、垂直于在最佳拟合网格658中界定该边缘的网格线,来确定子区域是否落入该类别。第四个分区656属于这一类别。

在计算设备测量标记(真实或候选)的特征之后,计算设备使得所测量的标记特征可用作索引数组相关列表(可通过标记中的子区域(例如,单元格)位置关联)。

转到参照图7,在另一示例中,假设正在分析的标记是1D线性条形码700。计算设备(诸如第二计算设备324)可用于形成电子签名的特征包括:条的宽度或间隔的变化702;平均颜色,色素沉着或强度的变化704;黑条中的空洞706(或白条纹中的黑点);以及条的边缘的形状的不规则性708。

转到图8和图9,现在将描述图16A的框416和图16B框460中计算设备(例如,计算设备324)为识别标记的电子签名的最高幅值度量的子组(并从与子组相关联的位置标识符导出HID)而执行的过程。对于每个测量的特征(并且对于在特征被多次测量的情况下的特征的每个度量组),计算装置获取构成电子签名的一部分的度量组并按值对该组进行排序。在图8中,例如,第一度量组802(描绘为列表)表示2D条形码的各种单元的色素沉着,每个单元具有相关的索引号。此时每个单元的数据是无单位的,但是当计算装置最初进行色素沉着测量时,它就灰度值而言这么做。第一组802仅是构成2D条形码的电子签名的多度量组中的一组。计算装置通过数据值的大小对第一组802进行排序,并提取与最高幅值数据值的子组806相对应的索引号的子组804。然后,计算装置使索引值的子组804成为第一度量组802的HID块。

在另一示例中,在图9中,第一度量组902对应于标记(例如,真实标记312或候选标记336)的第一特征,第二度量组904对应于标记的第二特征,以及第三度量组906(“第n组”或最后一组)对应于标记的第三特征。但是,可能存在任意数量的度量组。该示例中的每个度量组的每个成员包括(1)索引值,其与获得特征的测量值的标记的子区域的光栅位置相关,以及(2)数据值,其是大小既可以是测量值本身也可以来自测量值的幅值(例如,在一些统计处理和归一化之后)。计算装置按数据值对每个度量组进行排序。对于每个度量组,计算装置提取对应于数据值的最高幅值子组的索引值。在该示例中,每个最高幅值子组是度量组的前25个数据值。计算装置从对应于第一度量组902的最高幅值子组的索引值导出第一HID块908。计算装置类似地从对应于第二度量组904的最高幅值子组的索引值导出第二HID块910。计算装置继续该过程,直到对每个度量组执行该过程(即,通过度量的第n组906以导出第三或“第n”个HID块912),从而产生一组HID块。计算装置通过聚集HID块来形成HID。在此示例中,HID块包含提取的索引值本身。

转到图10,示出根据实施例计算装置(例如,第二计算装置324)如何将针对候选标记生成的HID与真实标记的HID进行比较的示例(例如,如结合图4B中的框464和466所描述的)。计算装置尝试匹配构成候选标记和真实标记的相应HID块的索引值,其中相同的索引组集彼此匹配以用于“苹果到苹果apples to apples”比较(例如,提取的子组将候选标记的色素沉着的索引值与提取的真实标记的色素沉着的索引值的子组进行比较)。计算装置将每个匹配计数为匹配分数。因此,例如,真实标记的块1002和候选标记的块1004具有匹配分数21,而候选标记的块1006和真实标记的块1008具有匹配分数4。

转到图11,描述根据实施例的计算装置(例如,第二计算装置324)如何将真实标记的总体HID与候选标记的总体HID进行比较的示例。计算装置获取真实签名的HID值1100的每个单独HID块,并将其与候选签名的HID值1102的对应块进行比较,并分配匹配分数(例如,如上关于图10所述)。然后,计算装置将每个分数组合成总体匹配分数。如果总体匹配分数满足或超过预定阈值分数,则计算装置认为HID高度匹配。例如,计算装置可以利用120的预定阈值分数,这意味着如果分数是120或更高,则计算装置将认为两个HID高度匹配。该阈值可以低至零。在一些实施例中,计算装置忽略最小值并且简单地取“前n个”HID分数(例如,前10个)。在这种情况下,计算装置将始终对前10个最佳HID匹配执行测试。这解决了具有不准确的HID截止并因此通滤波波波步骤产生假阴性的可能性(以对实际非真实候选者的不必要计算为代价)。然后,计算装置检索与真实HID值1100相关联的签名。计算装置重复该过程,直到它将候选HID值1102与存储在真实标记签名的数据库中的很多(可能全部)HID值进行比较。该过程的结果将是整组真实标记签名的子组,然后计算装置中的每一个都可以(通过更“强力”方法)与候选标记的签名进行比较。

根据各种实施例,计算装置可以通过各种如下方式将电子签名(例如,候选标记)和另一个电子签名(例如,真实标记的)彼此进行比较(例如,在框266和472处)。计算装置(例如,第二计算装置324)针对每个特征阵列索引匹配两个标记的原始度量组。计算装置还使真实标记的每个原始组经历归一化相关性,形成与从候选标记提取的度量组类似的顺序。然后,计算装置利用相关结果来达到匹配/不匹配决定(真实vs.伪造)。

例如,计算装置通过利用自相关来将候选签名与真实签名进行比较,诸如,通过将候选标记的排序度量的自相关序列与排序的(存储的)真实签名的自相关序列进行比较。为清楚起见,众所周知的统计操作:

是常见的归一化相关方程,其中r是相关性结果,n是度量数据列表的长度,x和y分别是真实标记和候选标记的度量数据组。当计算装置执行自相关函数时,数据组x和y是相同的。

为了产生根据实施例的自相关序列,计算装置多次执行归一化相关方程中所述的操作,每次将序列x相对于序列y偏移一个附加索引位置(记住y是x的复本)。随着偏移的进行,由于x索引偏移,当超过y数据序列中的最后一个索引时,数据组“回绕”到开头。根据实施例,计算装置通过将y数据加倍并且将x数据从偏移0到“偏移n”“滑动”以生成自相关序列来实现这一点。

在一些实施例中,在图2A中的框212图4A中的方框422,第二计算装置不是将整个签名存储在介质存储装置中,而是存储一组描述(按预定顺序和精度)匹配自相关结果的形状的最佳拟合配置的多项式系数。这是可行的,因为第二计算装置执行在已排序的度量数据上生成签名的过程,因此,特征数据的自相关序列(即,有助于表示真实标记内的伪像的度量)通常是一个简单的多项式曲线。

在实施例中,计算装置(例如,第二计算装置110或第二计算装置324)计算rxy,其中每个项xi是由其幅值大小和位置表示的伪像,并且每个项yi=x(i+i),其中j是两个数据集的偏移量,j=0到(n-1)。因为x按幅值大小排序,并且幅值是x的最高有效位;在j=0处或附近存在非常强的相关性,快速地朝j=n/2下降。因为y是x的复本,j和n-j是可互换的,所以自相关序列形成U形曲线,其示例在图12中示出,必须关于j=0和j=n/2对称。因此,该实施例中的计算装置仅需要计算曲线的一半,尽管为了清楚起见在图12中示出了从j=0到j=n的整个曲线。

在一种实现中,计算装置(诸如,第二计算装置110或第二计算装置324)实际的自相关数执行图2C的框266或图4C的框472,然后利用多项式建模曲线在候选标记上重复该过程。实际上,已经发现,对于系数利用六字节浮点值的6阶方程将倾向于使匹配真实签名数据在百分之一的曲线拟合误差或“识别保真度”内。计算装置获得的所得匹配分数可以在彼此的百分之一之内。对于高匹配分数(如果候选标记是真实的所预期的那样)和低匹配分数(如果候选标记不是真实的所预期的那样),这可能是正确的。

在实施例中,为了生成电子签名而分析标记的度量的计算装置(例如,如图4A的框412中所示,以及图4B的框456)限制并标准化用于生成签名的度量。例如,计算装置可以将多项式系数表达为固定精度,将自相关数据本身表示为-1和+1之间的值,并且利用分析标记(真实或候选)内的阵列索引位置作为排序顺序列表。如果被分析的标记是2D数据矩阵,则阵列索引可以是标记内的单元位置的光栅排序索引,从用于所利用的符号体系的常规原点数据排序。在一种常见类型的2D数据矩阵中,原点是界定网格的左侧和底侧的两个实心条相交的点。

根据实施例,如下,计算装置将真实签名与候选签名(例如,如图2C的框266或图4C的框472中所述)进行比较(尝试匹配)。计算装置利用存储的多项式系数重构签名,自相关每个列表中的度量(即,对于测量的每个特征)以生成多项式系数,并比较两组多项式系数(比较两个自相关序列)。计算装置可以以多种方式执行该比较。例如,计算装置可以尝试将候选标记的自相关序列与真实标记的签名的(重构的)自相关性曲线相关联。或者,计算装置可以为每个自相关序列(候选和真实)构建曲线并在该对曲线上执行曲线拟合误差。图12和图13示出了该过程。对于给定特征(或特征的给定度量组),两组自相关值之间的相关程度变为该特征或度量组的匹配分数。然后,计算装置基于针对各种特征的所有匹配分数确定候选标记是否为真。

在实施例中,为了生成电子签名(例如,如图4A的框412以及图4B的框456中所示)而分析标记的度量的计算装置对候选标记的自相关数据和真实标记的自相关数据应用幂级数分析。计算装置可以利用离散傅里叶变换(“DFT”)来应用这样的幂级数分析:

其中Xk是第k个频率分量,N是度量列表的长度,x是度量数据集。计算装置计算DFT的幂级数,分析每个频率分量(由DFT序列中的复数表示)的幅值,并丢弃相位分量。得到的数据描述了从低频到高频的度量数据频谱能量的分布,并且它成为进一步分析的基础。这些幂级数的示例在图14、图15和图16中以图形方式示出。

在实施例中,为了生成电子签名(例如,如图4A的框412以及图4B的框456中所示)而分析标记的度量的计算装置采用两个频率-域分析:峰度和分布偏差。在这种情况下,分布偏差是指围绕总光谱的中心频带频率的能量分布的度量。为了执行峰度,计算装置可以利用以下公式:

其中是幂级幅值数据的平均值,s是幅值的标准偏差,N是分析的离散频谱频率的数量。

为了计算实施例中的分布偏差,第二计算装置利用以下公式:

其中N是分析离散频谱频率的数字。

当在实施例中利用频域分析(例如,利用DFT)时,计算装置考虑以下标准:当在频域中分析时,真实标记的签名的平滑多项式曲线(由按幅值排序产生)产生光谱签名中可识别的特性。当度量数据以与从真实标记提取的度量数据相同的顺序提取时,如果该符号是真实的,则候选标记将呈现类似的光谱能量分布。换言之,真实标记的排序顺序与候选标记的度量标准“一致”。在排序的幅值或其它叠加信号(例如影印伪像)中的不一致倾向于表现为真实符号光谱中不存在的高频分量,因此提供了标记真实性的附加度量。这解决了伪像自相关序列仍可能满足真实标记的最小统计匹配阈值的可能性。这种信号的DFT幂级数的分布特征将通过候选序列的小幅值匹配误差中存在的高频率揭示匹配的低质量。这种情况可能表示真实标记的复本。特别地,计算装置认为高峰度和高分配比存在于真实标记的光谱中。在一些实施例中,计算装置将该幂级数分布信息与匹配分数结合利用,作为对候选标记的验证的置信度的测量。

转到图17,在实施例中,计算装置通过将签名编码为字节串来生成标记的电子签名(例如,如图2A的框208、图2B的框254、图4A的框414和图4B的框458所述),字节串可以表示为美国信息交换标准码(“ASCII”)字符,而不是数字幅值数据。该替代格式允许计算装置直接利用签名数据作为用于在介质存储装置中查找标记的索引。在该实施例中,计算装置不存储真实标记的每个签名度量的位置和幅值,而是存储真实标记内重要签名特性的存在(或不存在)和每个评估位置。例如,在不携带或编码唯一标识符或序列号的2D数据矩阵符号的情况下,计算装置将标记的签名数据存储为字符串,每个字符针对子区域中的每个特征编码超过最小幅值阈值的特征的存在或不存在,但不编码关于任何一个特征中的特性的幅值或数量的进一步数据。在该示例中,图17的标记1700中的每个子区域具有四位数据,每位对应一个度量组,其中“1”表示特定度量在该子区域具有重要特性。例如,0000(十六进制0)可以表示四个测试特征中没有一个存在的程度大于该特定子区域中的阈值幅值。值1111(十六进制F)将意味着所有四个测试特征的存在程度大于该特定子区域中的最小值。

在标记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个字符。计算装置将真实标记的签名串存储在数据库、平面文件、文本文档或适于存储不同字符串的群体的任何其它构造中。

根据实施例,计算装置(例如,第二计算装置324)在ASCII实现的实施例中测试候选标记,以确定标记是否为真过程如下:

(1)计算装置分析候选标记并提取其ASCII字符串。

(2)计算装置利用ASCII字符串通过数据库程序执行搜索查询。

(3)计算装置(在数据库程序的控制下)对存储在介质存储装置中的签名进行测试,以获得完整候选搜索字符串的精确匹配。如果计算装置没有找到精确的字符串匹配,则计算装置可以通过搜索子字符串或通过对整个字符串的“模糊匹配”搜索来尝试定位近似匹配。

(4)在搜索返回与至少第一最小置信匹配阈值的一个参考字符串匹配的情况下,计算装置认为真实标记和候选标记是相同的。换言之,计算装置将候选标记识别为真实的。另一方面,如果搜索没有返回高于第二较低阈值的百分比匹配的字符串,则计算装置拒绝候选标记为伪造或无效。

(5)在搜索返回具有第一和第二阈值之间的百分比匹配的一个参考字符串的情况下,计算装置可以认为结果是不确定的。在搜索返回具有高于第二阈值的百分比匹配的两个或更多个参考字符串的情况下,计算装置可以认为结果是不确定的。或者,计算装置可以进行进一步的分析以使候选标记的字符串与其它存储的参考字符串之一匹配。

(6)当结果是不确定时,计算装置可以指示(例如,在用户界面上或通过向第三计算装置240发送消息)指示结果是不确定的。计算装置可以提示用户提交候选标记的另一图像进行测试。替代地或另外地,计算装置可以采用重试方法来对候选标记的捕获图像中的各个特征进行编码。计算装置可以将重试方法应用于其候选标记中的签名数据接近该度量的幅值最小阈值的任何子区域。如果被测试的标记利用纠错机制,则重试方法可以应用于纠错机制指示可能损坏或改变的候选标记的任何子区域或部分。替代地或另外地,计算装置可以去除具有接近该最小幅值阈值的幅值的任何签名数据,例如,通过搜索其断言的存在位(设置为1),然后再次利用为断言的位(设置为0),或者替换为“wild-card”字符。或者,计算装置可以通过忽视或忽略表示接近阈值的特征的那些位来重新计算百分比匹配查询。

低变异情景

上面结合图4A-4C和图8-16描述的实施例,对于“高可变性”印刷技术(例如,热转印或喷墨)特别有效,其中具有足够可辨识幅度大小的异常伪像可容易地用作可重复的HID位置。但是,其他印刷技术可能不会表现出相同类型的明显变化。这可以在图18中看到,图18示出了两个波形(信号)的曲线图。已经从使用热转印打印过程打印的标记的一组有序度量对和索引位置中提取第一波形1802。在该示例中,该组度量(在y轴上)表示为与整个波形的平均值的变化(该平均值在y轴上被设置为零)。x轴包括从最低到最高排序的索引值。从使用柔性版印刷工艺印刷的标记的一组有序度量对和索引位置中提取第二波形1804。可以看出,第一波形1802表现出比第二波形1804更高的可变性(注意各个数据系列内的幅度和整体可变性的差异)。

参考热转印数据(第一波形1802),多个高振幅峰值可用于组成用于非序列化查找(数据库查找)的HID(以上述方式)。柔性版数据(第二波形1804)示出了具有很少可辨别的异常值峰值的差别较小的数字序列。因为柔性版数据表现出低可变性,所以在一个实施例中,计算设备(图1的计算设备108,110和120中的一个或多个或图3的计算设备310,324和338中的一个或多个)可以使用度量签名数据的其他方面构建HID,其不依赖于高幅度异常值数据的存在。现在将描述用于使用这些其他方面的各种技术。

根据一个实施例,计算设备对波形进行滤波,从而产生滤波后的波形。可能的滤波器的示例包括平滑处理,诸如移动平均,时域卷积,傅立叶级数运算,空间带通滤波器和低通滤波器。在图19所示的示例中,计算设备已经使第二波形1804经历移动平均,其具有将数据序列平滑成缓慢变化的波形的效果。图19示出了在被滤波(1904a)之前和被滤波之后的第二波形1804(在这种情况下是移动平均值)(1904b)。为了计算实施例中的移动平均值,计算设备从该组度量中获取两个或更多个数据点,将它们相加在一起,将它们的总和除以所添加的数据点的总数,用平均值替换第一数据点,以及使用每个连续的数据点重复此过程,直到达到度量集的末尾。

在一些实施例中,计算设备以允许信息“传播”的方式过滤波形。例如,在窗口平均值之前应用空间滤波器允许每个窗口内的数据包含相邻窗口中包含的一些信息。换句话说,计算设备将来自相邻窗口的信息合并到特定窗口中的平均数据点内。

然后,计算设备提取经滤波的波形的属性,诸如零交叉的位置,峰到峰距离,数据的积分或微分等。可以使用这些技术中的任何一个或全部作为构建HID的基础。在一个实施例中,计算设备将滤波的波形划分为部分或“波带(band)”,如图20所示(本例中为9个波带)并计算每个波带中波形的局部平均值。图20示出了作为矩形的叠加在签名数据上的波带平均值。在一些实施例中,计算设备提取未过滤波形的属性(即,不执行滤波过程)。

计算设备对这些波带平均值进行归一化并组成数据的二进制表示(在图21A中示出)。二进制字符串表示本地平均值高于或低于波带平均值的总平均值。此二进制字符串现在成为此特定度量标准的HID块。对于每个剩余度量,计算设备类似地组成HID块的其余部分。

在一个实施例中,当使用该技术时,计算设备以与上述关于高-变异情景的描述不同的方式评估存储的真实标记的HID与输入候选的HID(例如,图4B的框464)。例如,代替模糊逻辑搜索,计算设备可以使用布尔运算来计算HID匹配分数。在一个实现中,计算设备应用针对原始和输入候选比特模式应用按位反转异或。作为示例,使用如图21A所示组成的原始HID块,计算设备可以如下评估输入候选者:

然后由计算设备对由布尔值TRUE结果(1)表示的“同意”比特进行求和(例如,计算Hamming距离)。该总和成为该块的HID分数。如前所述,计算设备针对候选标记的HID对所有原始HID记录中的所有块执行该处理。一旦完成,计算设备就如前所述针对完整候选(例如,手机提交的)电子签名评估所得到的原始电子签名的剔除列表。如果来自剔除列表的任何电子签名产生候选电子签名数据的“真实”结果,则计算设备如此报告验证结果。如果剔除列表中没有一个产生“真实”结果,则计算设备(例如,通过用户界面-在本地或通过向远程设备(例如,蜂窝电话)发送消息)向用户报告验证结果为“伪造”。

根据实施例,代替将波形的每个波带表示为二进制值(如结合图20和21A所描述的),计算设备在滤波期间保留一些幅度信息。如图21B所示,计算设备可以例如使用实际波带平均值来组成HID。然后,不是使用Hamming距离作为相似性度量(以确定是否HID高度匹配),计算设备使用协方差或数值相关来评估传入候选HID的匹配分数。通过改变平均窗口的宽度和数量,计算设备可以根据需要提高或降低HID分辨率,更多和/或更窄的窗口产生具有更高辨别力的HID(但也更大并且需要更多存储器存储),以及具有较低存储需求的较宽和/或较少的窗口(由于数据的较大减少)但具有相应较低的判别力。

为了通过使用所讨论的一种或多种技术来说明数据的减少(以及因此所需的搜索速度和存储),假设原始波形(例如,1802)具有700个数据点。每个都是32比特的浮点数,超过22kB。在图21A的Hamming/二进制示例中,计算设备将其降低到9比特。这表示从700个32比特数据点到9个1比特数据点的尺寸减小。在图21B的示例中,在计算设备保持幅度信息(实际波带平均值)的情况下,尺寸减小将是32×9=288字节。因此,该示例中的尺寸减小将是从700个32比特点到9个32比特点。

转到图参考图22,示出了根据实施例的计算设备执行的过程的流程图。该实施例的初始处理流程与图4A的块402-414(用于生成真实标记的电子签名)和图4B的块450-456相同(用于生成候选标记的电子签名),不同之处在于如何生成哈希标识符。然而,代替框416或框450,该过程移动到图22的框2202,此处,计算设备从度量提取波形。例如,计算设备将度量分析为一组有序对(度量vs标识中获得度量的位置的标识符(例如,索引值))并分析那些被排序为波形的度量。在框2204处,计算设备过滤波形。在框2206,计算设备提取经滤波的波形的属性。计算设备针对每组度量(例如,第一组度量,第二组度量,第三组度量等),每个提取的波形(例如,第一波形,第二波形,第三波形,等)和每个滤波后的波形(例如,第一滤波波形,第二滤波波形,第三滤波波形等)重复块1802到1806。在框2208,计算设备根据(一个或多个滤波后的波形)的提取属性形成哈希标识符。然后,该过程移动到框422(图4A)或框464(图4B)。

创建权重

在一个实施例中,计算设备采用相比于标记的非优选区域的度量,选择或优先加权从标记的某些区域提取的度量的处理程序。这说明了这样一个事实,即在低变异性情景中,标记的某些区域将携带更多可用的签名特征来构建比其他区域更可靠的HID。该加权可以以各种方式完成,包括时域信号幅度分析,频域能量分析和其他方法。简而言之,计算设备使用不同的规则集来加权度量,这取决于例如被分析的区域是否表现出高能量。

在实施例中,计算设备使用从度量数据的傅里叶幂级数导出的总信号能量的度量来为每个可用签名特征度量数据集建立“加权分数”。计算设备通过对幂级数上的各个谱能量求和来计算总信号能量,其中每个谱分量的能量被计算为频域号的实部和虚部的平方和的平方根。

图23示出了一组“高能量”度量数据的示例波形(来自基线或平均值的度量的变化vs.位置标识符(例如,索引值))。图24示出了图23的“高能量”度量数据的傅立叶幂级数。图23的度量数据将接收高加权分数并且优先用作HID块的源数据。

图25示出了一组“低能量”度量数据的示例波形。图26示出了图25的“低能量”度量数据的傅立叶幂级数。图25的度量数据将获得低权重分数并且不会用作HID块的源数据。

计算加权分数:

在一个实施例中,为了计算加权分数,计算设备对其正在分析的特定幂级数中的每个波带的幅度求和。一旦计算设备具有每个度量数据集的加权分数,它然后按降序对这些分数进行排序,并选择最高得分(最高信号能量)度量数据集,用于构建该标记的HID。

创建一个Mask

在一个实施例中,当在UPC线性条形码上操作时,计算设备使用上述方法。在这种情况下,52个HID块可用,符号中每个“条”有两个(从每个条的前沿提取一个度量数据系列,从后边缘提取一个,不包括左右保护条)。例如,计算设备可以选择使用具有前五个最高“签名能量”的度量来执行HID块操作。

在一个实施例中,当为原始UPC条形码创建HID密钥时,计算设备存储所有52个签名度量数据集以及从其导出的HID。假设HID块长度为10比特,计算设备将以总长度为520比特的HID结束。

为了有效处理,计算设备可以采用与上述HID比较方法中使用的逐位运算兼容的加权方案。在一个实施例中,计算设备构造掩码,该掩码在对应于高/优选加权的HID块的比特位置处具有布尔TRUE值,并且在所有其他比特位置处布尔值为FALSE。此时,仅使用具有最高能量信号的块(因此具有最佳判别能力)来计算两个HID之间的HID相似性度量所需的仅使用掩码的简单按位AND运算。

作为简化示例,考虑计算设备已经构造了8个块的HID的情况,每个块具有每块10比特,产生80比特的HID。此外,在该示例中,计算设备将仅使用前5个最高能量HID块来比较原始(真实)标记的签名的HID(A)与候选标记的HID(B)。图27和28描绘了该过程并且示出了良好匹配候选HID(图27)和不良匹配候选HID(图28)的示例比特计数结果(F)。

应该理解的是,这里描述的示例性实施例应该仅被认为是描述性的,而不是为了限制的目的。通常应当认为每个实施例中的特征或方面的描述可用于其他实施例中的其他类似特征或方面。本领域普通技术人员将理解,在不脱离由所附权利要求限定的精神和范围的情况下,可以在形式和细节上进行各种改变。例如,可以以对本领域技术人员显而易见的方式对图2A,图2B,图2C,图4A,图4B,图4C和图22流程图的步骤进行重新排序。此外,这些流程图的步骤以及这里描述的方法都可以在单个计算设备上执行。

53页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:弹簧夹的定位装置

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!