一种基于智能设备的票据凭证防伪检测方法及装置转让专利

申请号 : CN202010437847.1

文献号 : CN111612963B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈泽德胡国明

申请人 : 广东乐佳印刷有限公司

摘要 :

本申请实施例公开了一种基于智能设备的票据凭证防伪检测方法及装置。本申请实施例提供的技术方案,通过对二维码图像信息和射频标签信息进行分别识别,并组合验证的方式来进行防伪的一级识别,通过提取票据凭证中的第一数字水印信息和射频标签信息中的第二数字水印信息进行识别验证来进行防伪的二级识别;只有当上述所有的识别方式均成功时,即可判断对应的票据凭证为真。通过多级识别的方式大大提升了识别的准确性,提高了票据凭证仿冒的难度,增加交易的安全性。

权利要求 :

1.一种基于智能设备的票据凭证防伪检测方法,其特征在于,包括:对获取到的票据凭证的根据深度优先遍历算法提取其DOM树的各个子块,所述子块包括class属性和id属性;

对获取到所述子块进行预处理;

采用随机函数将水印信息嵌入对应子块class属性中;

得到具有第一数字水印信息的票据凭证;

接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息;

根据所述二维码图像信息得到对应的第一票据凭证信息以及识别射频标签信息得到对应的第二票据凭证信息;

确定是否得到所述第一票据凭证信息和所述第二票据凭证信息,若否,则发送验证失败至对应的智能设备;

确定所述第一票据凭证信息和所述第二票据凭证信息是否一致,若否,则发送验证失败至对应的智能设备;

分别提取所述票据凭证中的第一数字水印信息和所述射频标签信息中的第二数字水印信息,所述第一数字水印信息与所述第二数字水印信息相关联;

根据所述第一数字水印信息和所述第二数字水印信息得到防伪验证结果,将所述验证结果发送至对应的智能设备;

所述采用随机函数将水印信息嵌入对应子块class属性中,包括:根据第一密钥和所有子块的id属性得到水印信息与各子块之间的嵌入关系索引表;根据所述嵌入关系索引表获取目标子块嵌入位置的id值,根据第二密钥对目标子块的id值进行加密操作得到第一加密水印;根据所述嵌入关系索引表获取其他子块的id值,根据第三密钥对其他子块的id进行加密操作得到第二加密水印;将所述第一加密水印与第二加密水印置乱后重新组合嵌入到对应子块的class属性;

所述根据第一密钥和所有子块的id属性得到水印信息与各子块之间的嵌入关系索引表,包括:根据第一密钥和子块的id属性结合随机置乱函数得到水印信息与各子块之间的嵌入关系索引表;所述第一密钥、所述第二密钥和所述第三密钥均不相同。

2.根据权利要求1所述的基于智能设备的票据凭证防伪检测方法,其特征在于,在所述接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息之前,包括:将具备二维码图像信息的票据凭证信息发送至一智能终端,并将与票据凭证信息对应的射频标签信息写入对应的智能终端,所述智能终端具有射频标签模块。

3.根据权利要求1所述的基于智能设备的票据凭证防伪检测方法,其特征在于,所述第一数字水印信息设置于票据凭证的二维码图像信息中,所述第一数字水印信息通过如下步骤嵌入对应的二维码图像信息中:获取二维码原始图像,并得到二位码原始图像的编码区和非编码区;

对接收到的防伪标识信息进行转换得到对应的数组信息;

根据所述数组信息生成与二维码匹配的数字水印图案;

将所述数字水印图案嵌入所述非编码区得到二维码图像信息。

4.根据权利要求1所述的基于智能设备的票据凭证防伪检测方法,其特征在于,在所述接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息之前,包括:接收与票据凭证对应的第一识别顺序,所述第一识别顺序包括依次识别二维码图像信息和射频标签信息;或接收与票据凭证对应的第二识别顺序,所述第二识别顺序包括依次识别射频标签信息和二维码图像信息。

5.一种基于智能设备的票据凭证防伪检测装置,其特征在于,包括:接收模块:用于对获取到的票据凭证的根据深度优先遍历算法提取其DOM树的各个子块,所述子块包括class属性和id属性;对获取到所述子块进行预处理;采用随机函数将水印信息嵌入对应子块class属性中;得到具有第一数字水印信息的票据凭证;接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息;

识别模块:用于根据二维码图像信息得到对应的第一票据凭证信息以及识别射频标签信息得到对应的第二票据凭证信息;

第一确定模块:用于确定是否得到所述第一票据凭证信息和所述第二票据凭证信息,若否,则发送验证失败至对应的智能设备;

第二确定模块:用于确定所述第一票据凭证信息和所述第二票据凭证信息是否一致,若否,则发送验证失败至对应的智能设备;

提取模块:用于分别提取所述票据凭证中的第一数字水印信息和所述射频标签信息中的第二数字水印信息,所述第一数字水印信息与所述第二数字水印信息相关联;

验证模块:用于根据所述第一数字水印信息和所述第二数字水印信息得到防伪验证结果,将所述验证结果发送至对应的智能设备;

所述接收模块在采用随机函数将水印信息嵌入对应子块class属性中时,包括:根据第一密钥和所有子块的id属性得到水印信息与各子块之间的嵌入关系索引表;根据所述嵌入关系索引表获取目标子块嵌入位置的id值,根据第二密钥对目标子块的id值进行加密操作得到第一加密水印;根据所述嵌入关系索引表获取其他子块的id值,根据第三密钥对其他子块的id进行加密操作得到第二加密水印;将所述第一加密水印与第二加密水印置乱后重新组合嵌入到对应子块的class属性;

所述接收模块在根据第一密钥和子块的id属性得到水印信息与各子块之间的嵌入关系索引表时,包括:根据第一密钥和子块的id属性结合随机置乱函数得到水印信息与各子块之间的嵌入关系索引表;所述第一密钥、所述第二密钥和所述第三密钥均不相同。

6.一种电子设备,其特征在于,包括:

存储器以及一个或多个处理器;

所述存储器,用于存储一个或多个程序;

当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-4任一所述的基于智能设备的票据凭证防伪检测方法。

7.一种包含计算机可执行指令的存储介质,其特征在于,所述计算机可执行指令在由计算机处理器执行时用于执行如权利要求1-4任一所述的基于智能设备的票据凭证防伪检测方法。

说明书 :

一种基于智能设备的票据凭证防伪检测方法及装置

技术领域

[0001] 本申请实施例涉及防伪检测技术领域,尤其涉及一种基于智能设备的票据凭证防伪检测方法及装置。

背景技术

[0002] 目前,银行票据凭证的造假活动给客户、银行乃至人民群众的日常生活、金融稳定带来极大的扰乱。尤其是越来越多高精度的测绘与印刷技术的产品问世后,造假的技术水平也急速提升,这对包括银行系统的票据鉴别人员来说,单靠“看、摸、听”等传统手法和经验来鉴别真假票据已变得日益困难。现在,有技术人员提出将射频识别技术运用到了票据领域,通过在票据中嵌入可识别的电子标签、赋予每张银行凭证票据不可复制的全球唯一编码来实现防伪的技术设想。但是仅仅通过射频识别技术还不能够达到完全的遏制造假情况的出现,因此,设计一种安全性更高的凭证防伪检测方式成为本领域技术人员亟待解决的技术问题。

发明内容

