具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些示例实施方式使得本申请的描述将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本申请的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多示例实施方式中。在下面的描述中,提供许多具体细节从而给出对本申请的示例实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、步骤等。在其它情况下,不详细示出或描述公知结构、方法、实现或者操作以避免喧宾夺主而使得本申请的各方面变得模糊。
附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
本申请实施例,在基材图案的基础之上附加可撕下且具有光银面的防揭材料,动态图案嵌入到光银面之上,以此来实现本申请用于执行验证的标签。换而言之,本申请的标签是由光银面防揭材料制成的单层结构标签,动态图案嵌入到光银面之上,基材图案则设置在防揭材料的基材中。标签粘贴到商品表面之后,基材图案不会随着制成标签的防揭材料撕下而掉落,撕下防揭材料之后基材图案仍然保留在商品表面。
由此,通过本申请所实现的标签,即可基于其所嵌入的动态图案、基材图案以及动态图案所在的光银面执行各自的验证过程,以确认标签的真实性。
例如,商品持有者能够通过自身终端设备与标签的交互来实现标签的验证,在此不进行一一列举和限定。
请参阅图1,图1示出了本申请一个实施例的标签验证方法的流程图。本申请实施例提供了一种标签验证方法,该方法包括:
步骤S110,对动态图案以及所在的光银面,检测动态图案映射的角度值和光银面所激发物理反光的特征数据,并解码得到二进制数值和反光特征解码值;
步骤S120,识别随之标签撕下遗留的基材图案并提取角度;
步骤S130,基于解码所得二进制数值、反光特征解码值以及所提取角度的验证通过生成标签为真的验证结果。
下面对这些步骤进行详细描述。
在步骤S110中,首先应当说明的是,动态图案是标签所内嵌的,动态图案用于为标签验证的进行提供动态可变的验证图案,以便针对于不同的标的,附着于其上的标签能够通过嵌入的动态图案区分不同的标的。例如,不同商品之上,通过所粘贴的标签中不同动态图案的嵌入区分不同商品,进而随之达成不同标的之上的标签验证,在标签所嵌入动态图案的作用下锁定标的。
本申请所实现的标签是基于防揭材料所制成的单层结构标签。具体而言,使用具备光银面的防揭材料作为标签的印刷纸张,该光银面作为印刷基底,在其上通过墨水附着嵌入动态图案,得到动态图案不反光,显露出来的光银面反光的标签。
除此之外,防揭材料所制成的标签,从所附着标的之上揭下,即标签被撕下之后,将在标的表面留下可见的基材图案以及残留的动态图案。示例性的,该基材图案是对具备光银面的防揭材料在指定区域铺设一层白墨之后所印刷嵌入的,该指定区域可以是标签全幅面,以增强标签中基材图案识别的简易性。
在此标签之上,首先通过终端设备执行其对动态图案以及动态图案所在光银面的检测,以分别识别动态图案和光银面的反光,进而再对此实施解码来获得对应于动态图案的二进制数值,以及对应于光银面反光情况的反光特征解码值。
对应于动态图案的二进制数值,在数值上对标签嵌入的动态图案进行唯一标识,并且也基于二进制数值得以在数值上对标签嵌入的动态图案进行了描述。可以理解的,解码所得二进制数值适配于所嵌入动态图案的不同,有着不同的数值分布。
本申请执行的标签验证将对动态图案予以识别且通过解码的进行将识别所得数值化描述出来,由此即可基于数值对标签实施低成本高可靠的验证。
进一步说明的,通过对动态图案所实施的检测识别,将获得动态图案中存在的角度分布,进而通过对所分布角度实施的角度值检测获得动态图案映射的角度值。
换而言之,动态图案通过呈现角度的不同来实现自身的动态可变,因此易于变换,能够适用和区分不同的标的,使得一标的一动态图案成为可能,进而得以通过标签来锁定标的,达成一标签唯一对应于一标的,如一商品的目的,增强标签的防伪性能。
在一个示例性实施例中,可在光银面之上划分若干区域,对所划分的若干区域都嵌入批量动态可变的若干动态图案,以此来通过若干动态图案分别映射的二进制数值来拼接组合得到标签中动态图案的二进制数值,使得标签能够通过动态图案的嵌入而获得更为丰富的变化和形态,提升可区分标的的容量。
进一步的,每一动态图案都呈现了一定的角度,示例性的,能够以直线、椭圆、三角形等任意一种方式构建动态图案中的角度分布,所得角度值都编码了映射的二进制数值,因此,在所进行的动态图案检测中,能够通过检测所得角度值解码得到二进制数值。
面向于在光银面上划分了若干区域,对每一区域分别嵌入一动态图案的标签,在检测得到其每一区域中动态图案映射的角度值之后,对若干区域基于设定的解码顺序组合每一区域中动态图案映射的二进制数值,以此来解码得到标签中动态图案的二进制数值。也就是说,解码所得到标签中动态图案的二进制数值,实质上是标签中若干动态图案所映射二进制数值的组合。
例如,嵌入的动态图案可为对应于一角度的若干直线,即若干平行排布的倾斜直线。具体的,一区域嵌入的动态图案,可以是以区域左下角为原点,向其它区域边框辐射的直线,直线所形成的倾斜角即为检测识别动态图案所映射角度值的对象。
带倾斜角的直线所形成的动态图案,在标签的嵌入中占据更小的图案面积,更有利于检测的同时也能够提供更高的信息容量,便于为更多的标的提供锁定。
还请参阅图2,图2根据图1对应实施例示出了对动态图案以及所在的光银面,检测动态图案映射的角度值和光银面所激发物理反光的特征数据,并编码得到二进制数值和反光特征解码值步骤进行描述的方法流程图。
该对动态图案以及所在的光银面,检测动态图案映射的角度值和光银面所激发物理反光的特征数据,并编码得到二进制数值和反光特征解码值步骤S110,如图2所示的,包括:
步骤S111a,检测标签内嵌动态图案中的角度分布,获得动态图案映射的角度值;
步骤S112a,按照角度值进行动态图案所分布角度的解码,得到角度值映射的二进制数值。
下面对此二个步骤进行阐述。
在步骤S111a中,终端设备发起标签验证之时,对标签所嵌入动态图案的检测,即为动态图案所分布角度的检测,以此来获得动态图案映射的角度值。
应当指出,对于动态图案映射的角度值,随着标签所内嵌的一个或者若干动态图案,所得角度值都是对应于每一动态图案的,换言之,通过检测的进行,对每一动态图案都获得其各自映射的角度值。
示例性的,可通过倾斜直线所呈现的角度来实现动态图案中的角度分布。换言之,倾斜直线所构成的倾斜角度,即为动态图案中分布的角度。对于标签的印刷而言,该倾斜直线是在特定打印机作用下,使用特定白墨在防揭材料的光银面上形成的,是在标签中加入的物理反光标识,即,该倾斜直线不反光,底部的光银面反光。对于标签的生产而言,光银面上倾斜直线的印刷,将随着以光银面作为标签印刷基底所进行的印刷一并进行,因此,做到了一体成形,一道生产工序解决所有问题,降本增效,也不再需要使用UV固化或者激光雕刻等来设置物理反光标识。
进一步描述的,对标签上用于嵌入动态图案的光银面划分了若干区域,每一区域都通过相应边框予以区分。示例性的,可通过划分棋盘格的方式在光银面划分若干区域,每一区域即为一棋盘格,一动态图案将嵌入一棋盘格,以此类推,每一棋盘格通过动态图案的嵌入,都有其角度分布,进而都有着自身映射的角度值。
与此相对应的,将对每一棋盘格内嵌的动态图案实施检测,获得动态图案映射的角度值。
进一步的,还请参阅图3,图3是根据图2对应实施例示出的对检测标签内嵌动态图案中的角度分布获得动态图案映射的角度值的步骤进行描述的方法流程图。
在本申请实施例中,该检测标签内嵌动态图案中的角度分布获得动态图案映射的角度值的步骤S111a,包括:
步骤S301,对标签上划分的若干区域,逐一检测区域中动态图案映射的倾斜直线获得倾斜直线在区域边框的像素点坐标;
步骤S302,根据倾斜直线落在区域边框的像素点坐标运算动态图案映射的角度值。
下面对此二个步骤进行详细阐述。
在步骤S301中,标签上划分了若干区域,在所划分的若干区域嵌入批量动态可变的若干动态图案。换言之,若干动态图案批量动态可变的嵌入到不同区域,由此,对于标签中光银面上划分的区域而言,所嵌入动态图案的不同角度,以及其所在的不同区域,都是动态可变的,对于自身所进行的标签验证而言,相应解码所得二进制数值将各不相同。
标签各区域之间所嵌入的动态图案或相同,或不同,例如,在图案上各不相同;又例如,所映射的倾斜直线,其角度或相同,或不同。具体而言,无论嵌入何种动态图案,如倾斜直线图案、椭圆图案以及三角形图案等,其都映射了相应的倾斜直线,所映射倾斜直线相对区域边框的角度值即为动态图案映射的角度值。
基于此,所进行的动态图案检测,是检测动态图案映射的倾斜直线的过程,随着动态图案所映射倾斜直线的检测获得该倾斜直线落在区域边框的像素点坐标,以用于运算该倾斜直线相对区域边框的角度值。
动态图案所映射倾斜直线的检测是计算机视觉检测,即利用“角度”这一有利于计算机视觉检测的维度,对动态图案执行计算机视觉检测,以从中识别倾斜直线。
在一个实施例中,动态图案所映射倾斜直线的检测亦可通过所在区域边框上的像素点搜索实现。具体的,将首先确定区域中倾斜直线的原点,然后相对该原点确定执行像素点搜索的范围,即该原点所对应的区域边框,最后对所确定的区域边框执行倾斜直线所对应像素点的搜索,获得倾斜直线落在区域边框的像素点坐标。
进一步的,对于区域中倾斜直线的原点,可为区域上的一角,如左下角。换言之,在标签光银面所划分的区域上,都以一固定角为原点向区域边框辐射形成动态图案所映射的倾斜直线,由此将使得所进行的动态图案得以简化,增强处理效率。
对于区域中动态图案映射的倾斜直线,甚至于以倾斜直线本身作为动态图案,应当补充说明的是,在一示例性实施例中,区域中若干倾斜直线是平行排布的,以便于角度的检测和编码,且保证所得结果的准确性。
当然可以理解的是,区域中动态图案映射的倾斜直线,也可不限于若干相互平行排布的倾斜直线。区域中动态图案映射的倾斜直线,也可仅限于一确定点延伸所得的倾斜直线,例如,由区域左下角为原点延伸至一相对边的倾斜直线,还可为所映射的绝大多数倾斜直线,在此不进行限定。
无论何种方式,对于区域中进行的倾斜直线检测而言,都可仅进行一倾斜直线的检测即可得到区域中动态图案映射的角度,以保证执行过程的简化,提升算法效率。
至此,还请参阅图4,图4示出了图3对应实施例中对标签上划分的若干区域,逐一检测区域中动态图案映射的倾斜直线获得倾斜直线落在区域边框的像素点坐标步骤的方法流程图。
本申请实施例提供的对标签上划分的若干区域,逐一检测区域中动态图案映射的倾斜直线获得倾斜直线落在区域边框的像素点坐标的步骤S301,包括:
步骤S3011,相对区域上预定的直线原点确定倾斜直线可相交的区域边框;
步骤S3012,沿区域边框遍历像素点,搜索倾斜直线相交于区域边框的像素点,得到倾斜直线落在区域边框的像素点坐标。
下面对此二个步骤进行详细阐述。
在步骤S3011中,正如前述所指出的,对于区域中嵌入的动态图案,其映射的一倾斜直线是以区域上的一角为原点辐射至一相对边的,其它倾斜直线与此平行排布。在动态图案直接为倾斜直线的情况下,该倾斜直线即为以区域上的一角为原点辐射至相对边的线条。
总而言之,无论何种动态图案,其在所嵌入的区域都有着预定的直线原点,因此,能够相对直线原点确定倾斜直线可相交的区域边框。该区域边框是与直线原点相对的,例如,对于棋盘格构成的区域,该区域边框即为直线原点相对存在的二条边。
在步骤S3012,对所确定的与倾斜直线可相交的区域边框,进行像素点的搜索,沿区域边框遍历多个像素点,快速找到区域内的倾斜直线。
例如,划分棋盘格所得到的每一区域中,限定了倾斜直线的角度,即倾斜角的角度范围必然是0°~90°,因此倾斜直线只能落在相对直线原点的二条边上,沿二条边去遍历多个像素点即可。
示例性的,在一个实施例中,对于动态图案中倾斜直线和/或椭圆等图案的分布,可借助于直线像素微积分算子来检测出动态图案中的倾斜直线。具体的,面向动态图案所摄取的图像,其中分布了至少一动态图案,此时,将对所摄取图像借助直线像素微积分算子实施倾斜直线的检测。
具体的,对图像预处理变换为二值边缘图像之后,进行模糊定位获得模糊定位点,假设倾斜直线的真实像素点位于模糊定位点周边,然后利用贝塞尔曲线遍历假设的真实像素点,得到多个直线的积分像素密度,进而通过直线像素微积分算子对多个直线的积分像素密度进行微分运算获得最大积分像素密度值,该最大积分像素密度值所对应真实像素点构成的线条即为所倾斜直线。
在一个示例性实施例中,对于所进行的模糊定位,是借助于轮廓查找的执行过程,将直线中的模糊P点坐标进行大致的定位,随后即可合理假设直线真实P点位于模糊P点周边的一定范围内,以此来实现真实像素点的遍历,并且通过此方式对所进行的遍历进行了优化,不需要对整张图像进行遍历,大幅降低运算量,提升运行效率。
在基于模糊定位点限定的周边,基于二阶贝塞尔曲线不断遍历得到多组像素点P0和P1,对每一级像素点P0和P1都能够确定得到相应的直线,以此类推,面向于多组像素点P0和P1得到多条直线。对于所得每一条直线,都对组成该条直线的像素点坐标相加得到该条直线的积分像素密度。
运算得到直线的积分像素密度之后,将通过微分的进行寻找一个或者多个最大积分像素密度差。
具体的,通过像素微积分算子运算最大积分像素密度值如下述公式所示,即:
其中,是在自适应阈值的情况下应用Sobel算子将图像变换所得的二值边缘图像;
s是直线P0P1的像素长度;
是二值边缘图像中,围绕直线长度s遍历不同的像素点P0和P1的坐标,并对其做积分运算获得多个积分像素密度值;
是对多条直线的积分像素密度值进行微分;
用于找出最大积分像素密度差,检测得到一条或多条直线。
通过检测所得倾斜直线即可获得该倾斜直线落在区域边框的像素点坐标。
示例性的,检测所得倾斜直线,其一端落在所在区域的一角,如左下角,另一端则落在该角所对应区域边框上,从而将提取该倾斜直线在区域边框的像素点坐标,以及角所在的像素点坐标,以用于运算所对应动态图案映射的角度值。
在步骤S302中,随着前述步骤对区域中动态图案执行的倾斜直线检测,对所得到的倾斜直线在区域边框的像素点坐标运算倾斜角度,运算所得倾斜角度即为动态图案映射的角度值。
具体的,根据倾斜直线在区域中的原点,即前述所称直线原点,以及倾斜直线在区域边框的像素点坐标,求解倾斜角。
假设检测到的直线原点P0的坐标为(x 0,y 0),其在区域边框的像素点P1的坐标为(x 1 ,y 1),运算出倾斜直线的斜率,即如下述公式:
至此,根据可求解得到倾斜角/>,所得倾斜角/>即为动态图案映射的角度值。
在步骤S112a,通过前述过程运算得到动态图案映射的角度值之后,即可按照所进行的角度编码,对所得角度值解码得到相应的二进制数值。
通过所预先进行的角度编码,构建了角度值与二进制数值之间的映射关系,基于此,便能够通过一具体的角度值获得映射的二进制数值。
通过步骤S112a的执行,将对每一区域都获得其所嵌入动态图案映射的二进制数值。二进制数值唯一对应于内嵌的动态图案,不同的二进制数值对应着不同的动态图案。
标签能够以棋盘格的方式,或者其它方式在其光银面划分若干区域,每一区域都嵌入动态图案,通过前述步骤的执行将对每一区域嵌入的动态图案都检测解码得到一二进制数值。以此类推,面向所划分的若干区域,将得到若干二进制数值。
对此,将按照设定的解码顺序对每一区域读取其所嵌入动态图案映射的二进制数值,并组合拼接在一起。示例性的,所设定的解码顺序即为对每一区域的遍历顺序,对于分布于标签四周的若干区域而言,其可为顺时针或者逆时针的遍历顺序。
还请继续参阅图5,图5示出了根据图2对应实施例对按照角度值进行动态图案所分布角度的解码得到角度值映射的二进制数值步骤进行描述的方法流程图。
本申请一实施例提供的对按照角度值进行动态图案所分布角度的解码得到角度值映射的二进制数值的步骤S112a,包括:
步骤S501,按照角度值所映射的角度解码值进行动态图案所分布角度的解码,获得标签上每一区域所嵌入动态图案的角度解码值;
步骤S502,按照标签上所划分区域设定的解码顺序,拼接各区域所嵌入动态图案的角度解码值,得到标签角度值映射的二进制数值。
下面对此二个步骤进行详细阐述。
在步骤S501中,在用于制成标签的防揭材料上,其光银面划分了若干区域,每一区域都嵌入了动态图案。示例性的,该区域划分为棋盘格划分,由此即可得到等额的若干个格子,如等额的10×10个格子。除了中间的格子,如9×9个格子之外,位于外部周边的格子都作为嵌入动态图案的区域。
对此,通过前述所进行的检测和解码对每一区域得到了该区域所嵌入动态图案映射的角度值。如前所述的,进行角度编码而预先构建了角度值与二进制数值之间的映射关系,此时,面向于若干区域,每一区域对应于角度值的二进制数值即为角度解码值。也就是说,在划分若干区域嵌入动态图案的情况下,所构建的角度值与二进制数值之间的映射关系,即为角度值与角度解码值之间的映射关系。
基于此,对于每一区域嵌入的动态图案,都按照预先进行的角度编码,即角度值与角度解码值之间的映射关系,对动态图案映射的角度值获取角度解码值。
在步骤S502中,获得了所有区域动态图案映射的每一角度值之后,就能够按照区域所对应的解码顺序,拼接各区域动态图案映射的角度值,最终得到标签批量嵌入动态图案映射的二进制数值。
可以理解的,对于所进行的标签验证而言,能够基于不同区域嵌入动态图案的不同,而唯一对应于一标的,即一标签通过批量动态可变的动态图案锁定一标的,如粘贴的一商品。
足够多的区域划分带来了所嵌入动态图案的众多变化,众多变化的动态图案以及其所在区域对应的解码顺序,带来了更为丰富的角度解码值组合,进而极大的提升所能够锁定和标记的标的容量,对于所粘贴的标的以及所进行的验证而言,更为安全可靠。
还请继续参阅图6,图6是根据图1对应实施示出的对动态图案以及所在的光银面,检测动态图案映射的角度值和光银面所激发物理反光的特征数据,并解码得到二进制数值和反光特征解码值步骤进行描述的方法流程图。
本申请实施例示出的对动态图案以及所在的光银面,检测动态图案映射的角度值和光银面所激发物理反光的特征数据,并解码得到二进制数值和反光特征解码值的步骤S110,如图6所示,还包括:
步骤S111b,对动态图案所在的光银面摄取标签的自然反光图像以及闪光光线落在光银面的物理反光图像;
步骤S112b,比对自然反光图像,提取物理反光图像上描述光银面所激发物理反光的特征数据;
步骤S113b,控制特征数据描述的物理反光分布为闪光光线落在光银面的真实物理反光,获得反光特征;
步骤S114b,对反光特征解码获取反光特征解码值。
下面对这些步骤进行详细阐述。
在步骤S111b中,首先应当说明的是,自然反光图像用于描述自然环境下光银面的反光情况。自然反光图像是不进行补光以及增强光强,而对光银面的直接拍摄所得。物理反光图像,是相对自然反光图像对光银面摄取的。物理反光图像用于描述增强光照之下所激发物理反光的情况,例如,以开启闪光灯等人工布光的方式增强光照,在此之下对光银面拍照获取物理反光图像。
在所进行的标签验证中,通过终端设备一是在自然环境下对标签摄取图像,获得自然反光图像;二是在增加环境光的环境下对标签拍照获得物理反光图像。
对制成标签的防揭材料,在其嵌入了动态图案的光银面实施至少摄取一自然反光图像和一物理反光图像,以用于进行光银面所带来反光特征的验证。
标签验证的进行中,通过所进行的拍照或者视频拍摄对标签所具备的光银面获取自然反光图像,且开启闪光灯,使得闪光灯所射出闪光光线落在光银面上,对光银面获取物理反光图像。
在步骤S112b中,自然反光图像相较于物理反光图像,并无施加额外的光源,从而也没有光银面上由于所额外施加光源产生的物理反光。基于此,为物理反光图像比对自然反光图像,从而由物理反光图像提取出描述光银面所激发物理反光的特征数据。
示例性的,所提取的特征数据可从光反射所形成的形状特征、面积特征、颜色特征以及反光强度特征等多个维度描述光银面被激光产生的物理反光。
在步骤S113b中,闪光光线落在光银面产生的物理反光,一方面被终端设备吸收,以得到描述光银面物理反光情况的物理反光图像,另一方面也会由于反射方向的不同或者被其它物体吸收等因素而损失,也会由于颜色等因素的影响产生虚假伪造的反光。因此,需要对特征数据描述的物理反光,控制其恢复为闪光光线落在光银面上的真实物理反光,进而对真实物理反光提取反光特征。
示例性的,控制特征数据描述的物理反光分布为真实物理反光,可通过预配置的光照模型对提取的特征数据重建光银面上的真实物理反光,进而由此提取得到形状特征、面积特征、颜色特征以及反光强度特征等多个维度的反光特征。
在步骤S114b中,预先进行光编码,以构建每一反光特征与反光特征解码值之间的映射关系,从而数值化描述反光情况,进而得以由所提取得到的反光特征验证标签的真实性。
综上所述的,在步骤S110的执行中,一方面对制成标签的防揭材料上嵌入的动态图案实施检测和解码,得到用于验证的二进制数值;另一方面也通过对防揭材料上光银面反光变化这一物理特性的检测和编码,使得光银面的物理反光也被用于标签验证。
在步骤S120中,防揭材料制成的标签,其基材印刷有特定的图案,即基材图案,该基材图像将作为标签验证的一个维度,与步骤S110所得二进制数值和反光特征解码值一起用于标签的验证。
随着防揭材料被撕下,预先设置于基材中的图案并不会随标签被撕下,而是保留在所粘贴的标的表面,由此一方面实现了揭开留底的防伪功能,另一方面也使得标签撕开即毁,不会被二次使用,达到防转移的目的。
对标签撕下所遗留于标的表面的基材图像,仍然通过终端设备获取基材图案,对获取得到的基材图案检测直线,获得直线的角度。基材图案区别于标签所嵌入的动态图案,二者交错分布,具体而言,动态图案映射的倾斜直线与基材图案映射的直线交错分布,相互之间区分开来。
示例性的,动态图案所映射倾斜直线其角度范围是0°~90°,则基材图案所映射直线的角度范围是90°~180°。
与动态图案相类似的,基材图案可以是倾斜直线本身,也可以是椭圆图案,还可以是三角形图案,在此不一一进行列举,只要是能够在视觉上表征角度的图案都可。
在标签被撕下之后即可开始基材图案的识别。在基材图案的识别过程中,对基材图案进行直线检测,以确定基材图案映射的直线,进而提取得到直线倾斜的角度。
在一个实施例中,将以基材图案所在的区域边框为搜索范围,进行基材图案与区域边框的相交点搜索,以此来得到单一基材图案所映射倾斜直线的至少二个像素点,对此获取像素点坐标就能够实现所对应角度的提取。
还请继续参阅图7,图7是根据图1对应实施例示出的对识别随标签撕下遗留的基材图案并提取角度步骤的方法流程图。
本申请实施例提供的识别随标签撕下遗留的基材图案并提取角度的步骤S120,包括:
步骤S121,沿标签撕下所遗留的区域边框,搜索单一基材图案在区域边框的相交点,获得单一基材图案所对应倾斜直线的像素点坐标;
步骤S122,根据倾斜直线的像素点坐标运算得到基材图案的角度。
下面对此二个步骤进行详细阐述。
在步骤S121中,首先应当说明的是,若干基材图案在标签基底全幅面分布,从而使得标签撕下所遗留的动态图案将与基材图案呈现交错分布。由此,在内嵌动态图案的区域,亦铺设了基材图案,且基材图案与区域边框相交。例如,作为倾斜直线的基材图案,除了与动态图案映射的倾斜直线加以区别之外,还与其所在区域的边框相交。
因此,在标签被撕下之后终端设备所继续执行的标签验证中,沿标签撕下所遗留区域边框搜索一基材图案与区域边框的相交点,以此来得到该基材图案所对应倾斜直线的像素点坐标。
进一步指出的,可在标签周边划分若干区域,例如前述所说的,对标签划分棋盘格所得到等额的若干个格子中,中间格子印刷基材图案,且向周边格子延伸,并且周边格子所形成的区域也嵌入了动态图案,由此,标签撕下所遗留的动态图案将与基材图案交错分布。
与之相对应的,与动态图案交错分布的基材图案,其也与周边格子所形成区域中的边框相交,能够通过所遗留区域边框的搜索得到相交点。
在一个实施例中,嵌入动态图案的区域在标签周边环绕分布。换言之,对标签周边划分若干区域,以分别对每一区域嵌入动态图案,由此,在标签被撕下之后,所遗留的动态图案必然是与基材图案交错分布的。
对围绕标签周边分布的若干区域,所存在的区域边框包括外区域边框和内区域边框。其中,外区域边框是区域所形成环绕的最外一条边,内区域边框则是区域所形成环绕的最内一条边,外区域边框和内区域边框相对设置。
与此相对应的,还请继续参阅图8,图8是根据图7对应实施例示出的对沿标签撕下所遗留的区域边框,搜索单一基材图案在区域边框的相交点,获得单一基材图案所对应倾斜直线的像素点坐标步骤进行描述的方法流程图。
本申请实施例提供的对沿标签撕下所遗留的区域边框,搜索单一基材图案在区域边框的相交点,获得单一基材图案所对应的倾斜直线的像素点坐标的步骤S121,包括:
步骤S1211,对标签撕下所遗留的区域边框,确定外区域边框和内区域边框;
步骤S1212,搜索单一基材图案落在外区域边框和内区域边框的相交点,对相交点获取单一基材图案所对应倾斜直线的像素点坐标。
下面对此二个步骤进行详细阐述。
在步骤S1211中,标签撕下之后基材图案保留于标的表面,除此之外,区域边框以及内嵌的动态图案也有残留,因此,对于所进行的基材图案识别而言,也获取得到残留的区域边框以及动态图案。
由此,对残留的区域边框确定所存在的外区域边框和内区域边框,确定的外区域边框和内区域边框都必然存在基材图案所映射倾斜直线的相交点,能够由搜索所得的倾斜直线的二个相交点确定基材图案的角度。
在步骤S1212中,遍历搜索每一区域边框,以此来为单一基材图案在外区域边框以及内区域边框上确定其相交点。遍历搜索的执行过程中,可首先对外区域边框和内区域边框进行分组,即,将位于同侧且相对分布的外区域边框和内区域边框划分为一组,然后通过分组执行的遍历搜索确定单一基材图案的相交点存在于哪一组的外区域边框和内区域边框。
基于单一基材图案都必然相交位于同侧且相对分布的二个区域边框来执行分组,将极大提升搜索效率和准确性。
在步骤S122中,通过前述执行过程获得单一基材图案所对应倾斜直线的像素点坐标,即二个相交点对应的像素点坐标之后,就能够由此而运算得到基材图案的角度,所得角度将用于标签的快速验证。
在步骤S130中,首先应当说明的是,在经由步骤S110对动态图案和光银面解码得到二进制数值和反光特征解码值之后,所得二进制数值和反光特征解码值就作为参数被传入执行相应的验证过程;与此相对应的,在由步骤S120得到基材图案的角度之后,也将随之执行相应的快速验证。
由此,对于二进制数值、反光特征解码值以及基材图案的角度,都有各自所得的验证结果。在所有验证结果都指示验证通过的基础上随之生成标签为真的验证结果。
总而言之,对于本申请执行的标签验证而言,仅在动态图案、光银面以及基材图案三者的验证都通过之时方可成功通过标签验证,所粘贴的标的才能被判断为正品,进而准确可靠的达到防伪的目的。
具体的,在通过步骤S110解码得到二进制数值和反光特征解码值之后,即可随之进行相应的验证;而通过步骤S120得到基材图案的角度之后,亦可随之进行相应的验证,最终根据三类验证过程是否通过而生成相应的验证结果。
下面以标签的应用和验证过程为例,阐述前述方法。
首先,对标签的形态予以详细说明。
请参阅图9,图9是根据一个实施例示出的标签的区域划分示意图。对防揭材料所制成的标签表面,即防揭材料的光银面上划分成了等额的10×10个格子。在等额的10×10个格子中,最外周的一圈格子作为嵌入动态图案的区域,不同标的所批量动态嵌入的动态图案不同,进而能够锁定标的,实现一物一码,解决了行业中存在的物码无法绑定的难题。
基于此,图9所示出的外周格子将成为物码锁定区。
当然,应当补充说明的,根据所需要锁定标的的容量的需要,可扩展内嵌动态图案的区域数量,进行灵活调整。
标签的基材图案将置于防揭材料的基底。由此,对于标签表面的剩余区域,即可作为可自由放置其它编码的区域,如图9中标示的防伪码区,在此区域中可放置标的的条形码、二维码或者其它自定义的编码、图案等,在此不进行限定。
图9所示物码锁定区上划分的36个格子分别构成了用于内嵌动态图案的区域,以将可识别的36个动态图案逐一到这些格子内,获得图10所示出的标签。
请参阅图10和图11,图10是根据图9对应实施例标示的嵌入动态图案的标签,图11是根据图10对应实施例标示的倾斜直线及角度的示意图。所嵌入的动态图案为倾斜直线,即带倾斜角的直接。在每一个格子中以左下角为原点嵌入倾斜直线,从而在格子中得到以左下角为原点辐射至相对的一条边的倾斜直线。内嵌的每条倾斜直线,其角度都处在0°~90°的角度范围,如图11所示出的α角,即为倾斜直线的角度。换言之,在所进行的动态图案检测和解码的过程中,如若得到0°~90°这一角度范围的角度值,则该角度值必然就是动态图案所映射的,从而按照所预先构建的角度编码进行解码和验证即可。
使用具备光银面这一光滑表面的防揭材料,一方面在光银面上实现动态图案的嵌入,另一方面也进行基材图案的放置。所制成的标签,其光银面除了嵌入的动态图案之外,直接展示出光银表面。
请参阅图12,图12是根据一实施例示出的基材图案示意图。放置的基材图案是密集排布的倾斜直线,倾斜角,即基材图案的角度为β=135°,当标签被撕下时这些倾斜直线不会随标签被撕下,而是遗留在标的表面。基材图案不限于密集排布的倾斜直线,还可为其它能够体现角度的图案,如图13所示出的多个小椭圆、图14所示出的多个小三角等,在此不一一进行列举。
应当理解的,可根据需求的不同而设置不同的基材图案,所设置的基材图案与动态图案呈现交错分布即可。如相对于前述动态图案,基材图案的角度处在90°~180°的角度范围,其排布密度以及具体的角度,都不再限定。
在标签被撕下时,标的表面原来反光的区域(即前述所指光银面),将出现基材图案。
其次,基于上述标签形态阐述标签的验证过程。
参阅图15,图15是根据一实施例示出的标签验证全流程的示意图。前述所指具备光银面防揭材料制成的标签粘贴于一商品表面,对于商品持有人而言,将通过这一标签对商品鉴真。
商品持有人通过其终端设备的摄像头对标签获取其内嵌的动态图案和动态图案所在的光银面,如获取标签图像。所得标签图像呈现了标签最外周若干个格子中嵌入的动态图案,以及该动态图案所在的光银面。
此时,执行步骤S601检测动态图案并求出动态图案映射的角度值,即如图11所示出的α倾斜角。动态图案上倾斜直线的检测,可基于直线像素微积分算子实现,也可通过格子边框上进行的像素点搜索来获得倾斜直线落在格子边框的像素点,进而由此运算得到α倾斜角。
还请继续参阅图16,图16是根据图11对应实施例示出的像素点搜索示意图。图16所示出的格子其上嵌入的动态图案即为倾斜直线P0P1,该倾斜直线P0P1即如前述所指出的由格子左下角为原点开始向外延伸。因此, P0点的像素点坐标为已知。由于α倾斜角的角度范围在0°~90°,因此P1点也只能落在格子边框m和n这二条边上。在步骤S601中,可沿着m和n这二条边去遍历多个P1'点,获得P1点的像素点坐标。
进而通过检测得到P0点的像素点坐标和P1点的像素点坐标,进行倾斜直线的斜率计算,最终由倾斜直线的斜率确定α倾斜角。
对每一动态图案得出α倾斜角后,对照角度编码表进行解码,获得每一动态图案α倾斜角映射的二进制数值,即如步骤S602所示。
示例性的,角度编码表可如下表1所示:
按照设定解码顺序来拼接每一动态图案的二进制数值,得到标签角度值映射的二进制数值。
对标签角度值映射的二进制数值,执行步骤S603,将解码出来的二进制数值与预存储的值进行比较,以判断解码出来的二进制数值与存储的值是否一致,如果不相一致,则标签为假;如果一致,则在格子,执行步骤S604即物码锁定区判断是否还存在其它角度的直线,如果为是则得到标签为假的验证结果。
如果检测物码锁定区仅存在动态图案,则商品持有人撕下标签,此时,基材图案遗留在商品表面,即物码锁定区除了残留部分动态图案之外,还有基材图案,即如前述所指密集排布且相对动态图案交错分布的倾斜直线。
因此,在撕下标签这后,商品持有人可通过持有的终端设备检测和提取基材图案,即如步骤S605。首先商品持有人自行判别物码锁定区有无基材图案,如果没有,则可直接确认标签为假。
如果物码锁定区遗留有基材图案,则商品持有人需再次通过持有的终端设备提取基材图案,检测其角度。具体的,对图12所示出的以密集排布的倾斜直线为基材图案识别其角度,其在标签撕下之后在物码锁定区的形态如图17所示,图17示出了根据图12对应实施例的基材图案在物码锁定区的形态示意图。面向于物码锁定区,其包括外区域边框g、h、i和j,外区域边框c、d、e和f,可以看到,对于基材图案中的倾斜直线无法知晓其上二个点,即P0点和P1点的精确坐标,但是可以知道,倾斜直线的一点,即P0点会落在内区域边框上,另一点,即P1点会落在外区域边框上,且角度范围是90°~180°。
基于此,可以对区域边框进行分组遍历,即划分为cg、dh、ei和fj共四个分组,对每一分组都进行P0点和P1点的搜索,例如,在cg分组中,P0点一定在c边上,P1点则一定在g边上,其它分组同理执行。
在每一分组所执行的搜索中基于如前所述的直线像素微积分算子找到倾斜直线,再由此而运算得到其角度值。
如果基材图案的角度值与存储的一致,则说明基材图案的验证通过,此时再进一步判断物码锁定区中是否还存在其它角度的直线,如果存在,则标签为假,如果不存在,则验证通过。
至此,便实现了基于动态图案和基材图案的验证,如若反光特征的解码验证也通过,则标签为真。
参阅图18,根据本申请的一个实施例,如图18提供了一种标签验证装置的框图,该装置所验证的标签内嵌动态图案以及基材图案,该装置包括检测解码模块710、识别模块720和验证模块730。
检测解码模块710,用于对动态图案以及所在的光银面,检测动态图案映射的角度值和光银面所激发物理反光的特征数据,并解码得到二进制数值和反光特征解码值;
识别模块720,用于识别随所述标签撕下遗留的所述基材图案并提取角度;
验证模块730,用于基于所述解码所得二进制数值、反光特征解码值以及所提取角度的验证通过生成所述标签为真的验证结果。
在一个实施例中,检测解码模块710被配置执行:
检测所述标签内嵌动态图案中的角度分布,获得所述动态图案映射的角度值;
按照所述角度值进行所述动态图案所分布角度的解码,得到角度值映射的二进制数值。
在一个实施例中,检测解码模块710被配置执行:
对动态图案所在的光银面摄取所述标签的自然反光图像以及闪光光线落在所述光银面的物理反光图像;
比对所述自然反光图像,提取所述物理反光图像上描述光银面所激发物理反光的特征数据;
控制所述特征数据描述的物理反光分布为闪光光线落在所述光银面的真实物理反光,获得反光特征;
对所述反光特征解码获取反光特征解码值。
在一个实施例中,所述标签上划分的若干区域嵌入批量动态可变的若干动态图案,所述检测所述标签内嵌动态图案中的角度分布,获得所述动态图案映射的角度值,包括:
对标签上划分的若干区域,逐一检测区域中动态图案映射的倾斜直线获得所述倾斜直线落在区域边框的像素点坐标;
根据所述倾斜直线落在区域边框的像素点坐标运算所述动态图案映射的角度值。
在一个实施例中,所述动态图案是以区域上的一角为原点辐射至相对边的倾斜直线,所述对标签上划分的若干区域,逐一检测区域中动态图案映射的倾斜直线获得所述倾斜直线落在区域边框的像素点坐标,包括:
相对所述区域上预定的直线原点确定所述倾斜直线可相交的区域边框;
沿所述区域边框遍历像素点,搜索所述倾斜直线相交于所述区域边框的像素点,得到所述倾斜直线落在所述区域边框的像素点坐标。
在一个实施例中,所述按照所述角度值进行动态图案所分布角度的解码,得到角度值映射的二进制数值,包括:
按照角度值所映射的角度解码值进行动态图案所分布角度的解码,获得所述标签上每一区域所嵌入动态图案的角度解码值;
按照标签上所划分区域设定的解码顺序,拼接各区域所嵌入动态图案的角度解码值,得到所述标签角度值映射的二进制数值。
在一个实施例中,若干基材图案在所述标签基底全幅面分布,识别模块720被配置执行:
沿所述标签撕下所遗留的区域边框,搜索单一基材图案在所述区域边框的相交点,获得所述单一基材图案所对应倾斜直线的像素点坐标;
根据所述倾斜直线的像素点坐标运算得到所述基材图案的角度。
在一个实施例中,所述标签周边划分若干区域,所述标签撕下所遗留的动态图案与所述基材图案交错分布。
在一个实施例中,对围绕标签周边分布的区域,其区域边框包括外区域边框和内区域边框;
所述沿所述标签撕下所遗留的区域边框,搜索单一基材图案在所述区域边框的相交点,获得所述单一基材图案所对应倾斜直线的像素点坐标,包括:
对所述标签撕下所遗留的区域边框,确定外区域边框和内区域边框;
搜索单一基材图案落在外区域边框和内区域边框的相交点,对所述相交点获取单一基材图案所对应倾斜直线的像素点坐标。
根据本申请实施例的标签验证方法可以由图19示出的用户终端来实现。下面参照图19来描述根据本申请实施例的用户终端。图19示出的用户终端仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图19所示,用户终端以通用计算设备的形式表现。用户终端的组件可以包括但不限于:上述至少一个处理单元810、上述至少一个存储单元820、连接不同系统组件(包括存储单元820和处理单元810)的总线830。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元810执行,使得所述处理单元810执行本说明书上述示例性方法的描述部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元810可以执行如前述方法所示出的各个步骤。
存储单元820可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)8201和/或高速缓存存储单元8202,还可以进一步包括只读存储单元(ROM)8203。
存储单元820还可以包括具有一组(至少一个)程序模块8205的程序/实用工具8204,这样的程序模块8205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线830可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
用户终端也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该用户终端交互的设备通信,和/或与使得该用户终端能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口850进行。并且,用户终端还可以通过网络适配器860与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器860通过总线830与用户终端的其它模块通信。应当明白,尽管图中未示出,可以结合用户终端使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本申请实施方式的方法。
在本申请的示例性实施例中,还提供了一种计算机程序介质,其上存储有计算机可读指令,当所述计算机可读指令被计算机的处理器执行时,使计算机执行上述方法实施例部分描述的方法。
根据本申请的一个实施例,还提供了一种用于实现上述方法实施例中的方法的程序产品,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本申请中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本申请实施方式的方法。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本申请的真正范围和精神由所附的权利要求指出。