1.本发明涉及一种隐形的
图像身份码的嵌入和认证方法,属于防伪技术和数字图像处理领域。
背景技术:
2.商品真伪的鉴定一般采用商品监管码和防伪二维码等方式进行,但是这些可见的防伪方式容易通过现代的高精度仪器被扫描和伪造。
3.此外,现有技术中还具有不可见的防伪方法,多是采用数字水印技术对产品图像进行处理,隐藏相应的标识信息。但是隐藏的标识图像会导致嵌入水印后的宿主图像颜失真,且仅能辨别产品真伪,不能对假冒伪劣产品进行朔源,防伪图像产品表示信息的鲁棒性较差。
4.由于上述原因,本发明人对现有的防伪技术深入研究,提出了一种隐形的图像身份码的嵌入和认证方法,在实现图像产品的不可见式防伪的同时,实现产品的朔源。
技术实现要素:
5.为了克服上述问题,本发明人进行了深入研究,设计出一种隐形的图像身份码的嵌入和认证方法,包括身份码嵌入图像方法和图像中身份码认证方法,通过将身份码嵌入到图像中,实现身份码的隐形。
6.在一个优选的实施方式中,所述身份码嵌入图像方法包括以下步骤:
7.s1、根据原始图像尺寸生成
正交编码库并置乱,获得置乱正交编码库;
8.s2、从置乱正交编码库中获取身份码;
9.s3、将身份码嵌入到原始图像中,获得带身份码的图像。
10.根据本发明一种优选的实施方式,在步骤s1中,所述编码为正交编码,所述置乱是指在维持正交编码正交性的情况下,打乱正交编码库中元素的排列顺序。
11.根据本发明一种优选的实施方式,步骤s1中,对原始图像进行颜通道分离,获得多个单通道颜图像,将多个单通道颜图像转化为多个单通道
矩阵。
12.根据本发明一种优选的实施方式,在步骤s2中,选取置乱正交编码库中某行或列的元素转换为身份码。
13.根据本发明一种优选的实施方式,s3包括以下子步骤:
14.s31、对原始图像转化的单通道矩阵进行奇异值分解获得原始图左奇异矩阵、原始图对角矩阵、原始图右奇异矩阵,对身份码矩阵进行奇异值分解获得身份右奇异矩阵;
15.s32、将身份右奇异矩阵嵌入至原始图右奇异矩阵中,获得嵌入右奇异矩阵;
16.s33、根据原始图左奇异矩阵、原始图对角矩阵、嵌入右奇异矩阵还原单通道颜图像,获得带身份码的图像。
17.根据本发明一种优选的实施方式,所述图像中身份码认证方法包括以下步骤:
18.s4、获取疑似含有身份码图像的编码库,提取编码库中嵌入身份码的行或列向量;
19.s5、对提取的嵌入有身份码的行或列向量进行检测,定位出身份码。
20.另一方面,本发明还公开了一种隐形的图像身份码的嵌入和认证装置,其特征在于,包括嵌入装置和认证装置,
21.所述嵌入装置包括图像编码置乱模块、身份码获取模块和身份码嵌入模块,
22.所述图像编码置乱模块用于根据原始图像尺寸进行编码并置乱,获得置乱编码库;
23.所述身份码获取模块用于从置乱正交编码库中获取身份码;
24.所述身份码嵌入模块用于将身份码嵌入到原始图像中,获得带身份码的图像;
25.所述认证装置,包括身份码提取模块和身份码定位模块,
26.所述身份码提取模块用于获取隐含有身份码的图像的编码库,提取编码库中嵌入有身份码的行或列向量;
27.所述身份码定位模块用于对提取的嵌入有身份码的行或列向量进行检测,定位出身份码。
28.此外,本发明还提供了一种电子设备,包括:
29.至少一个处理器;以及
30.与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行上述的方法。
31.此外,本发明还提供了一种存储有计算机指令的计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行上述的方法。
32.本发明所具有的有益效果包括:
33.(1)本发明利用正交编码的正交性,创新性的将正交编码作为图像认证码,由于正交编码可以做到数值较小,故图像身份码对原始图像的质量影响较小,即水印的不可感知性较好;
34.(2)由于正交编码彼此之间具有极强的差异性,且本发明所用的奇异值分解的方法具有一定稳定性,故图像身份码经过较强的攻击后,再进行相关性检测时仍能提取确定原有图像身份认证码,即嵌入图像中的身份码具有较高的鲁棒性;
35.(3)由于正交编码的码长、编码数量、实现方式具有很大的灵活性,故本发明可以对不同商品进行不同编码的嵌入,以达到防伪朔源目的;
36.(4)上述特性,使得本发明既能在数字图像产品中使用,也能在模拟图像的印刷包装产品或文件中使用。
附图说明
37.图1示出根据本发明一种优选实施方式的隐形的图像身份码的嵌入和认证方法流程图;
38.图2示出实施例1中原始图片;
39.图3示出实施例1中获得的带身份码的图像;
40.图4示出实施例1中对获得的带身份码的图像进行随机加噪声攻击获得的图片;
41.图5示出实施例1中对获得的带身份码的图像进行剪切攻击获得的图片;
42.图6示出实施例1中对获得的带身份码的图像进行旋转攻击获得的图片;
43.图7示出实施例1中获得的矩阵retm的元素图。
具体实施方式
44.下面通过附图和实施例对本发明进一步详细说明。通过这些说明,本发明的特点和优点将变得更为清楚明确。
45.在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
46.根据本发明提供的一种隐形的图像身份码的嵌入和认证方法,包括身份码嵌入图像方法和图像中身份码认证方法。
47.所述身份码是一串用于识别商品信息的数字码,是防伪查询常用的手段之一。
48.传统的防伪中,身份码常以明码的方式包装或影印在商品上,或以水印的方式设置在商品图像上,这些方式都极易被伪造,防伪效果不佳。
49.在本发明中,通过将身份码嵌入到图像中,实现身份码的隐形。
50.具体地,所述身份码嵌入图像方法包括以下步骤:
51.s1、根据原始图像尺寸生成正交编码库并置乱,获得置乱正交编码库;
52.s2、从置乱正交编码库中获取身份码;
53.s3、将身份码嵌入到原始图像中,获得带身份码的图像。
54.在步骤s1中,所述原始图像为需要印刷在商品上的图像;
55.所述编码优选为正交编码,更优选根据原始图像的像素尺寸选取正交编码。
56.所述置乱是指在维持正交编码正交性的情况下,打乱正交编码库中元素的排列顺序,优选地,所述打乱排列顺序通过打乱正交编码库中元素的行顺序或打乱元素的列顺序实现。
57.在一个优选的实施方式中,所述正交编码采用哈达玛(hadamard)矩阵进行。
58.在一个优选的实施方式中,步骤s1包括以下子步骤:
59.s11、获得原始图像的尺寸;
60.s12、根据图像尺寸进行正交编码,生成正交编码库;
61.s13、对正交编码库进行置乱。
62.s11中,所述原始图像的尺寸是指当原始图像使用行、列点阵表示时点阵的大小,例如原始图像使用像素点阵表示时,该原始图像的尺寸即为像素尺寸。
63.进一步地,行、列的点阵中的每个点可以是一个像素,也可以是多个像素作为一个点,优选一个像素为行、列点阵中的一个点。
64.在一个优选的实施方式中,对原始图像进行颜通道分离,获得多个单通道颜图像,每个单通道颜图像均可表示为行、列的点阵,其中图像的行数表示为m,列数表示为n,则原始图像可以表示为多个m*n的矩阵,例如按r(红)、g(绿)、b(蓝)颜通道分离,可以获得r基单通道矩阵、g基单通道矩阵、b基单通道矩阵,原始图像的尺寸即为m*n,单通道矩阵的大小与原始图像的尺寸大小相同。
65.进一步地,行、列的点阵中的每个点可以是一个像素,也可以是多个像素作为一个
点,优选一个像素为行、列点阵中的一个点。
66.在一个优选的实施方式中,通过matlab读取原始图像并分离各个颜通道。
67.s12中,根据图像尺寸大小,或单通道矩阵尺寸大小,尺寸大小记m*n,可以生成m*n个长度为m*n的正交编码,从而可以表示为(m*n)行、(m*n)列的编码库,将该编码库称为正交编码库。
68.进一步地,所述正交编码库具有多个,其与多个单通道颜图像一一对应,在本发明中,将之称为单通道正交编码库,例如按r、g、b颜通道分离可获得三个单通道颜图像,进而获得三个单通道正交编码库。
69.s13中,对多个单通道正交编码分别进行置乱,获得多个单通道置乱正交编码库,具体地,通过打乱正交编码库中不同正交编码的排列顺序实现。
70.优选地,生成1~n的随机数序列,将正交编码库中n个正交编码按照随机序列进行重新排列,实现正交编码的置乱。
71.进一步地,对不同单通道正交编码进行置乱时,采用的1~n的随机数序列不同。
72.根据本发明,当图像r、g、b颜通道分离后,r基正交编码置乱后获得的置乱正交编码库记为randh1、g基正交编码置乱后获得的置乱正交编码库记为randh2、b基正交编码置乱后获得的置乱正交编码库记为randh3。
73.传统的身份码,为了使身份码具有好的鲁棒性,需增加嵌入身份码的强度,即增大身份码的数字,使得身份码嵌入到原始图像后,嵌入后的图像颜出现失真。
74.在步骤s2中,从置乱正交编码库中获取身份码,由于身份码是从正交编码库中获得,身份码自身具有较强的抗干扰能力,鲁棒性较好,使得身份码数值可控制在0.001-1之间,且身份码数值可调,在保证较好鲁棒性的同时,还具有很好的不可感知性,将该身份码嵌入原始图像后,对原始图像的质量影响小。
75.进一步地,根据本发明,通过对正交编码的置乱,保证了获得的身份码的随机性,使得身份码难以被破解,保证了防伪效果。
76.更进一步地,由于正交编码的码长、编码数量、实现方式具有很大的灵活性,故本发明可以对不同商品进行不同编码的嵌入。
77.具体地,在步骤s2中,所述身份码包含多个单通道身份码矩阵,每个单通道身份码矩阵对应一个单通道置乱正交编码库。
78.进一步地,所述单通道身份码矩阵通过单通道正交编码库的第x行或列的元素变形获得:
79.单通道置乱正交编码库中,取每个正交编码的第x行或列中的元素,该行或列的元素表示为h
xi
,由于每个正交编码的第x行或列的元素个数为m*n,可以将h
xi
变形为m行n列的矩阵,该矩阵即为对应的单通道身份码矩阵,其中取每个正交编码的第x行时,x∈[2,m];取每个正交编码的第x列时,x∈[2,n]。
[0080]
在本发明中,多个单通道身份码矩阵的集合为一组身份码,一组身份码又称为一个嵌入矩阵,表示为mj,其中j表示不同的通道,例如按r、g、b颜通道分离图像时,j=r、g、b。
[0081]
优选地,所述变形是指将正交码的全部有序元素分拆成匹配图像像素矩阵的矩阵形式,例如将元素按顺序依次拆解成长度为n的一维数组,将拆解的一维数组按顺序进行列
排列。
[0082]
根据本发明,获得身份码后,将身份码与需要防伪的产品相匹配并将其记录在追溯表中,优选地,一组身份码仅用于表征一个产品,从而实现对产品的溯源。
[0083]
在一个优选的实施方式中,获取多组身份码,每组身份码获取时选择正交编码中的不同的行或列,多组身份码同时与一个产品匹配,从而提升防伪效果。
[0084]
发明人发现,当身份码仅有一组时,在后续识别的过程中可能出现假阳性,即待识别图中没有嵌入身份码,但识别出了身份码,多组身份码的同时使用,即可解决该问题。
[0085]
在s3中,包括以下子步骤:
[0086]
s31、对原始图像转化的矩阵进行奇异值分解获得原始图左奇异矩阵、原始图对角矩阵、原始图右奇异矩阵,对身份码矩阵进行奇异值分解获得身份右奇异矩阵;
[0087]
s32、将身份右奇异矩阵嵌入至原始图右奇异矩阵中,获得嵌入右奇异矩阵;
[0088]
s33、根据原始图左奇异矩阵、原始图对角矩阵、嵌入右奇异矩阵还原图像,获得带身份码的图像。
[0089]
在步骤s31中,原始图像转化为矩阵的方式与步骤s11相同,进一步地,对不同的单通道矩阵分别进行奇异值分解,获得原始图左奇异矩阵uj、原始图对角矩阵sj、原始图右奇异矩阵vj,其中j表示不同的单通道。
[0090]
进一步地,将原始图右奇异矩阵vj进行保存,以便后续认证身份码时使用。
[0091]
对单通道身份码矩分别进行奇异值分解,获得单通道左奇异矩阵u
mj
、单通道对角矩阵s
mj
、单通道身份右奇异矩阵v
mj
。
[0092]
所述奇异值分解(singular value decomposition,svd)是一种矩阵的分解方法,任意矩阵w经过奇异值分解,均能够得表示为w=usv
t
,其中,u为左奇异矩阵,v为右奇异矩阵,s为对角矩阵。
[0093]
在步骤s32中,通过下式将身份右奇异矩阵嵌入至原始图右奇异矩阵中:
[0094]vwmj
=vj+α*v
mj
[0095]
其中,v
wmj
表示嵌入右奇异矩阵;α表示嵌入强度,具体数值本领域技术人员可根据多次试验确定,在本发明中不做特别限定。
[0096]
步骤s33中,根据下式进行奇异值分解的逆运算,还原成单通道图像:
[0097]iwmj
=ujs
jvwmjt
[0098]
其中,i
wmj
表示还原出的单通道颜图像。
[0099]
进一步地,将还原出的单通道颜图像合并为一个图像,合并后的图像即为带身份码的图像。
[0100]
进一步地,当步骤s2中获取多组身份码时,多次重复步骤s3,即可将每组身份码都嵌入到原始图像中。
[0101]
在一个更优选的实施方式中,还假设不特定攻击方会对步骤s3获得的带身份码的图像进行图像攻击,以试图削弱身份码。
[0102]
所述图像攻击,可以是随机加噪声攻击、脉冲噪声攻击、高斯噪声攻击、高斯滤波攻击、剪切攻击、旋转攻击中的一种或多种,在本发明中不做特别限制,这些图像攻击方法均为常规方法,在本发明中不做特别赘述。
[0103]
所述图像中身份码认证方法用于识别带身份码的图像中隐含的身份码。
[0104]
所述图像中身份码认证方法包括以下步骤:
[0105]
s4、获取疑似含有身份码图像的编码库,提取编码库中嵌入身份码的行或列向量;
[0106]
s5、对提取的嵌入有身份码的行或列向量进行检测,定位出身份码。
[0107]
图像不仅在图像攻击后会出现形变,在印刷以及使用后也会出现形变,噪声、图像类型转换、数模转换等,如何在图像形变的状态下对隐含有身份码的图像进行身份码识别是本发明需要解决的问题之一。
[0108]
所述步骤s4中包括以下子步骤:
[0109]
s41、对疑似含有身份码的图像进行奇异值分解,获得该图像的右奇异矩阵;
[0110]
s42、获得待识别图嵌入矩阵;
[0111]
s43、获取待识别图编码行向量。
[0112]
在步骤s41中,对疑似含有身份码的图像进行颜通道分离,获得待识别图像的多个单通道矩阵。
[0113]
进一步地,多个单通道矩阵的获取方法和步骤s1中采用的方法完全相同。
[0114]
进一步地,对多个单通道矩阵进行奇异值分解,获得待识别图像的右奇异矩阵v
′
wmj
。
[0115]
在步骤s42中,根据原始图右奇异矩阵vj与待识别图像的右奇异矩阵v
′
wmj
,获得待识别图嵌入矩阵m
′j。
[0116]
具体地,通过下式提取嵌入矩阵m
′j的右奇异值矩阵v
′
mj
:
[0117]v′
mj
=(v
′
wmj-vj)/α
[0118]
其中,α为嵌入强度,与步骤s32中的嵌入强度取值相同。
[0119]
进一步地,通过下式进行奇异值分解的逆运算,获得待识别图嵌入矩阵m
′j:
[0120]m′j=u
mjsmjv′
mjt
[0121]
其中,u
mj
为单通道左奇异矩阵、s
mj
为单通道对角矩阵,与步骤s31的数值相同,m
′j分别包含多个单通道嵌入矩阵,例如按r、g、b颜通道分离图像时,m
′j包含r基图嵌入矩阵m
′r、g基图嵌入矩阵m
′g、b基图嵌入矩阵m
′b。
[0122]
步骤s43中,将待识别图嵌入矩阵m
′j中每个单通道嵌入矩阵按行或列依次重排,每个单通道嵌入矩阵能够形成一个大小为m*n的行向量或列向量。
[0123]
进一步地,当步骤s1~s3中按照行进行排列时,步骤s43按照也按照行排列;当步骤s1~s3中按照列进行排列时,步骤s43按照也按照列排列。
[0124]
重复步骤s42、s43,每个单通道都能够获得多个行向量或列向量,将每个单通道的多个行向量或列向量组成一个矩阵he。
[0125]
由于疑似含有身份码的图像可能受到攻击,此身份码可能有所改变,所以需要对身份码进行相关性检测,定位出最终的身份码,进一步地,若存在多个定位,说明出现误检测,此时可利用多个单通道矩阵形成的定位进行交叉验证,确定最终身份码。
[0126]
在步骤s5中,包括以下子步骤:
[0127]
s51、进行相关性检测;
[0128]
s52、进行多重交叉验证;
[0129]
s53、确定身份码。
[0130]
在步骤s51中,将每个单通道矩阵he的每行与对应的单通道正交编码库中各正交
编码逐一进行相关性检测,所述检测可以表示为:
[0131][0132]
其中hi为矩阵he第m行的第i个元素,h
ji
为正交编码库中第j行的第i个元素;sumj表示对j行的求和,m∈[1,m],n∈[1,n]。
[0133]
通过上式,能够获得正交编码矩阵中从第1行到第n行与矩阵he的相关性,即sum1、sum2、sum3、
…
sumn,其中若正交编码库第m行与he第m行相关性最大,即summ最大,则m有可能是嵌入身份码图像的源头,将该行号记为ret,遍历第1至n行,将出现n个行号相同且summ极大的行号,逐个记录行号。
[0134]
在步骤s52中,将步骤s51中不同单通道获得的行号组合为一个新的矩阵retm,矩阵retm为c*d大小的矩阵,其中,c为单通道的数量,例如按r、g、b颜通道分离图像时c为3,d为经验值,优选为图像的列数n。
[0135]
在步骤s53中,在矩阵retm中确定重复出现次数最多的数值元素r,即为步骤s2中的第x行或列,重复步骤s2即可获得身份码,通过将身份码与追溯表相匹配,即可实现对产品的防伪查询和溯源。
[0136]
另一方面,本发明还提供了一种隐形的图像身份码嵌入装置,包括图像编码置乱模块、身份码获取模块和身份码嵌入模块。
[0137]
所述图像编码置乱模块用于根据原始图像尺寸进行编码并置乱,获得置乱编码库;
[0138]
所述身份码获取模块用于从置乱正交编码库中获取身份码。
[0139]
所述身份码嵌入模块用于将身份码嵌入到原始图像中,获得带身份码的图像。
[0140]
本发明还提供了一种隐形的图像身份码认证装置,包括身份码提取模块和身份码定位模块。
[0141]
所述身份码提取模块用于获取隐含有身份码的图像的编码库,提取编码库中嵌入有身份码的行或列向量;
[0142]
所述身份码定位模块用于对提取的嵌入有身份码的行或列向量进行检测,定位出身份码。
[0143]
所述身份码定位模块定位出身份码后,通过隐形的图像身份码嵌入装置中的身份码获取模块即可获得身份码,从而实现对产品的防伪查询和溯源。
[0144]
本发明中以上描述的方法和装置的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0145]
用于实施本发明的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0146]
在本发明的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0147]
为了提供与用户的交互,可以在计算机上实施此处描述的方法和装置,该计算机具有:用于向用户显示信息的显示装置(例如,crt(阴极射线管)或者lcd(液晶显示器)监视器);以及键盘和指向装置(例如,鼠标或者轨迹球),用户可以通过该键盘和该指向装置来将输入提供给计算机。其它种类的装置还可以用于提供与用户的交互;例如,提供给用户的反馈可以是任何形式的传感反馈(例如,视觉反馈、听觉反馈、或者触觉反馈);并且可以用任何形式(包括声输入、语音输入或者、触觉输入)来接收来自用户的输入。
[0148]
可以将此处描述的方法和装置实施在包括后台部件的计算系统(例如,作为数据服务器)、或者包括中间件部件的计算系统(例如,应用服务器)、或者包括前端部件的计算系统(例如,具有图形用户界面或者网络浏览器的用户计算机,用户可以通过该图形用户界面或者该网络浏览器来与此处描述的系统和技术的实施方式交互)、或者包括这种后台部件、中间件部件、或者前端部件的任何组合的计算系统中。可以通过任何形式或者介质的数字数据通信(例如,通信网络)来将系统的部件相互连接。通信网络的示例包括:局域网(lan)、广域网(wan)和互联网。
[0149]
计算机系统可以包括客户端和服务器。客户端和服务器一般远离彼此并且通常通过通信网络进行交互。通过在相应的计算机上运行并且彼此具有客户端-服务器关系的计算机程序来产生客户端和服务器的关系。服务器可以是云服务器,又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决了传统物理主机与v p s服务("virtual private server",或简称"vps")中,存在的管理难度大,业务扩展性弱的缺陷。服务器也可以为分布式系统的服务器,或者是结合了区块链的服务器。
[0150]
应该理解,可以使用上面所示的各种形式的流程,重新排序、增加或删除步骤。例如,本发公开中记载的各步骤可以并行地执行也可以顺序地执行也可以不同的次序执行,只要能够实现本发明公开的技术方案所期望的结果,本文在此不进行限制。
[0151]
实施例
[0152]
实施例1
[0153]
对图片lena进行身份码的嵌入,图片如图2所示,图片尺寸为32*32像素,通过以下步骤进行:
[0154]
s1、根据原始图像尺寸生成正交编码库并置乱,获得置乱正交编码库;
[0155]
s2、从置乱正交编码库中获取身份码;
[0156]
s3、将身份码嵌入到原始图像中,获得带身份码的图像。
[0157]
进一步地,步骤s1包括以下子步骤:
[0158]
s11、将原始图像转换为矩阵;
[0159]
s12、根据图像矩阵大小寻恰当的正交编码,生成正交编码库;
[0160]
s13、对正交编码库进行置乱。
[0161]
s11中,通过matlab读取原始图像并分离各个颜通道。
[0162]
在步骤s12中,采用自哈达玛矩阵进行正交编码,生成3个大小为1024*1024个元素大小的哈达玛矩阵。
[0163]
在步骤s13中,使用randperm()函数生成3个1-1024数字的随机数序列,将3个哈达玛矩阵以行为单位根据随机数序列进行置乱,得到矩阵randh1,randh2,randh3。
[0164]
在步骤s2中,在哈达玛矩阵randh1,randh2,randh3,中均取第450行编码,得向量h1,h2,h3,再将该三处向量按列取值变形为32*32大小的矩阵,作为嵌入矩阵mr、mg、mb。
[0165]
在步骤s3中,包括以下子步骤:
[0166]
s31、对原始图像转化的矩阵进行奇异值分解获得原始图左奇异矩阵、原始图对角矩阵、原始图右奇异矩阵,对身份码矩阵进行奇异值分解获得身份右奇异矩阵;
[0167]
s32、将身份右奇异矩阵嵌入至原始图右奇异矩阵中,获得嵌入右奇异矩阵;
[0168]
s33、根据原始图左奇异矩阵、原始图对角矩阵、嵌入右奇异矩阵进行矩阵运算还原图像,获得带身份码的图像,结果如图3所示。
[0169]
从图3可以看出,本方法中图像身份码对原始图像的质量影响较小,即水印的不可感知性较好。
[0170]
进一步地,对获得的带身份码的图像进行随机加噪声攻击,结果如图4所示;
[0171]
对获得的带身份码的图像进行剪切攻击,结果如图5所示;
[0172]
对获得的带身份码的图像进行旋转攻击,结果如图6所示。
[0173]
对图3、4、5、6分别进行图像中身份码认证,认证方法包括以下步骤:
[0174]
s4、获取疑似含有身份码的图像,与原图进行比对,获取可能因数模转换或遭到攻击而有所变化的身份码。
[0175]
s5、查含身份码的图像库,进行身份码比对,定位出身份码。
[0176]
所述步骤s4中包括以下子步骤:
[0177]
s41、对隐含有身份码的图像进行奇异值分解,获得该图像的右奇异矩阵;
[0178]
s42、获得待识别图嵌入矩阵;
[0179]
s43、获取待识别图编码行向量。
[0180]
进一步地,步骤s41中,分离rgb颜通道并对其进行奇异值分解得到矩阵u
wmj
、s
wmj
、v
wmj
(j=r,g,b)。将置乱之后的哈达玛矩阵的第m行,m∈(2,1024),变形为32*32大小的矩阵,并将该矩阵进行奇异值分解得到矩阵um、sm、vm。通过下式提取嵌入矩阵m
′j的右奇异值矩阵v
′
mj
:
[0181]v′
mj
=(v
′
wmj-vj)/α
[0182]
进一步地,通过下式进行奇异值分解的逆运算,获得待识别图嵌入矩阵m
′j:
[0183]m′j=u
mjsmjv′
mjt
[0184]
在步骤s42中,将将矩阵m
′j按行重排为1*(1024)大小的行向量,记矩阵he。
[0185]
将he与对应的哈达玛矩阵中的第一行之外所有行向量进行相关性检测,得到最大
行号ret。
[0186]
在步骤s5中,包括以下子步骤:
[0187]
s51、进行相关性检测;
[0188]
s52、进行多重交叉验证;
[0189]
s53、确定身份码。
[0190]
其中,在步骤s51中,将每个基矩阵he的每行与该基正交编码库中各正交编码逐一进行相关性检测,所述检测可以表示为:
[0191][0192]
在步骤s52中,将步骤s51中不同基获得的行号组合为一个新的矩阵retm,通过图3、4、5、6获得的矩阵retm的元素均如图7所示,由图中可见三基检测中都出现450行编码,即可确定图像的身份码为三个置乱哈达玛矩阵的第450行,与步骤2中选择的行号相符合,证明身份码的识别准确。
[0193]
从图3~6的结果可知,本发明识别稳定性强,即使图像被一定程度的损毁、变形,仍然能够准确提取确定原有图像身份认证码,即嵌入图像中的身份码具有较高的鲁棒性。
[0194]
上述特性,使得本发明既能在数字图像产品中使用,也能在模拟图像的印刷包装产品或文件中使用。
[0195]
在本发明的描述中,需要说明的是,术语“上”、“下”、“内”、“外”、“前”、“后”等指示的方位或位置关系为基于本发明工作状态下的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”、“第四”仅用于描述目的,而不能理解为指示或暗示相对重要性。
[0196]
在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”“相连”“连接”应作广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体的连接普通;可以是机械连接,也可以是电连接;可以是直接连接,也可以通过中间媒介间接连接,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。
[0197]
以上结合了优选的实施方式对本发明进行了说明,不过这些实施方式仅是范例性的,仅起到说明性的作用。在此基础上,可以对本发明进行多种替换和改进,这些均落入本发明的保护范围内。
技术特征:
1.一种隐形的图像身份码的嵌入和认证方法,其特征在于,包括身份码嵌入图像方法和图像中身份码认证方法,通过将身份码嵌入到图像中,实现身份码的隐形。2.根据权利要求1所述的隐形的图像身份码的嵌入和认证方法,其特征在于,所述身份码嵌入图像方法包括以下步骤:s1、根据原始图像尺寸生成正交编码库并置乱,获得置乱正交编码库;s2、从置乱正交编码库中获取身份码;s3、将身份码嵌入到原始图像中,获得带身份码的图像。3.根据权利要求2所述的隐形的图像身份码的嵌入和认证方法,其特征在于,在步骤s1中,所述编码为正交编码,所述置乱是指在维持正交编码正交性的情况下,打乱正交编码库中元素的排列顺序。4.根据权利要求2所述的隐形的图像身份码的嵌入和认证方法,其特征在于,步骤s1中,对原始图像进行颜通道分离,获得多个单通道颜图像,将多个单通道颜图像转化为多个单通道矩阵。5.根据权利要求2所述的隐形的图像身份码的嵌入和认证方法,其特征在于,在步骤s2中,选取置乱正交编码库中某行或列的元素转换为身份码。6.根据权利要求2所述的隐形的图像身份码的嵌入和认证方法,其特征在于,s3包括以下子步骤:s31、对原始图像转化的单通道矩阵进行奇异值分解获得原始图左奇异矩阵、原始图对角矩阵、原始图右奇异矩阵,对身份码矩阵进行奇异值分解获得身份右奇异矩阵;s32、将身份右奇异矩阵嵌入至原始图右奇异矩阵中,获得嵌入右奇异矩阵;s33、根据原始图左奇异矩阵、原始图对角矩阵、嵌入右奇异矩阵还原单通道颜图像,获得带身份码的图像。7.根据权利要求1所述的隐形的图像身份码的嵌入和认证方法,其特征在于,所述图像中身份码认证方法包括以下步骤:s4、获取疑似含有身份码图像的编码库,提取编码库中嵌入身份码的行或列向量;s5、对提取的嵌入有身份码的行或列向量进行检测,定位出身份码。8.一种隐形的图像身份码的嵌入和认证装置,其特征在于,包括嵌入装置和认证装置,所述嵌入装置包括图像编码置乱模块、身份码获取模块和身份码嵌入模块,所述图像编码置乱模块用于根据原始图像尺寸进行编码并置乱,获得置乱编码库;所述身份码获取模块用于从置乱正交编码库中获取身份码;所述身份码嵌入模块用于将身份码嵌入到原始图像中,获得带身份码的图像;所述认证装置,包括身份码提取模块和身份码定位模块,所述身份码提取模块用于获取隐含有身份码的图像的编码库,提取编码库中嵌入有身份码的行或列向量;所述身份码定位模块用于对提取的嵌入有身份码的行或列向量进行检测,定位出身份码。9.一种电子设备,包括:至少一个处理器;以及
与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行权利要求1-7中任一项所述的方法。10.一种存储有计算机指令的计算机可读存储介质,其中,所述计算机指令用于使所述计算机执行根据权利要求1-7中任一项所述的方法。
技术总结
本发明公开了一种隐形的图像身份码的嵌入和认证方法、装置、设备和介质,所述方法包括身份码嵌入图像方法和图像中身份码认证方法,通过将身份码嵌入到图像中,实现身份码的隐形,所述身份码嵌入图像方法包括以下步骤:根据原始图像尺寸生成正交编码并置乱正交编码序号,获得置乱正交编码库;从置乱正交编码库中获取身份码;将身份码嵌入到原始图像中,获得带身份码的图像;图像中身份码认证时,从带身份码的图像中通过交叉验证实现身份码的提取。本发明公开的隐形的图像身份码的嵌入和认证方法、装置、设备和介质,身份码嵌入后对原始图像的质量影响较小,具有识别稳定性高、准确率高、灵活性高、使用范围广等诸多优点。使用范围广等诸多优点。使用范围广等诸多优点。
技术研发人员:
孙晓博 穆萌 柴孝海 戴家洋
受保护的技术使用者:
北京博大格林高科技有限公司
技术研发日:
2021.08.25
技术公布日:
2023/3/2