[0003] 本申请实施例提供一种基于智能设备的票据凭证防伪检测方法及装置,能够通过多级防伪验证方式来提高票据凭证验证的准确性,大大提升了票据凭证仿造的难度。
[0004] 在第一方面,本申请实施例提供了一种基于智能设备的票据凭证防伪检测方法,包括:
[0005] 接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息;
[0006] 根据二维码图像信息得到对应的第一票据凭证信息以及识别射频标签信息得到对应的第二票据凭证信息;
[0007] 确定是否得到所述第一票据凭证信息和所述第二票据凭证信息,若否,则发送验证失败至对应的智能设备;
[0008] 确定所述第一票据凭证信息和所述第二票据凭证信息是否一致,若否,则发送验证失败至对应的智能设备;
[0009] 分别提取所述票据凭证中的第一数字水印信息和所述射频标签信息中的第二数字水印信息,所述第一数字水印信息与所述第二数字水印信息相关联;
[0010] 根据所述第一数字水印信息和所述第二数字水印信息得到防伪验证结果,将所述验证结果发送至对应的智能设备。
[0011] 进一步的,在所述接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息之前,包括:
[0012] 将具备二维码图像信息的票据凭证信息发送至一智能终端,并将与票据凭证信息对应的射频标签信息写入对应的智能终端,所述智能终端具有射频标签模块。
[0013] 进一步的,在所述接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息之前,包括:
[0014] 对获取到的票据凭证的根据深度优先遍历算法提取其DOM树的各个子块,所述子块包括class属性和id属性;
[0015] 对获取到所述子块进行预处理;
[0016] 采用随机函数将水印信息嵌入对应子块class属性中;
[0017] 得到具有第一数字水印信息的票据凭证。
[0018] 进一步的,所述采用随机函数将水印信息嵌入对应子块class属性中,包括:
[0019] 根据第一密钥和所有子块的id属性得到水印信息与各子块之间的嵌入关系索引表;
[0020] 根据所述嵌入关系索引表获取目标子块嵌入位置的id值,根据第二密钥对目标子块的id值进行加密操作得到第一加密水印;
[0021] 根据所述嵌入关系索引表获取其他子块的id值,根据第三密钥对其他子块的id进行加密操作得到第二加密水印;
[0022] 将所述第一加密水印与第二加密水印置乱后重新组合嵌入到对应子块的class属性。
[0023] 进一步的,所述根据第一密钥和子块的id属性得到水印信息与各子块之间的嵌入关系索引表,包括:
[0024] 根据第一密钥和子块的id属性结合随机置乱函数得到水印信息与各子块之间的嵌入关系索引表;
[0025] 所述第一密钥、第二密钥和第三密钥均不相同。
[0026] 进一步的,所述第一数字水印信息设置于票据凭证的二维码图像信息中,所述第一数字水印信息通过如下步骤嵌入对应的二维码图像信息中:
[0027] 获取二维码原始图像,并得到二位码原始图像的编码区和非编码区;
[0028] 对接收到的防伪标识信息进行转换得到对应的数组信息;
[0029] 根据所述数组信息生成与二维码匹配的数字水印图案;
[0030] 将所述数字水印图案嵌入所述非编码区得到二维码图像信息。
[0031] 进一步的,在所述接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息之前,包括:
[0032] 接收与票据凭证对应的第一识别顺序,所述第一识别顺序包括依次识别二维码图像信息和射频标签信息;或
[0033] 接收与票据凭证对应的第二识别顺序,所述第二识别顺序包括依次识别射频标签信息和二维码图像信息。
[0034] 在第二方面,本申请实施例提供了一种基于智能设备的票据凭证防伪检测装置,包括:
[0035] 接收模块:用于接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息;
[0036] 识别模块:用于根据二维码图像信息得到对应的第一票据凭证信息以及识别射频标签信息得到对应的第二票据凭证信息;
[0037] 第一确定模块:用于确定是否得到所述第一票据凭证信息和所述第二票据凭证信息,若否,则发送验证失败至对应的智能设备;
[0038] 第二确定模块:用于确定所述第一票据凭证信息和所述第二票据凭证信息是否一致,若否,则发送验证失败至对应的智能设备;
[0039] 提取模块:用于分别提取所述票据凭证中的第一数字水印信息和所述射频标签信息中的第二数字水印信息,所述第一数字水印信息与所述第二数字水印信息相关联;
[0040] 验证模块:用于根据所述第一数字水印信息和所述第二数字水印信息得到防伪验证结果,将所述验证结果发送至对应的智能设备。
[0041] 在第三方面,本申请实施例提供了一种电子设备,包括:
[0042] 存储器以及一个或多个处理器;
[0043] 所述存储器,用于存储一个或多个程序;
[0044] 当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的基于智能设备的票据凭证防伪检测方法。
[0045] 在第四方面,本申请实施例提供了一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器执行时用于执行如第一方面所述的基于智能设备的票据凭证防伪检测方法。
[0046] 本申请实施例通过对二维码图像信息和射频标签信息进行分别识别,并组合验证的方式来进行防伪的一级识别,通过提取票据凭证中的第一数字水印信息和射频标签信息中的第二数字水印信息进行识别验证来进行防伪的二级识别;只有当上述所有的识别方式均成功时,即可判断对应的票据凭证为真。通过多级识别的方式大大提升了识别的准确性,提高了票据凭证仿冒的难度,增加交易的安全性。

附图说明

[0047] 图1是本申请实施例提供的一种基于智能设备的票据凭证防伪检测方法的流程图;
[0048] 图2是本申请实施例提供的数字水印嵌入票据凭证的流程示意图;
[0049] 图3是本申请实施例提供的票据凭证的显示示意图;
[0050] 图4是本申请实施例提供的数字水印加密处理的流程示意图;
[0051] 图5是本申请实施例提供的数字水印嵌入二维码图像信息的流程示意图;
[0052] 图6是本申请实施例提供的一种基于智能设备的票据凭证防伪检测装置的结构示意图;
[0053] 图7是本申请实施例提供的一种电子设备的结构示意图。

具体实施方式

[0054] 为了使本申请的目的、技术方案和优点更加清楚,下面结合附图对本申请具体实施例作进一步的详细描述。可以理解的是,此处所描述的具体实施例仅仅用于解释本申请,而非对本申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本申请相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
[0055] 仅仅通过射频识别技术还不能够达到完全的遏制造假情况的出现,基于此,本申请提供的基于智能设备的票据凭证防伪检测方法及装置,通过对二维码图像信息和射频标签信息进行分别识别,并组合验证的方式来进行防伪的一级识别,通过提取票据凭证中的第一数字水印信息和射频标签信息中的第二数字水印信息进行识别验证来进行防伪的二级识别;只有当上述所有的识别方式均成功时,即可判断对应的票据凭证为真。通过多级识别的方式大大提升了识别的准确性,提高了票据凭证仿冒的难度,增加交易的安全性。
[0056] 图1给出了本申请实施例提供的一种基于智能设备的票据凭证防伪检测方法的流程图,本实施例中提供的基于智能设备的票据凭证防伪检测方法可以由基于智能设备的票据凭证防伪检测设备执行,该基于智能设备的票据凭证防伪检测设备可以通过软件和/或硬件的方式实现,该基于智能设备的票据凭证防伪检测设备可以是两个或多个物理实体构成,也可以是一个物理实体构成。一般而言,该基于智能设备的票据凭证防伪检测设备可以是电脑,手机,平板或后台服务器等。
[0057] 下述以后台服务器为执行基于智能设备的票据凭证防伪检测方法的设备为例,进行描述。参照图1,该基于智能设备的票据凭证防伪检测方法具体包括:
[0058] S101:接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息。
[0059] 当需要进行票据凭证验证时,先将对应的票据凭证的相关信息以及二维码图像信息通过手机app发送至后台服务器,同样的,防伪验证服务人员通过RFID读写器来对手机app处与票据凭证相关的射频标签信息进行信息读写。
[0060] 在进行具体实施操作时,可以由如下的几种使用场景:第一、票据凭证拥有者想要对票据凭证的真伪进行验证,其携带票据凭证到相应的防伪验证处来进行验证,可以是银行等机构。防伪服务人员识别相应票据凭证的二维码信息的同时,通过智能设备识别到票据凭证处的射频标签信息,然后将上述信息传输至后台服务器进行验证。第二、票据凭证拥有者通过自身手机app获取对应的票据凭证的二维码图像信息和射频标签信息,并将其传输至后台服务器。第三、采用线上传输的方式,票据凭证为电子票据凭证,跟随电子票据凭证的不但包括有二维码图像信息,还包括有射频标签信息,将两种信息组合传输。
[0061] 更进一步的,在步骤S101之前,还包括步骤S100:将具备二维码图像信息的票据凭证信息发送至一智能终端,并将与票据凭证信息对应的射频标签信息写入对应的智能终端,所述智能终端具有射频标签模块。
[0062] 也即是实现了票据凭证的转移,更加方便电子凭证的信息交换。当进行票据凭证交易的时候,不单单需要将对应的图像信息传输至另一智能终端用户,还需要将相应的射频信息写入对应的智能终端来保证信息的一致性。在进行射频标签信息传输时,需要将交易双方的智能设备相互接近。然后点击交易,在后台即可触发对应的标签读写控制操作,卖方触发的是标签写入操作,买方触发的是标签读的操作,通过两者终端的相互接近实现了票据凭证的转移。
[0063] S102:根据二维码图像信息得到对应的第一票据凭证信息以及识别射频标签信息得到对应的第二票据凭证信息。本步骤为第一级别的安全验证,目前大多数防伪验证均可以做到这样的防伪设计;很多进行设计时,采用的是单独的二维码图像进行防伪信息存储或者是射频标签信息的防伪信息存储;然后识别相应的二维码图像以及射频标签信息来得到对应的防伪验证信息进而完成防伪验证。上述步骤与常规采用的防伪信息存储相同,也即是直接将二维码与射频标签作为载体来进行信息存储。其能够有效的防止一部分的伪造。
[0064] S103:确定是否得到所述第一票据凭证信息和所述第二票据凭证信息,若否,则发送验证失败至对应的智能设备。
[0065] 本步骤主要是确定是否得到了第一票据凭证信息和第二票据凭证信息,如果仅仅得到一种,则说明防伪验证缺失一级,此时通过反馈信息来告知用户对应的风险。如果当仅仅通过二维码图像信息获取到对应的第一票据凭证信息或者仅仅通过RFID标签获取到对应的第二票据凭证信息时,则可以知晓并没有获取到完整的信息,则提示验证失败。
[0066] S104:确定所述第一票据凭证信息和所述第二票据凭证信息是否一致,若否,则发送验证失败至对应的智能设备。
[0067] 在本步骤主要是为了判断两者得到的信息是否相同,虽然目前会采用二维码进行防伪信息的存储或者射频标签进行防伪信息的存储,但是关于两者结合验证的方式还是较少;如果伪造者仅仅对其中一种信息进行伪造,那么在进行后续的验证识别时,仅仅能通过上一级的识别,无法通过二级验证;二级验证需要对两者进行组合验证。从一定程度上保证了识别的安全性。当验证没有通过时,则可以反馈验证失败或者此为伪造票证等信息至相应的智能设备,便于票据拥有者及时知晓验证情况。在进行验证设计时,可以有如下两种设计方式:一、第一票据凭证信息和第二票据凭证信息设置的完全相同,当进行信息验证时,只要比对两者信息是否一致,且对应的防伪码是否存在于对应的服务器中,即可判断其通过本级别的防伪验证;二、第一票据凭证信息和第二票据凭证信息设置的不相同,但是其存在对应的映射表来表示两者的相关性,当两者相关时,即可判断其通过本级别的防伪验证。
[0068] S105:分别提取所述票据凭证中的第一数字水印信息和所述射频标签信息中的第二数字水印信息,所述第一数字水印信息与所述第二数字水印信息相关联。
[0069] 数字水印(Digital Watermark)一种应用计算机算法嵌入载体文件的保护信息。数字水印技术,是一种基于内容的、非密码机制的计算机信息隐藏技术。它是将一些标识信息(即数字水印)直接嵌入数字载体当中(包括多媒体、文档、软件等)或是间接表示(修改特定区域的结构),且不影响原载体的使用价值,也不容易被探知和再次修改。但可以被生产方识别和辨认。通过这些隐藏在载体中的信息,可以达到确认内容创建者、购买者、传送隐秘信息或者判断载体是否被篡改等目的。数字水印是保护信息安全。
[0070] 在本实施例中,可以在票据凭证中藏入第一数字水印信息以及在射频标签信息中藏入第二数字水印信息来达到三级防伪验证的方式。通过最后级别的防伪验证,大大提高了仿造难度,且能够有效的完成对票据凭证的防伪检测。
[0071] S106:根据所述第一数字水印信息和所述第二数字水印信息得到防伪验证结果,将所述验证结果发送至对应的智能设备。
[0072] 步骤S105的双重数字水印已较难以破解,故而在本步骤直接对所述第一数字水印信息和所述第二数字水印信息进行判断即可得到对应的验证结果,当验证通过时,则可以发送此为真品的结果至对应的智能设备处以供用户知晓。
[0073] 为了更加方便于电子票证的交易,在本实施例中,还设计一种提高电子票据凭证中的数字水印的隐蔽性的方式。数字水印信息的嵌入也需要一定的隐蔽性,如果数字水印信息的隐蔽性高,那么最终被仿造的难度也较大。
[0074] 现有的,数字水印的嵌入方式可以依据大小写字母来进行嵌入,也可以通过额外调价标签节点类别以及改变标签的属性顺序来进行嵌入。当时上述在隐蔽性上会存在一定的问题,容易被仿造者识破。故而在本实施例中通过设计一种基于票据凭证自身特点来进行信息构建的方式。
[0075] 在本实施例中,更为优选的,如图2所示,图2是本申请实施例提供的数字水印嵌入票据凭证的流程示意图,在步骤S101之前,还包括如下步骤:
[0076] S1001:对获取到的票据凭证的根据深度优先遍历算法提取其DOM树的各个子块,所述子块包括class属性和id属性。
[0077] 深度优先搜索是一种在开发爬虫早期使用较多的方法。它的目的是要达到被搜索结构的叶结点(即那些不包含任何超链的HTML文件)。在一个HTML文件中,当一个超链被选择后,被链接的HTML文件将执行深度优先搜索,即在搜索其余的超链结果之前必须先完整地搜索单独的一条链。深度优先搜索沿着HTML文件上的超链走到不能再深入为止,然后返回到某一个HTML文件,再继续选择该HTML文件中的其他超链。当不再有其他超链可选择时,说明搜索已经结束。通过遍历算法能够得到票据凭证文件中各个子块的class属性和id属性。
[0078] S1002:对获取到所述子块进行预处理。通过预处理函数检查分块是否有包含有class属性和id属性,如果没有,则为其增加对应的属性值,并且找到符合要求的分块,如图3所示,图3是本申请实施例提供的票据凭证的显示示意图,其中的分块包括有商业承兑汇票模块、收款人模块、付款人模块、汇票金额模块和二维码显示模块等等。
[0079] S1003:采用随机函数将水印信息嵌入对应子块class属性中。在本实施例中设置时,不采用具体位置限定的方式,而是采用随机的方式进行嵌入,大大增加了被仿冒的可能性。在进行水印嵌入时,可以随机将水印嵌入商业承兑汇票模块、收款人模块、付款人模块、汇票金额模块和二维码显示模块中的一种。
[0080] S1004:得到具有第一数字水印信息的票据凭证。
[0081] 依据自身结构特点在对票据凭证的分块效率和内容的修改定位上有较大的提高,并且通过该将水印嵌入class属性值中,不需要额外另外添加标签元素,隐蔽性和水印容量得到了保证和提高,最后根据标签id值进行随机置乱嵌入水印的方式,使得其具备抵抗针对于票据凭证的节点的增删。通过id属性值,使得水印不够分块位置的改变影响,保证了水印信息的提取。
[0082] 如图4所示,图4是本申请实施例提供的数字水印加密处理的流程示意图,所述采用随机函数将水印信息嵌入对应子块class属性中,包括:
[0083] S1003a:根据第一密钥和所有子块的id属性得到水印信息与各子块之间的嵌入关系索引表。
[0084] 更为优选的,根据第一密钥和子块的id属性结合随机置乱函数得到水印信息与各子块之间的嵌入关系索引表。
[0085] S1003b:根据所述嵌入关系索引表获取目标子块嵌入位置的id值,根据第二密钥对目标子块的id值进行加密操作得到第一加密水印;
[0086] S1003c:根据所述嵌入关系索引表获取其他子块的id值,根据第三密钥对其他子块的id进行加密操作得到第二加密水印;
[0087] S1003d:将所述第一加密水印与第二加密水印置乱后重新组合嵌入到对应子块的class属性。
[0088] 上述步骤的基本原理是将提取到的子块存储列表容器中,然后将容器随机置乱,置乱后分块的顺序为对应的嵌入水印顺序。经过置乱函数之后的水印信息在没有密钥的情况下无法分辨各部分水印信息,然后再进行字符串映射成密文水印信息,对水印信息的修改,将导致所有信息无法正常解析。通过上述步骤使得数字水印也难以被攻破。
[0089] 更为优选的,所述第一密钥、所述第二密钥和所述第三密钥均不相同。也即是通过多级密钥提高安全性。
[0090] 除了上述将水印信息融入票据凭证中之外,还包括有如下方式,图5是本申请实施例提供的数字水印嵌入二维码图像信息的流程示意图,如图5所示,所述第一数字水印信息设置于票据凭证的二维码图像信息中,所述第一数字水印信息通过如下步骤嵌入对应的二维码图像信息中:
[0091] S1000a:获取二维码原始图像,并得到二位码原始图像的编码区和非编码区;
[0092] S1000b:对接收到的防伪标识信息进行转换得到对应的数组信息;
[0093] S1000c:根据所述数组信息生成与二维码匹配的数字水印图案;
[0094] S1000d:将所述数字水印图案嵌入所述非编码区得到二维码图像信息。
[0095] 由于二维码本身具备一定的隐蔽性,其并不是直接显示信息,所以在水印信息隐藏方面存在一定的优势。二维码与数字水印在进行融合时,两者独立设置,分立识别。也即是在识别票据凭证的防伪信息的时候,无法直接识别到隐藏在二维码中的数字水印,在进行数字水印嵌入时,将其设置于二维码中的非编码区域,使得其构成不对二维码的识别产生影响。
[0096] 更为优选的,在步骤S101之前,还包括:
[0097] 接收与票据凭证对应的第一识别顺序,所述第一识别顺序包括依次识别二维码图像信息和射频标签信息;或
[0098] 接收与票据凭证对应的第二识别顺序,所述第二识别顺序包括依次识别射频标签信息和二维码图像信息。
[0099] 上述内容也是在电子票据凭证进行交换时,产生的加密设置。不单单设置识别方式,还设置对应的识别顺序,如果顺序没有正确,也是无法识别到对应的信息的。往往上述这些简单的设计是容易被攻击者所遗漏点的。
[0100] 本申请的多级防伪验证方式、数字水印的随机嵌入方式以及识别顺序的设计使得票据凭证被仿造成为一种不可能的事件,大大提高了票据凭证交易的安全性,使得用户更专注于交易本身而不是交易的真实性。
[0101] 本申请实施例通过对二维码图像信息和射频标签信息进行分别识别,并组合验证的方式来进行防伪的一级识别,通过提取票据凭证中的第一数字水印信息和射频标签信息中的第二数字水印信息进行识别验证来进行防伪的二级识别;只有当上述所有的识别方式均成功时,即可判断对应的票据凭证为真。通过多级识别的方式大大提升了识别的准确性,提高了票据凭证仿冒的难度,增加交易的安全性。
[0102] 上述为通过二维码结合射频数字签名来进行票据凭证的验证方式,除了上述进行票据验证的方式外,本申请实施例还提供了一种基于区块链的票据凭证防伪检测方法及装置,旨在通过将标识信息发送至区块链网络中的不同区块节点进行票据凭证防伪检测,以此来实现票据凭证防伪检测系统的去中心化及分布式匹配比对,避免集中化进行防伪检测时检测数据繁重导致系统计算资源紧张的情况,提升系统的防伪检测效率。并通过不同区块节点进行票据凭证防伪检测,避免集中化处理检测数据时容易因网络攻击和信息拦截导致票据伪造、检测结果伪造的情况的出现。此外,本申请提供的基于区块链的票据凭证防伪检测方法,还进一步通过身份信息的鉴定,判断匹配结果是否来自前端节点所选择的检测节点,以此来保障匹配结果的安全性和准确性,进一步保障票据凭证防伪检测的检测结果安全性和准确性。
[0103] 下述以基于区块链的票据凭证防伪检测系统为执行基于区块链的票据凭证防伪检测方法的主体为例,进行描述。该基于区块链的票据凭证防伪检测方法具体包括:
[0104] 前端节点采集票据凭证的标识信息,基于多个区块节点的身份信息选取对应的所述区块节点作为检测节点,将所述标识信息发送至所述检测节点,各个所述区块节点均配置有用于所述标识信息匹配比对的验证信息数据库。
[0105] 示例性的,在进行票据凭证防伪检测时,通过票据凭证防伪检测系统的前端节点采集票据凭证的标识信息。一般而言,票据凭证的标识信息为字符串或者二维码。在采集标识信息时,前端节点通过获取票据凭证的图像数据,从图像数据中识别出相应的字符串或者二维码,以此完成标识信息采集。可以理解的是,此处前端节点应当是包含摄像头或者扫码器的终端设备,其通过有线或者无线的方式与系统后台信号连接。并且,根据实际需要,前端节点获取到的票据凭证的图像数据,还可以直接作为标识信息上传至系统后台,由系统后台进一步进行图像识别处理提取其中的字符串或者二维码作为进行匹配比对的标识信息。
[0106] 具体的,还提供了本申请实施例前端节点与区块节点的连接示意图,不同于传统的票据凭证防伪检测设置单一节点进行标识信息匹配比对的方式,本申请实施例中,票据凭证防伪检测系统的后台采用区块链网络进行标识信息的匹配比对。其中区块链网络中包含了多个区块节点,各个区块节点采用独立的通信链路对接前端节点。并且,各个区块节点均配置有用于所述标识信息匹配比对的验证信息数据库,以便于根据接收到的标识信息进行匹配比对。可以理解的是,本申请实施例中,各个区块节点都具备有票据凭证防伪检测的能力。通过设置由多个区块节点构成的区块链网络,可以缓解单个节点处理票据凭证防伪检测业务的压力,提升票据凭证防伪检测的效率。
[0107] 进一步的,由于设置了多个区块节点,在进行标识信息的匹配比对时,前端节点可选择相应的区块节点进行标识信息的匹配比对,定义上述区块节点为检测节点。前端节点预先存储区块网络上各个区块节点的身份信息,该身份信息作为区块节点的身份标识,该身份标识具备唯一性。在选择检测节点时,根据预先存储的身份信息选择相应的区块节点作为检测节点,发送标识信息至对应的检测节点。
[0108] 在一个实施例中,前端节点还根据预设的选择规则从多个区块节点中选取对应的所述区块节点作为检测节点,所述选择规则基于检测业务平均分配原则构建。可以理解的是,为了避免不同区块节点处理到的票据凭证防伪检测业务量过于悬殊,导致部分区块节点的计算资源浪费,部分区块节点的防伪检测业务量又过于繁重的情况,本申请实施例预先构建一个选择规则。该选择规则基于检测业务平均分配原则构建,以此来保障分配到各个区块节点的防伪检测业务量相当。举例而言,区块链网络中包括A、B、C和D四区块节点,若每次选择一个区块节点处理标识信息,则第一次随机选择或者顺序选择一个区块节点,下一次区块节点选择时,则不会将该区块节点作为候选。例如,第一次选择A区块节点发送标识信息,则第二次标识信息的发送会在B、C和D三个区块节点中选取一个区块节点。以此类推,直至所有节点都处理完以此防伪检测业务,则重新基于区块链网络中的所有区块节点进行检测节点的随机选择或者顺序选择。
[0109] 在一个实施例中,选取某一区块节点作为检测节点发送标识信息后,还在设定接收周期内接收该检测节点的回复信息,若在接收周期内未接收该检测节点的回复信息,则表示标识信息发送失败,前端节点重新发送标识信息至该检测节点。若设定次数内连续发送标识信息失败,则前端节点基于预设的选择规则在区块链网络中重新选取一个区块节点作为检测节点。可以理解的是,由于此前的检测节点连续接收标识信息失败,因此,在重新选取检测节点时,该接收失败的检测节点不会在当次选择的候选中。
[0110] 在一个实施例中,前端节点还使用公钥对所述标识信息进行加密,将加密后的所述标识信息发送至所述检测节点。则对应的,所述检测节点接收所述标识信息时,所述检测节点使用对应所述公钥的私钥对所述标识信息进行解密。公钥(Public Key)与私钥(Private Key)是通过一种算法得到的一个密钥对(即一个公钥和一个私钥),公钥是密钥对中公开的部分,私钥则是非公开的部分。公钥通常用于加密会话密钥、验证数字签名,或加密可以用相应的私钥解密的数据。通过这种算法得到的密钥对能保证在世界范围内是独一的。使用这个密钥对的时候,如果用其中一个密钥加密一段数据,必须用另一个密钥解密。比如用公钥加密数据就必须用私钥解密,如果用私钥加密也必须用公钥解密,否则解密将不会成功。本申请实施例为了保障票据凭证防伪检测结果的准确性和安全性,避免标识信息被恶意篡改、窃取的情况,采用公钥和私钥这一密钥对进行数据的加解密,保障了标识信息传输的安全。
[0111] 在一个实施例中,所述标识信息包含所述前端节点的认证信息;对应的,所述检测节点接收所述标识信息时,所述检测节点从所述标识信息提取所述认证信息,将所述认证信息与预存的前端节点信息表进行比对,判断所述标识信息是否有效。可以理解的是,为了避免当前检测节点接收到的标识信息来自伪造的前端节点,确保检测节点处理的每一个标识信息都来自系统自身的前端节点。本申请实施例前端节点在发送标识信息时,在标识信息中附上前端节点自身的认证信息。对应的,各个区块节点都会预先存储前端节点信息表,前端节点信息表包括前端节点的认证信息,以便于后续进行前端节点的身份认证。可以理解的是,作为检测节点的区块节点通过认证信息查询前端节点信息表,若查询得到相同的认证信息,则表示当前前端节点为有效节点,其标识信息有效。反之,则其标识信息无效,此时检测节点将这一标识信息丢弃,不进行标识信息的匹配比对。
[0112] 所述检测节点接收所述标识信息,基于所述标识信息进行匹配比对,生成相应的匹配结果,将所述匹配结果及自身的身份信息返回至所述前端节点。
[0113] 基于接收到的标识信息,检测节点进一步根据自身的验证信息数据库进行匹配比对。可以理解的是,验证信息数据库应当存储每一个标识信息所对应的验证信息。后续在标识信息匹配比对时,检测节点通过查询自身的验证信息数据库,若存在相匹配的验证信息,则表示这一标识信息有效,此时检测节点生成比对一致的匹配结果,反之则生成比对不一致的匹配结果。并且,基于生成的匹配结果,检测节点还在匹配结果中附上自身的身份信息,以便于后续前端节点接收匹配结果时,能够明确匹配结果的来源,以便于系统进行检测结果的溯源。
[0114] 具体的,为了提高系统的容错性,避免单一节点存在匹配出错、信息篡改等情况,本申请在检测节点接收到标识信息后,不仅通过自身进行匹配比对,还将标识信息发送至指定的区块节点进行匹配比对,以生成更准确,更具容错性的匹配结果。匹配结果生成流程包括:
[0115] 接收所述标识信息,基于自身的验证信息数据库进行匹配比对,生成对应所述标识信息的第一比对结果数据;
[0116] 将所述标识信息发送至指定的所述区块节点,接收各个指定的所述区块节点返回的第二比对结果数据;
[0117] 基于所述第一比对结果数据和各个所述第二比对结果数据通过区块链的共识机制确定所述标识信息的匹配结果。
[0118] 通过区块链技术的共识机制,以提升匹配结果的容错能力。可以理解的是,各个区块节点均预先指定对应的区块节点进行标识信息的转发,举例而言,A区块节点指定E、F和G区块节点作为标识信息的转发节点。当A区块节点作为检测节点接收到标识信息后,首先通过自身的验证信息数据库进行匹配比对,得到对应的比对结果数据,定义为第一比对结果数据。进一步地,将标识信息发送至E、F和G区块节点,有对应区块节点通过自身的验证信息数据库进行匹配比对,得到对应的比对结果数据,定义为第二比对结果数据。对应第一比对结果数据和第二比对结果数据,基于区块链技术的公式机制确定最终的匹配结果。共识机制按照“少数服从多数”的原则进行比对结果投票,得票数最多的比对结果即为最终确定的匹配结果。例如,倘若此时A区块节点的第一比对结果数据以及F和G区块节点的第二比对结果数据均为“比对一致”,而E区块节点的第二比对结果数据为“比对不一致”,则更具共识机制确定“比对一致”的票数为3票,最终数据的匹配结果即为“比对一致”。
[0119] 需要说明的是,在实际应用中,标识节点还可以随机指定区块链网络的若干个节点进行标识信息的匹配比对,并提取其第二比对结果数据,与自身的第一比对结果数据通过共识机制确定最终的匹配结果。在一个实施例中,当基于共识机制进行投票时,可以设定第一比对结果数据的投份额相对大于一个第二比对结果数据。例如,一个第一比对结果数据的投票份额为两票,一个第二比对结果数据的投票份额为一票,则在上述E、F和G区块节点中,如若有一个区块节点的第二比对结果数据与A区块节点(检测节点)的第一比对结果数据一致(共识机制下票数为三票,超过50%),则确定A区块节点的比对结果数据作为最终的匹配结果。
[0120] 在一个实施例中,参照上述标识信息的加密和解密方式,检测节点在进行匹配结果和对应身份信息的发送时,匹配结果和对应身份信息打包为数据包,进一步使用公钥对数据包进行加密,将加密后的数据包发送至前端节点。则对应的,前端节点接收数据包时,使用对应区块节点公钥的私钥对数据包进行解密。另一方面,为了便于数据解密,实际应用中,使用私钥对数据包进行加密,将加密后的数据包发送至前端节点。则对应的,前端节点接收数据包时,使用对应区块节点私钥的公钥对数据包进行解密。当然,无论采用任一一种数据加解密方式,都保障了匹配结果和身份信息的传输安全,保障了票据凭证防伪检测结果的准确性和安全性,避免匹配结果和身份信息被恶意篡改、窃取的情况,[0121] 所述前端节点接收所述匹配结果及所述身份信息,基于所述身份信息判断所述匹配结果是否有效,若判断有效,输出对应的所述票据凭证的检测结果。
[0122] 具体的,基于上述步骤检测节点返回的匹配结果及检测节点的身份信息,前端节点首先判断该身份信息是否与前端节点预先存储的区块网络上各个区块节点的身份信息相匹配,若存在与之匹配的区块节点的身份信息,则表示当前接收到的匹配结果及身份信息来自区块网络上的区块节点。若不存在与之匹配的区块节点的身份信息,则表示当前接收到的匹配结果及身份信息不来自区块网络上的区块节点,可能是黑客伪造的匹配结果。当然,倘若接收到的匹配结果没有包含对应的身份信息,则前端节点直接丢弃接收到的匹配结果。
[0123] 在一个实施例中,将所述身份信息与所述检测节点的身份信息进行比对,若两者相同,判断所述匹配结果有效,若两者不同,判断所述匹配结果无效。为了便于身份信息验证,前端节点在选择区块节点作为检测节点发送标识信息时,预先将该检测节点标记,后续在接收到匹配结果和身份信息时,直接提取预先标记的检测节点的身份信息与接收到的身份信息进行比对,若两者一致,则匹配结果有效。反之则无效。
[0124] 最终,对应验证为有效的匹配结果,若匹配结果内容为“比对一致”,则输出检测为真的检测结果,表示该票据凭证的防伪检测结果为“真”。反之,若匹配结果内容为“比对不一致”,则输出检测为假的检测结果,表示该票据凭证的防伪检测结果为“假”,以此完成本申请实施例基于区块链的票据凭证防伪检测系统基于该基于区块链的票据凭证防伪检测方法的一次票据凭证防伪检测业务。
[0125] 在一个实施例中,前端节点在基于多个区块节点的身份信息选取对应的所述区块节点作为检测节点中,可以选择多个区块节点作为检测节点。则标识信息会发送至多个不同的检测节点进行匹配比对。各个检测节点接收到标识信息后,基于自身的验证信息数据库进行匹配比对,得到对应的匹配结果。匹配结果和对应的身份信息返回至前端节点,由前端节点基于接收到的匹配结果及对应的身份信息来确定最终的检测结果。参照图5,检测结果确定流程包括:
[0126] 所述前端节点接收各个所述检测节点返回的所述匹配结果及对应的所述身份信息;
[0127] 基于对应的所述身份信息确定判断为有效的所述匹配结果;
[0128] 基于各个判断为有效的所述匹配结果通过区块链的共识机制确定所述票据凭证的检测结果。
[0129] 具体的,对应各个检测节点放回的匹配结果及对应的身份信息,首先根据身份信息,逐一确定各个匹配结果是否有效。参照上述身份信息的验证方式,前端节点在发送标识信息至多个检测节点时,预先对这些检测节点进行标记,这后续接收到身份信息后欧,将接收到的身份信息与预先标记的这些检测节点的身份信息进行逐一比对,确定与预先标记的检测节点的身份信息相同的身份信息,则这些身份信息所对应的匹配结果即为有效的匹配结果。进一步的,基于上述确定的多个有效的匹配结果,由于这些匹配结果来自不同的检测节点,其匹配结果的内容可能相同也可能不同,不能单独以某一个匹配结果的内容确定最终的检测结果。因此,本申请实施例进一步基于区块链技术的共识机制确定最终的检测结果。在基于共识机制确定该检测结果时,按照共识机制“少数服从多数”的原则,若众多有效的匹配结果中,内容为“比对一致”的匹配结果占多数(即超过50%),则输出检测为真的检测结果,表示该票据凭证的防伪检测结果为“真”。反之,若众多有效的匹配结果中,内容为“比对不一致”的匹配结果占多数(即超过50%),则输出检测为假的检测结果,表示该票据凭证的防伪检测结果为“假”。通过共识机制确定最终的检测结果,可以避免单一区块节点的匹配结果被篡改的情况,提升基于区块链的票据凭证防伪检测系统的容错能力,保障最终确定的检测结果的稳定性和准确性。
[0130] 进一步的,在上述确定检测结果之后,本申请实施例还进一步基于最终确定的检测结果进行错位匹配记录。错误匹配记录流程包括:
[0131] 确定与所述检测结果不同的匹配结果,生成对应的所述区块节点的错误匹配记录;
[0132] 对设定时间段所述错误匹配记录达到设定数量的所述区块节点进行安全性警示。
[0133] 可以理解的是,上述在基于共识机制从众多有效的匹配结果中确定检测结果之后,则认为此前投票票数占多数的匹配结果为正确的匹配结果,而投票票数占少数的,则为错误的匹配结果。匹配结果的错误可能是对应区块节点在匹配比对时出现比对错误、匹配结果被篡改、节点遭受网络攻击或者自身验证信息数据库出错等情况造成的。则为了尽早的发觉上述情况,消除对应区块节点的这一故障,前端节点对于提供错误匹配结果的区块节点进行错误匹配记录。每一次票据凭证防伪检测业务均进行一次错误匹配记录,错误匹配记录对应区块节点登记在前端节点的匹配记录表中。之后,每隔一个设定时间段(如7天),前端节点则查询匹配记录表是否有错误匹配记录达到设定次数(如10次)的区块节点,若有,则输出这一区块节点的安全性警示,以提示运维人员及时修复该区块节点的潜在故障,避免后续的票据凭证防伪检测业务处理过程中,持续性出现匹配结果错误的情况。而如若匹配记录表不存在错误匹配记录达到设定次数(如10次)的区块节点,则前端节点擦除前一设定时间段的错误匹配记录,进行下一周期的错误匹配记录。通过区块节点的错误匹配记录,可以保障各个区块节点提供的匹配结果能够有一定的准确性,进一步提升系统票据凭证防伪检测的准确性和安全性。
[0134] 上述,通过前端节点采集票据凭证的标识信息,基于多个区块节点的身份信息选取对应的区块节点作为检测节点,将标识信息发送至检测节点,由检测节点进行匹配比对,生成相应的匹配结果,将匹配结果及自身的身份信息返回至前端节点。之后,由前端节点基于身份信息判断匹配结果是否有效,若判断有效,输出对应的票据凭证的检测结果。采用上述技术手段,通过选取检测节点可以保障票据凭证防伪检测的检测效率及安全性,避免检测业务繁重影响处理效率的情况,并通过身份信息验证,避免检测结果错误、伪造等情况,进一步保障票据凭证防伪检测的准确性和安全性。
[0135] 上述为通过二维码结合射频数字签名来进行票据凭证的验证方式以及基于区块链进行票据凭证防伪检测的方式,除了上述进行票据验证的方式外,本申请实施例提供的一种基于图像识别的票据凭证防伪检测方法,本申请实施例提供的基于图像识别的票据凭证防伪检测方法可以由基于图像识别的票据凭证防伪检测装置来执行,该基于图像识别的票据凭证防伪检测装置可以通过硬件和/或软件的方式实现,并集成在计算机设备中。
[0136] 下述以基于图像识别的票据凭证防伪检测装置执行基于图像识别的票据凭证防伪检测方法为例进行描述。该基于图像识别的票据凭证防伪检测方法包括:
[0137] 提取待识别票据图像的特征标识信息,并基于所述特征标识信息在数据库中匹配验证标识信息。
[0138] 其中,特征标识信息应理解为通过印刷或打印等方式固化在票据上的图形或文字信息,例如印刷在票据上的数字编码、条形码、二维码等。在生产票据时,确定每张票据唯一的特征标识信息,根据该特征标识信息生成验证标识信息(可与特征标识信息一致),将该验证标识信息保存在数据库中,并建立验证标识信息与票据和/或特征识别信息的对应关系。
[0139] 示例性的,获取待识别票据图像,识别并提取出待识别票据图像中的特征标识信息,基于该特征标识信息在数据库中检索匹配验证标识信息,从而确定匹配到的验证标识信息。可以理解的是,在未检索到匹配的验证标识信息时,认为该票据未登记在数据库中,判断票据未通过真伪性判断,并结束对该待识别票据图像的防伪检测流程。
[0140] 基于匹配到的验证标识信息,从数据库获取通用特征信息,所述通用特征信息包括票据模板图像、通用特征区域、通用特征点以及通用描述子。
[0141] 其中,在数据库中保存验证标识信息的同时,确定对应票据的票据类型,确定该票据类型所对应的通用特征信息,并建立验证标识信息和通用特征信息的关联关系。可以理解的是,不同的票据类型对应于不同的通用特征信息,即一个通用特征信息可包括多个通用特征区域,并且不同票据类型的通用特征信息可存在部分相同的情况。
[0142] 在本实施例中,通用特征信息包括票据模板图像、通用特征区域、通用特征点以及通用描述子。可以理解的是,真实票据的图像与票据模板图像除特征标识信息对应区域的图像存在区别之外,其余区域的图像一致。其中图像一致的区域中,用于与其余票据类型进行区别或辨别真伪票据的区域为通用特征区域,对应区域可印刷或打印特定形状的图形,在待识别票据对应区域的图形与通用特征区域的图形一致或相似度达到一定阈值时才认为该待识别票据为真票据。
[0143] 通用特征点和通用描述子可通过图像特征提取算法对票据模板图像进行特征提取得到。其中,图像特征提取算法可以是SIFT(Scale Invariant Feature Transform,尺度不变特征变换)算法、SURF(Speeded Up Robust Features,加速稳健特征)算法或ORB(Oriented FAST and Rotated BRIEF)算法等,本实施例不做限定。描述子是一种二进制描述子,通常为128位的二进制串。它的计算方法是从特征点周围随机挑选128个点对,对于每个点对中的两个点,如果前一个点的灰度值大于后一个点,则取1,反之取0。例如,提取ORB特征其实包括了提取特征点和计算描述子两件事情,利用FAST特征点检测算法或Harris角点检测算法或SIFT、SURF等算法检测特征点的位置,接下来在特征点邻域利用BRIEF(Binary Robust Independent Elementary Features)算法建立特征描述子。可选的,通用特征点和通用描述子可预先通过图像特征提取算法进行获取并储存在数据库中。
[0144] 示例性的,在成功匹配验证标识信息后,根据验证标识信息和通用特征信息的关联关系,获取与该验证标识信息关联的通用特征信息。
[0145] 获取所述待识别票据图像的待识别特征点以及待识别描述子,并基于所述通用特征点、所述通用描述子、所述待识别特征点以及所述待识别描述子对所述待识别票据图像进行归一化处理。
[0146] 示例性的,通过图像特征提取算法获取待识别票据图像的待识别特征点以及待识别描述子,待识别特征点以及待识别描述子的求取方法与通用特征点以及通用描述子的求取方法类似,本实施例不再赘述。
[0147] 进一步的,在得到待识别票据图像的待识别特征点和待识别描述子后,基于通用特征点、通用描述子、待识别特征点以及待识别描述子对待识别票据图像进行归一化处理,以将待识别票据图像处理成与票据模板图像(尺寸、大小、方向等)一致的图像。
[0148] 根据所述通用特征区域确定所述待识别票据图像的待识别特征区域,并基于所述票据模板图像在通用特征区域和所述待识别票据图像在待识别特征区域的相似度判断票据真伪。
[0149] 示例性的,将待识别票据图像归一化后,根据通用特征信息中的通用特征区域,确定待识别票据图像的待识别特征区域。例如,根据通用特征区域的角点在票据模板图像上的坐标,根据待识别票据图像和票据模板图像各像素点之间的映射关系,确定待识别特征区域各个角点在待识别票据图像中的坐标,这些坐标围成的区域即为待识别特征区域。在通用特征信息存在多个通用特征区域时,获取每个通用特征区域对应的待识别特征区域并确定每个通用特征区域和待识别特征区域之间的对应关系。
[0150] 进一步的,计算票据模板图像在通用特征区域和待识别票据图像在待识别特征区域的相似度,并将计算得到的相似度与相似度阈值进行比较,在达到相似度阈值的要求时判断票据为真票据,否则判断票据为伪票据。
[0151] 上述,通过利用待识别票据的特征标识信息在数据库中匹配验证标识信息,并基于匹配到的验证标识信息获取对应类型票据的通用特征信息,利用待识别票据图像和票据模板图像的特征点以及描述子归一化待识别票据图像后,获取待识别票据图像中的待识别特征区域,并根据通用特征区域和待识别特征区域的相似度判断票据真伪,在票据通过特征标识信息匹配的基础上,进一步验证票据其他通用特征区域的匹配情况,有效提高票据真伪识别的准确度。
[0152] 该基于图像识别的票据凭证防伪检测方法是对上述基于图像识别的票据凭证防伪检测方法的具体化。该基于图像识别的票据凭证防伪检测方法包括:
[0153] 提取待识别票据图像的特征标识信息,并基于所述特征标识信息在数据库中匹配验证标识信息。
[0154] 示例性的,待识别票据图像可通过手机、平板、专业摄像装置等拍摄设备进行获取,或者是通过网络或移动存储设备(例如U盘)进行获取。
[0155] 本实施例中特征标识信息包括数字编码、条形码、二维码中的一种或多种。以数字编码作为特征标识信息为例,对特征标识信息的获取步骤包括:对待识别票据图像进行OCR识别,获取待识别票据图像中的票据文本;确定所述票据文本中的标识文本,根据票据文本与标识文本之间的位置关系,提取票据文本作为特征标识信息。
[0156] 具体的,在制作票据时,将该票据唯一的数字编码印刷或打印在票据上,并且在数字编码的指定位置(例如数字编码的头部或尾部)印刷或打印标识文本。其中标识文本可以是“NO”、“编号”、“识别码”等。
[0157] 在获取待识别票据图像后,对该待识别票据图像进行OCR(Optical Character Recognition,光学字符识别)识别,以获取待识别票据图像中的票据文本,并在票据文本中查找标识文本,并确定标识文本在待识别票据图像中的位置。同时,根据票据文本中文本之间的大小以及距离对文本进行分组,以确定用于反映同一信息的文本组。
[0158] 进一步的,在确定标识文本的位置后,提取距离票据文本最近且在设定距离内的文本组中的票据文本,并将该票据文本作为特征标识信息。
[0159] 在其他实施例中,若使用条形码或二维码作为特征标识信息,在制作票据时根据特征识别信息生成条形码或二维码。在获取待识别票据图像后,读取待识别票据图像中的条形码或二维码,并解析出其中的特征标识信息。
[0160] 在其他实施例中,可根据实际需要选择数字编码、条形码、二维码中的一个或多个作为特征识别信息,在获取待识别票据图像后,同时对数字编码、条形码和二维码进行检测,并将重复程度最高的文本作为特征识别信息或者是根据不同类型的优先级进行确定,例如数字编码、条形码、二维码的优先级依次降低。或者是在匹配验证标识信息时,根据优先级依次在数据库中进行验证标识信息的匹配,根据将优先级更高的特征标识信息匹配到的验证标识信息作为该票据对应的验证标识信息。
[0161] 在确定待识别票据图像中特征识别信息后,在数据库中检索与该特征识别信息匹配的验证标识信息。可以理解的是,在未成功获取特征识别信息或未成功匹配验证标识信息时,判断该待识别票据为假票据,并结束对该待识别票据的防伪验证流程。在成功匹配验证标识信息时,进一步对待识别票据图像的其他区域相似度进行判断。
[0162] 基于匹配到的验证标识信息,从数据库获取通用特征信息。
[0163] 具体的,在成功匹配验证标识信息后,从数据库中调取与该验证标识信息对应的通用特征信息。
[0164] 在本实施例中,通用特征信息包括票据模板图像、通用特征区域、通用特征点、通用描述子以及每个通用特征区域的相似度阈值,并且每个通用特征信息包括有多个通用特征区域。
[0165] 获取所述待识别票据图像的待识别特征点以及待识别描述子,并基于所述通用描述子和所述待识别描述子的距离,对所述通用特征点和所述待识别特征点进行特征匹配。
[0166] 具体的,通过图像特征提取算法获取待识别票据图像的待识别特征点以及待识别描述子,待识别特征点以及待识别描述子的求取方法与上述实施例中通用特征点以及通用描述子的求取方法类似,本实施例不再赘述。
[0167] 进一步的,在得到待识别票据图像的待识别特征点和待识别描述子后,计算待识别描述子和通用描述子之间的距离,并根据描述子和通用描述子之间的距离对描述子和通用描述子进行配准。其中描述子和通用描述子之间的距离可以是欧氏距离、汉明距离、余弦距离等,距离越小,表示两个特征点越相似。根据描述子之间的距离,可将一幅图上特征点与另一幅图上特征编码对应bit位上相同元素的个数最多的特征点配成一对。根据距离从小到大进行排序建立特征点之间的对应关系,完成对通用特征点和待识别特征点的特征匹配,并生成特征匹配结果。
[0168] 基于所述特征匹配结果对匹配的所述通用特征点和所述待识别特征点进行筛选。
[0169] 具体的,在得到特征匹配结果后,对匹配的通用特征点和待识别特征点进行筛选,以消除匹配错误的特征点。本实施例通过RANSAC(Random Sample Consensus,随机抽样一致)算法对特征匹配结果进行筛选。
[0170] 根据匹配的所述通用特征点和所述待识别特征点求取单应性变换矩阵。
[0171] 具体的,在对特征匹配结果进行筛选后,基于单应型矩阵求取算法计算通用特征点和待识别特征点之间的单应性变换矩阵。其中单应性变换矩阵用于描述待识别票据图像和票据模板图像之间的位置映射关系。单应性变换矩阵可通过findHomography函数调用单应型矩阵求取算法进行求取。
[0172] 基于所述单应性变换矩阵对所述待识别票据图像进行透视变换,以得到归一化处理后的待识别票据图像。
[0173] 具体的,在得到单应性变换矩阵后,基于该单应性变换矩阵对待识别票据图像进行透视变换,从而对待识别票据图像进行归一化,得到与票据模板图像(尺寸、大小、方向等)一致的待识别票据图像。其中,透视变换可通过OpenCV中的warpPerspective函数进行。
[0174] 在其他实施例中,还可基于OpenCV的getPerspectiveTransform函数得到特征匹配结果对应的投影映射矩阵并对待识别票据图像进行透视变换。
[0175] 根据所述通用特征区域确定所述待识别票据图像的待识别特征区域。
[0176] 具体的,在完成待识别票据图像的归一化处理后,根据通用特征区域在票据模板图像中的位置,在待识别票据图像中的对应位置确定待识别特征区域。
[0177] 在本实施中,一个票据模板图像对应有多个通用特征区域,对应的,在待识别票据图像中对应确定多个待识别特征区域。
[0178] 获取所述票据模板图像在通用特征区域的通用图像以及所述待识别票据图像在待识别特征区域的待识别图像。
[0179] 具体的,在确定待识别票据图像中的待识别特征区域后,获取票据模板图像在通用特征区域的通用图像。通用图像可在票据模板图像中通用特征区域对应的位置进行截图获取,或者是在生成通用特征信息的同时预先截取通用特征区域对应的通用图像,后续在成功匹配验证标识信息后直接获取即可,还可以是在上传票据模板图像时通过在票据模板图像中框选通用图像,再根据通用图像在票据模板图像上的位置确定通用特征区域。
[0180] 进一步的,在归一化后的待识别票据图像中待识别特征区域对应的位置截取待识别图像,从而获取待识别票据图像在待识别特征区域的待识别图像。
[0181] 计算所述通用图像以及所述待识别图像的特征相似度,并基于特征相似度与相似度阈值的比较情况判断票据真伪。
[0182] 在得到通用图像以及待识别图像后,计算对应于同一通用特征区域的通用图像以及待识别图像之间的特征相似度。本实施例以两张图像之间的汉明距离作为特征相似度为例进行描述。
[0183] 示例性的,计算所述通用图像以及所述待识别图像的哈希值;计算所述通用图像以及所述待识别图像的哈希值的汉明距离,并将所述汉明距离作为特征相似度。
[0184] 具体的,计算每张通用图像以及待识别图像的哈希值,其中图像的哈希值可通过感知哈希算法(例如均值Hash算法和pHash算法)进行获取。
[0185] 进一步的,计算对应于同一通用特征区域的通用图像以及待识别图像对应的哈希值之间的汉明距离,该汉明距离可作为通用图像以及待识别图像的特征相似度。可以理解的是,哈希值之间的汉明距离越小,两张图像的相似程度越高。
[0186] 进一步的,得到全部通用图像以及待识别图像的哈希值对应的汉明距离后,将每个特征相似度与对应相似度阈值进行比较,并根据比较结果判断票据真伪。
[0187] 具体的,将每一个特征相似度与对应于同一通用特征区域的相似度阈值进行比较,在其中一个特征相似度(汉明距离)小于或等于对应的相似度阈值(例如3)时,认为对应待识别图像和通用图像的相似程度达到了防伪要求。进一步的,在所有特征相似度均小于或等于对应的相似度阈值时,认为对应票据为真票据,若存在任意一个特征相似度大于对应相似度阈值的情况,则判断对应票据为伪票据。
[0188] 上述,通过利用待识别票据的特征标识信息在数据库中匹配验证标识信息,并基于匹配到的验证标识信息获取对应类型票据的通用特征信息,利用待识别票据图像和票据模板图像的特征点以及描述子归一化待识别票据图像后,获取待识别票据图像中的待识别特征区域,并根据通用特征区域和待识别特征区域的相似度判断票据真伪,在票据通过特征标识信息匹配的基础上,进一步验证票据其他通用特征区域的匹配情况,有效提高票据真伪识别的准确度。同时,通过透视变换的方式对待识别票据图像进行归一化,方便对待识别图像的获取,并通过多个通用图像和待识别图像的哈希值的汉明距离判断待识别票据多个位置的真伪情况,有效提高对票据真伪判断的准确度。
[0189] 在上述实施例的基础上,图6为本申请实施例提供的一种基于智能设备的票据凭证防伪检测装置的结构示意图。参考图6,本实施例提供的基于智能设备的票据凭证防伪检测装置具体包括:
[0190] 接收模块21:用于接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息;
[0191] 识别模块22:用于根据二维码图像信息得到对应的第一票据凭证信息以及识别射频标签信息得到对应的第二票据凭证信息;
[0192] 第一确定模块23:用于确定是否得到所述第一票据凭证信息和所述第二票据凭证信息,若否,则发送验证失败至对应的智能设备;
[0193] 第二确定模块24:用于确定所述第一票据凭证信息和所述第二票据凭证信息是否一致,若否,则发送验证失败至对应的智能设备;
[0194] 提取模块25:用于分别提取所述票据凭证中的第一数字水印信息和所述射频标签信息中的第二数字水印信息,所述第一数字水印信息与所述第二数字水印信息相关联;
[0195] 验证模块26:用于根据所述第一数字水印信息和所述第二数字水印信息得到防伪验证结果,将所述验证结果发送至对应的智能设备。
[0196] 本申请实施例通过对二维码图像信息和射频标签信息进行分别识别,并组合验证的方式来进行防伪的一级识别,通过提取票据凭证中的第一数字水印信息和射频标签信息中的第二数字水印信息进行识别验证来进行防伪的二级识别;只有当上述所有的识别方式均成功时,即可判断对应的票据凭证为真。通过多级识别的方式大大提升了识别的准确性,提高了票据凭证仿冒的难度,增加交易的安全性。
[0197] 本申请实施例提供的基于智能设备的票据凭证防伪检测装置可以用于执行上述实施例提供的基于智能设备的票据凭证防伪检测方法,具备相应的功能和有益效果。
[0198] 图7是本申请实施例提供的一种电子设备的结构示意图,参照图7,该电子设备包括:处理器31、存储器32、通信模块33、输入装置34及输出装置35。该电子设备中处理器31的数量可以是一个或者多个,该电子设备中的存储器32的数量可以是一个或者多个。该电子设备的处理器31、存储器32、通信模块33、输入装置34及输出装置35可以通过总线或者其他方式连接。
[0199] 存储器32作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块,如本申请任意实施例所述的基于智能设备的票据凭证防伪检测方法对应的程序指令/模块(例如,基于智能设备的票据凭证防伪检测装置中的接收模块21、识别模块22、第一确定模块23、第二确定模块24、提取模块25和验证模块26)。存储器32可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据设备的使用所创建的数据等。此外,存储器32可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储器可进一步包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0200] 通信模块33用于进行数据传输。
[0201] 处理器31通过运行存储在存储器32中的软件程序、指令以及模块,从而执行设备的各种功能应用以及数据处理,即实现上述的基于智能设备的票据凭证防伪检测方法。
[0202] 输入装置34可用于接收输入的数字或字符信息,以及产生与设备的用户设置以及功能控制有关的键信号输入。输出装置35可包括显示屏等显示设备。
[0203] 上述提供的电子设备可用于执行上述实施例提供的基于智能设备的票据凭证防伪检测方法,具备相应的功能和有益效果。
[0204] 本申请实施例还提供一种包含计算机可执行指令的存储介质,所述计算机可执行指令在由计算机处理器31执行时用于执行一种基于智能设备的票据凭证防伪检测方法,该基于智能设备的票据凭证防伪检测方法包括:
[0205] 接收智能设备获取到的票据凭证的二维码图像信息以及射频标签信息;
[0206] 根据二维码图像信息得到对应的第一票据凭证信息以及识别射频标签信息得到对应的第二票据凭证信息;
[0207] 确定是否得到所述第一票据凭证信息和所述第二票据凭证信息,若否,则发送验证失败至对应的智能设备;
[0208] 确定所述第一票据凭证信息和所述第二票据凭证信息是否一致,若否,则发送验证失败至对应的智能设备;
[0209] 分别提取所述票据凭证中的第一数字水印信息和所述射频标签信息中的第二数字水印信息,所述第一数字水印信息与所述第二数字水印信息相关联;
[0210] 根据所述第一数字水印信息和所述第二数字水印信息得到防伪验证结果,将所述验证结果发送至对应的智能设备。
[0211] 存储介质——任何的各种类型的存储器设备或存储设备。术语“存储介质”旨在包括:安装介质,例如CD-ROM、软盘或磁带装置;计算机系统存储器或随机存取存储器,诸如DRAM、DDR RAM、SRAM、EDO RAM,兰巴斯(Rambus)RAM等;非易失性存储器,诸如闪存、磁介质(例如硬盘或光存储);寄存器或其它相似类型的存储器元件等。存储介质可以还包括其它类型的存储器或其组合。另外,存储介质可以位于程序在其中被执行的第一计算机系统中,或者可以位于不同的第二计算机系统中,第二计算机系统通过网络(诸如因特网)连接到第一计算机系统。第二计算机系统可以提供程序指令给第一计算机用于执行。术语“存储介质”可以包括驻留在不同位置中(例如在通过网络连接的不同计算机系统中)的两个或更多存储介质。存储介质可以存储可由一个或多个处理器31执行的程序指令(例如具体实现为计算机程序)。
[0212] 当然,本申请实施例所提供的一种包含计算机可执行指令的存储介质,其计算机可执行指令不限于如上所述的基于智能设备的票据凭证防伪检测方法,还可以执行本申请任意实施例所提供的基于智能设备的票据凭证防伪检测方法中的相关操作。
[0213] 上述实施例中提供的基于智能设备的票据凭证防伪检测装置、存储介质及电子设备可执行本申请任意实施例所提供的基于智能设备的票据凭证防伪检测方法,未在上述实施例中详尽描述的技术细节,可参见本申请任意实施例所提供的基于智能设备的票据凭证防伪检测方法。
[0214] 上述仅为本申请的较佳实施例及所运用的技术原理。本申请不限于这里所述的特定实施例,对本领域技术人员来说能够进行的各种明显变化、重新调整及替代均不会脱离本申请的保护范围。因此,虽然通过以上实施例对本申请进行了较为详细的说明,但是本申请不仅仅限于以上实施例,在不脱离本申请构思的情况下,还可以包括更多其他等效实施例,而本申请的范围由权利要求的范围决定。