CN114117478B - 基于点集序列匹配的图像矢量化隐藏和恢复方法及系统 - Google Patents
基于点集序列匹配的图像矢量化隐藏和恢复方法及系统 Download PDFInfo
- Publication number
- CN114117478B CN114117478B CN202111357392.3A CN202111357392A CN114117478B CN 114117478 B CN114117478 B CN 114117478B CN 202111357392 A CN202111357392 A CN 202111357392A CN 114117478 B CN114117478 B CN 114117478B
- Authority
- CN
- China
- Prior art keywords
- sequence
- point set
- vector
- key
- image
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 111
- 238000012545 processing Methods 0.000 claims description 49
- 238000004364 calculation method Methods 0.000 claims description 20
- 238000013507 mapping Methods 0.000 claims description 18
- 239000011159 matrix material Substances 0.000 claims description 11
- 238000011084 recovery Methods 0.000 claims description 10
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 101100346656 Drosophila melanogaster strat gene Proteins 0.000 claims description 3
- 238000000605 extraction Methods 0.000 abstract description 6
- 230000001419 dependent effect Effects 0.000 abstract description 3
- 238000009792 diffusion process Methods 0.000 abstract 1
- 238000010008 shearing Methods 0.000 description 7
- 230000000007 visual effect Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 5
- 238000005259 measurement Methods 0.000 description 5
- 238000003786 synthesis reaction Methods 0.000 description 5
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 description 5
- 230000015572 biosynthetic process Effects 0.000 description 4
- 239000000969 carrier Substances 0.000 description 4
- 238000001514 detection method Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 238000010422 painting Methods 0.000 description 4
- 235000002566 Capsicum Nutrition 0.000 description 3
- 239000006002 Pepper Substances 0.000 description 3
- 241000722363 Piper Species 0.000 description 3
- 235000016761 Piper aduncum Nutrition 0.000 description 3
- 235000017804 Piper guineense Nutrition 0.000 description 3
- 235000008184 Piper nigrum Nutrition 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000010276 construction Methods 0.000 description 3
- 150000003839 salts Chemical class 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 101150060512 SPATA6 gene Proteins 0.000 description 2
- 230000005856 abnormality Effects 0.000 description 2
- 230000000873 masking effect Effects 0.000 description 2
- 238000003860 storage Methods 0.000 description 2
- 238000011282 treatment Methods 0.000 description 2
- 201000009182 Chikungunya Diseases 0.000 description 1
- 101100136092 Drosophila melanogaster peng gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 125000002091 cationic group Chemical group 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 230000009349 indirect transmission Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000001308 synthesis method Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Software Systems (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Image Processing (AREA)
- Editing Of Facsimile Originals (AREA)
Abstract
本发明公开了一种基于点集序列匹配的图像矢量化隐藏和恢复方法及系统,在隐藏阶段,首先将自然掩体图像直接通过误差扩散预处理转化为多级半色调图像;其次,基于第一密钥生成随机密钥序列和第二密钥生成的坐标两两不重复的嵌密小块坐标序列,生成密钥生成点集序列来表示此块嵌入的秘密信息;最后,将自然图像矢量化,根据是否隐藏二值秘密信息,以及二值秘密信息对应的二值比特,选取不同的点集子序列,绘制随机线条来逼近外在的掩体,从而生成含密掩体图像。在提取阶段,根据第一密钥和第二密钥结合可靠性认证策略对秘密信息进行认证以提高秘密信息认证的精度。嵌密和提取过程完全依赖于第一密钥和第二密钥,具有良好的抗攻击性和较高的安全性。
Description
技术领域
本发明属于信息隐藏领域,涉及一种基于点集序列匹配的图像矢量化隐藏和恢复方法及系统。
背景技术
为保护秘密信息的传输安全,人们提出了很多基于修改式嵌入的信息隐藏方法,但传统修改式信息隐藏不可避免地会在载体上留下修改痕迹,为减少密写异常,人们不得不选取容易嵌入且不易引发密写异常的位置进行自适应嵌入,这样不仅使得传统信息隐藏可供利用的冗余空间越来越小同时也使得嵌密位置容易追溯,从而进一步地导致秘密信息的泄露或篡改。为解决此问题,人们提出了无载体信息隐藏,根据应用和生成的载体的不同,可将其划分为两种类型:基于自然载体的无载体信息隐藏方法和基于非自然载体的无载体信息隐藏方法。
基于自然载体的无载体信息隐藏方法包括搜索式、纹理合成式和生成对抗式方法。搜索式无载体信息隐藏方法是依靠大数据或云存储等数据库,从中选取适合的载体来传递秘密信息。例如:Zhang X,2018(Zhang X,Peng F,Long M.Robust coverless imagesteganography based on DCT and LDA topic classification[J].IEEE Transactionon Multimedia,2018,20(12):3223-3238.)通过引入标识对秘密信息所在的含密载体小块的位置进行标记进而来提高安全性;Zhou ZL,2018(Zhou Z L,Mu Y,Q.M.JonathanW.Coverless image steganography using partial-duplicate image retrieval[J].Soft Computing,2018,(2):1-12.)通过检索数据库中与密图小块哈希值相等的图像作为含密载体对密图进行重构;Zou L,2019(Zou L,Sun J,Gao M,et al.A novel coverlessinformation hiding method based on the average pixel value of the sub-images[J].Multimedia Tools and Applications,2019,78(7):7965-7980.)通过建立中文字典和哈希序列的映射关系实现秘密信息的隐藏等。以上这些方法Zhang X,2018、Zhou Z L,2018、Zou L,2019都涉及大数据库构建,需要收集足够多的自然未修改样本,导致大数据库构建、存储和维护代价十分高昂,而与此同时,这些样本和传递的秘密信息缺乏相关性,导致这类方法的单载体嵌密容量极低,因此需要借助大量数据在信道中的密集传输来表达秘密信息,不仅容易产生行为异常,也带来数据库图像泄露的风险。为避免该问题,陆海,2018(陆海,邵利平.结合非直接传输和随机码本的无载体试题伪装[J].应用科学学报,2018,36(02):331-346.)不构建大数据库,以生成的试题为嵌密载体,利用选择题选项的排列顺序编号以及填空题答案的随机偏移量来间接表达秘密信息;为增强其认证能力,Lu H,2020(Lu H,Shao L.Full key dependent coverless test disguise method by interval-extension-based double authentications[J].Multimedia Tools and Applications,2020,79(6):13667-13691)采用基于区间扩展的双重认证方法,对提取的信息进行合法区间认证来提高认证精度。以上这类方法虽然避免了大数据库构建和搜索、且不涉及大量载体密集传输,但该方法以试题的形式进行嵌密,尽管可进一步扩展为各种类型的调查问卷,但其在实际的应用场景中非常有限。
与搜索式无载体信息隐藏利用自然未修改载体来传递秘密信息不同,纹理合成式无载体信息隐藏试图由真实的样例图像产生来产生与之相似的包含秘密类自然纹理图像来传递秘密信息。例如:Wu C K,2015(Wu C K,Wang M C.Steganography-Using-Reversible-Texture-Synthesis[J].IEEE Transactions on Image Processing,2015,24(1):130-139.)提出一种基于块拼接的纹理合成方法,将秘密信息和图像纹理小块的均方误差(MSE)等级相对应,从中选择合适的纹理小块来形成嵌密掩体;Qin Z C,2017(Qin ZC,Li M,Wu B.Robust Steganography via Patch-Based Texture Synthesis[C]//International Conference on Internet Multimedia Computing andService.Springer,Singapore,2017:429-439.)通过纹理小块中心区域的复杂度进行分类来表达秘密信息,将选择的纹理小块随机放置到掩体图像中并利用其他小块进行拼接来对秘密信息进行掩盖;魏伟一,2019(魏伟一,王瑜,阿成凤.一种基于LBP的纹理合成无载体信息隐藏方法[J].计算机工程与科学,2019,41(11):1961-1967.)根据纹理特性将纹理小块划分为多个类来表达不同的秘密信息,并放置其他小块进行拼接来对秘密信息进行掩盖。但这类方法生成的纹理图像都比较简单,缺乏实际的语义,不可避免的存在重复模式,同时固定的映射关系也降低了其安全性。
生成对抗式是通过生成对抗网络两者的博弈产生与自然图像相似的伪自然图像。例如:Duan X,2020(Duan X,Li B,Guo D,et al.A coverless steganography methodbased on generative adversarial network[J].Eurasip Journal on Image and VideoProcessing,2020,2020(6):475-486.),这类方法虽可以生成相对于纹理图像更具有实际意义的伪自然图像,但生成对抗网络本质上是生成网络和判别网络之间的极小极大博弈,使得生成网络生成的含密载体和真实载体无法被判别网络所区分,由于训练样本的有限性,这类方法只能证伪而无法证真,因此依然无法解决生成载体为自然载体的判别问题,从而不能从根本上杜绝隐写异常问题。
基于非自然载体的嵌密方法主要包括水影画嵌密和分形嵌密。其中水影画嵌密是通过人工生成复杂漂亮的纹理掩盖秘密信息。例如:Xu,J.,2015(Xu,J.,et al.,Hiddenmessage in adeformation-based texture[J].The Visual Computer,2015.31(12):1653-1669.)提出将秘密信息置于空白图像上并添加掩盖图案,最后通过marbling形变来产生水影画含密纹理。潘琳,2016(潘琳,钱振兴,张新鹏.基于构造纹理图像的数字隐写[J].应用科学学报,2016,34(05):625-632.)通过构建秘密信息与单元图映射表,将秘密信息编码为图形单元,并添加与之相关的背景元素和色彩,再进行marbling形变对所表达秘密信息的单元图进行掩盖。以上文献Xu,J.,2015、潘琳,2016虽然能产生漂亮的自然界不存在的纹理,但所生成的纹理图只是对包含秘密信息的图像进行简单变形操作,不能对秘密信息进行充分有效地掩盖。
相对于水影画无载体信息隐藏方法,基于分形的生成式隐藏方法可通过约定的密钥来产生复杂纹理的非自然载体,当密钥发生微小变化时,会导致生成的载体的复杂纹理发生很大变化,使得基于分形图的生成式信息隐藏可由少量的参数来生成复杂纹理的非自然图像作为嵌密生成载体。但现有的基于分形的无载体信息隐藏大多是以生成的分形图为载体的修改式嵌密,例如:陈军波,2008(陈军波,张华熊,赵儒.基于分形艺术图形的密写术[J].计算机工程与设计,2008,12(29):3148-3150.)、柏森,2018(柏森,周龙福,阳溢,等.以分形图像为载体的信息隐藏算法[J].计算机应用,2018,38(8):2306-2310.)、Sen Bai,2020(Sen Bai,Longfu Zhou,Mingzhu Yan,et al.Image Cryptosystem for VisuallyMeaningful Encryption Based on Fractal Graph Generating[J].IETE TECHNICALREVIEW,2020,17:130-141.)、Asha Durafe,2020(Asha Durafe,VinodPatidar.Development and analysis of IWT-SVD and DWT-SVD steganography usingfractal cover[J].Journal of King Saud University Computer and InformationSciences,2020,10:1-16.)等,因此依然不可避免地会留下修改痕迹,从而难以抵抗隐写分析算法的检测;尽管存在一些方法试图通过修改分形图像的生成规则来隐藏秘密信息,例如,Xiang Zhang,2020(Xiang Zhang,Fei Peng,Zixing Lin,et al..A Coverless ImageInformation Hiding Algorithm Based on Fractal Theory[J].International Journalof Bifurcation and Chaos,2020,30(4):2050062-1-2050062-20.)等,但简单地修改分形图的生成规则无法保证生成载体的整体与局部的自相似性,从而容易产生异常,导致嵌密载体无法抵抗密写分析的检测。另外这类方法生成的分形图像同水影画图像一样,缺乏实际语义,不能对秘密信息进行有效掩盖。
发明内容
本发明的目的在于克服现有技术缺陷,提供一种基于点集序列匹配的图像矢量化隐藏和恢复方法及系统,能够通过图像矢量化的方法来构造有意义矢量化图像,引入点集序列匹配来提高无载体信息隐藏策略的安全性以及对提取秘密信息的可靠性进行有效度量。
为达到上述目的,本发明采用以下技术方案予以实现:
一种基于点集序列匹配的图像矢量化隐藏方法,包括:
步骤1:对输入的自然掩体图像进行处理,获取半色调图像;
步骤2:划分全白矢量画布,获取若干个不重叠的矢量矩形块;
步骤3:对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致;
步骤4:将随机密钥序列中的元素作为随机数种子,产生相对应矢量矩形块表示0、表示1或表示不嵌密的点集子序列;
步骤5:判断矢量矩形块在全白矢量画布的映射位置是否属于第二密钥生成的坐标两两不重复的嵌密小块坐标序列,如果不属于,则矢量矩形块不嵌密,如果属于,则矢量矩形块嵌密,然后根据表示0、表示1或表示不嵌密,选择对应的点集子序列;
步骤6:在矢量矩形块上绘制随机线段逼近半色调图像中的像素;
步骤7:重复步骤4、步骤5和步骤6,直至所有的矢量矩形块处理完毕,将得到的矢量画布作为矢量图像输出。
本发明的进一步改进在于:
对输入的自然掩体图像进行处理,获取半色调图像,具体为:
将m0×n0大小的R阶掩体图像转换为P级半色调图像/>其中m0,n0,R,P均为正整数;
步骤1-1:将T中当前未处理像素ti,j映射为t′i,j,如公式(1)所示:
步骤1-2:通过公式(2)计算将ti,j映射为t′i,j的映射过程存在的误差Δi,j;
Δi,j=ti,j-t′i,j·QP-QP/2 (2)
步骤1-3:按公式(3)将Δi,j均分到ti,j周围8邻域内未按公式(1)处理的像素上,其中NC是8领域内未处理像素的个数;
tx,y=Range(tx,y+Δi,j/NC,0,2R-1) (3)
其中,tx,y指ti,j周围8邻域像素,函数Range()用于将输入的参数tx,y+Δi,j/NC约束在0到2R-1范围之内,若tx,y+Δi,j/NC<0时,则tx,y=0,若tx,y+Δi,j/NC≥2R-1时,则tx,y=2R-1;
步骤1-4:反复执行步骤1-1步至步骤1-3步,直至所有的ti,j都被映射为t′i,j,将得到的输出作为得到的P级半色调图像;
划分全白矢量画布,获取若干个不重叠的矢量矩形块,具体为:
初始化大小为m1×n1全白矢量画布画布的左上角顶点坐标为(0,0),右下角顶点坐标为(m1-1,n1-1),将M划分为L个不重叠bw×bw矢量矩形块,记第k个bw×bw的小块为Mk,则k=0,1,…,L-1,其中m1=m0·bw,n1=n0·bw,m0,n0为半色调掩体图像的大小,初始化λ=0;
划分的不重叠小块数量L按公式(4)进行确定;
L=m1·n1/bw2 (4)。
对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致,具体为:
由第一密钥k0生成长度为L的随机密钥序列H=(hk)L,第二密钥k1生成长度为l且坐标两两不重复的嵌密小块坐标序列Q=(qi=(xi,yi))l,其中xi∈{0,1,…,m0-1},yi∈{0,1,…,n0-1};
将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0、表示1或表示不嵌密的点集子序列,具体为:
对于选取密钥hk作为随机数种子,将bw×bw范围内的全部整数坐标置乱,用于产生长度为bw×bw的密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw,将P划分为第一点集子序列P0,第二点集子序列P1,第三点集子序列P2,其中P0用于表示二值比特0,P1用于表示二值比特1,P2表示不嵌密;
将P划分为第一点集子序列P0,第二点集子序列P1,第三点集子序列P2的具体方法如公式(5)所示;
其中,用于从P左起截取长度为/>的坐标序列,用于从P中索引为/>的位置截取长度为的坐标序列,remain(P,P0||P1)用于保留P中截取P0和P1以后剩余的坐标序列,其中||为序列连接运算符。
判断矢量矩形块在全白矢量画布的映射位置是否属于第二密钥生成的坐标两两不重复的嵌密小块坐标序列,如果不属于,则矢量矩形块不嵌密,如果属于,则矢量矩形块嵌密,然后根据表示0、表示1或表示不嵌密,选择对应的点集子序列,具体为:
将Mk在M上的坐标位置映射为(Uk,Vk),若(Uk,Vk)∈Q,则截取二值秘密比特序列S=(sλ)l第λ个二值比特sλ,更新λ=λ+1,若则表示此块不嵌密,然后从第一点集子序列P0,第二点集子序列P1,第三点集子序列P2中选取1个作为SXY;
将Mk在M上的坐标位置映射为(Uk,Vk)的具体方法是:记Mk在M上的左上角坐标为(Xk,Yk),将(Xk,Yk)按公式(6)映射为(Uk,Vk);
从第一点集子序列P0,第二点集子序列P1,第三点集子序列P2中选取1个作为SXY的具体方法如公式(7)所示;
在矢量矩形块上绘制随机线段逼近半色调图像中的像素,具体为:
在大小为bw×bw的矢量矩形块U上绘制随机线段来逼近半色调图像T′中的像素t′Uk,Vk,然后将U放置在M上左上角顶点(Xk,Yk)且大小为bw×bw的矢量矩形块上作为新的Mk;
在大小为bw×bw的矢量矩形块U上绘制随机线段来逼近半色调图像T′中的像素t′Uk,Vk的具体方法如公式(8)所示,其中(XStart,YStart)按由公式(9)确定,(Xend,Yend)由公式(10)确定;
公式(8)中函数DLine()用于产生大小为bw×bw矢量矩形块U,并在U上以(XStart,YStart)为起点,依次画线连接SXY上的随机坐标点,最后以(Xend,Yend)为终点,通过画线的方法来使得所生成bw×bw小块Mk的灰度均值同所代表的灰度相接近;
DLine()的具体功能包括以下步骤:
步骤2-1:初始化大小为bw×bw的R阶全白矢量矩形块U=[]bw×bw,初始化τ=0;
步骤2-2:取SXY上的第τ个随机坐标作为(Xnext,Ynext),以(XStart,YStart)为起点,(Xnext,Ynext)为终点绘制黑色直线Line(XStart,YStart,Xnext,Ynext);
步骤2-3:将U=[]bw×bw转换为对应的二值矩阵小块U′=(u′i,j)bw×bw,按公式(11)计算差异Δk,将(Xnext,Ynext)赋值为(XStart,YStart),即(XStrat,YStart)=(Xnext,Ynext),更新τ=τ+1;
步骤2-4:反复执行步骤2-2步至步骤2-3步直至|Δk|≤th,其中th是事先给定的阈值且th>0;
步骤2-5:以(XStart,YStart)为起点,以(Xend,Yend)为终点绘制黑色直线Line(XStart,YStart,Xend,Yend),输出U。
一种基于点集序列匹配的图像矢量化隐藏系统,包括:
图像处理模块,所述图像处理模块用于对输入的自然掩体图像进行处理,获取半色调图像;
矢量画布划分模块,所述矢量画布划分模块用于划分全白矢量画布,获取若干个不重叠的矢量矩形块;
密钥序列获取模块,所述密钥序列获取模块对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列;
密钥序列调整模块,所述密钥序列调整模块用于将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0、表示1或表示不嵌密的点集子序列;
判断模块,所述判断模块用于判断矢量矩形块在全白矢量画布的映射位置是否属于第二密钥生成的坐标两两不重复的嵌密小块坐标序列,如果不属于,则矢量矩形块不嵌密,如果属于,则矢量矩形块嵌密,然后根据表示0、表示1和表示不嵌密选择对应的点集子序列;
随机线段绘制模块,所述随机线段绘制模块用于在矢量矩形块上绘制随机线段逼近半色调图像中的像素;
输出模块,所述输出模块用于处理所有的矢量矩形块,将得到的矢量画布作为矢量图像输出。
一种基于点集序列匹配的图像矢量化恢复方法,包括:
步骤1:对含有秘密信息的矢量图像进行划分,获取若干个不重叠的矢量矩阵小块;
步骤2:对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致;
步骤3:将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0和表示1的第一点集子序列和第二点集子序列;
步骤4:对矢量矩形小块进行处理,获取绘制直线线段的端点坐标构造实际提取到的点集序列,基于第一点集子序列和第二点集子序列获取第一点集匹配子序列和第二点集匹配子序列,分别计算实际提取到的点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量;
步骤5:基于点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量,获取点集序列与第一点集匹配子序列和第二点集匹配子序列的相似度,提取潜在的秘密比特,计算秘密比特的可靠性;
步骤6:重复步骤3、步骤4和步骤5,直至处理完所有的嵌密小块坐标,获取秘密比特序列和可靠值序列。
对含有秘密信息的矢量图像进行划分,获取若干个不重叠的矢量矩阵小块,具体为:
计算块划分参数bw,将含密矢量图像M′划分为L个不重叠bw×bw矢量矩形小块,记第k个bw×bw的矢量矩形小块为M′k=[]bw×bw,其中k=0,1,…,L-1;
块划分参数bw按公式(12)进行计算;
bw=[sqrt(m1·n1)/(m0·n0))] (12)
其中,[]为四舍五入取整运算符,sqrt()是平方根运算,m1,n1为生成矢量图像的大小,m0,n0为半色调掩体图像的大小;
所述划分的小块数量L通过公式L=m1·n1/bw2进行确定;
所述对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致,具体为:
由第一密钥k0生成长度为L的随机密钥序列H=(hk)L,第二密钥k1生成长度为l两两不重叠的嵌密小块坐标序列Q=(qi=(xi,yi))l且满足的约束是:xi∈{0,1,…,m0-1},yi∈{0,1,…,n0-1};
将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0和表示1的第一点集子序列和第二点集子序列,具体为:
对于计算(xi,yi)对应的矢量矩形小块下标索引k,从随机密钥序列H=(hk)L取到密钥hk,以hk为随机数种子产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw,从P中获取第一点集子序列P0和第二点集子序列P1,其中P0用于表示二值比特0,P1用于表示二值比特1;
计算(xi,yi)对应的矢量矩形小块下标索引k的方法如公式(13)所示
k=yi·m0+xi-1 (13)
以hk为随机数种子产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw的具体方法是:以hk为随机数种子,将bw×bw范围内的整数坐标置乱,用于产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw;
所述从P中获取第一点集子序列P0和第二点集子序列P1的具体方法如公式(14)所示:
其中,用于从P左起截取长度为/>的坐标序列,用于从P中索引为/>的位置截取长度为的坐标序列。
对矢量矩形小块进行处理,获取绘制直线线段的端点坐标构造实际提取到的点集序列,分别计算实际提取到的点集序列与第一点集子序列和第二点集子序列相匹配的坐标数量,获取第一点集匹配子序列和第二点集匹配子序列,具体为:
从矢量矩形小块M′k=[]bw×bw提取所绘制直线线段端点坐标,将其作为实际提取到的点集序列P′,记P′中坐标数量为c,即c=|P′|,记第一点集子序列P0和第二点集子序列P1的前c个坐标点集序列分别为第一点集匹配子序列P′0和第二点集匹配子序列P′1,分别计算实际提取到的点集序列与第一点集匹配子序列P′0和第二点集匹配子序列P′1相匹配的坐标数量;
其中,实际提取到的点集序列P′与第一点集匹配子序列P′0中相匹配的坐标数量为N0,实际提取到的点集序列P′与第二点集匹配子序列P′1中相匹配的坐标数量为N1;
计算P′,P′0中相匹配的坐标数量N0,计算P′,P′1中相匹配的坐标数量N1的具体方法如公式(15)所示:
基于点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量,获取点集序列与第一点集匹配子序列和第二点集匹配子序列的相似度,提取潜在的秘密比特,计算秘密比特的可靠性,具体为:
计算P′0,P′1与P′的相似度sim(P′,P′0),sim(P′,P′1),提取潜在的秘密比特sk,计算sk的可靠性βk;
计算P′0,P′1与P′的相似度sim(P′,P′0),sim(P′,P′1)的具体方法如公式(16)所示:
提取潜在的秘密比特sk的具体方法如公式(17)所示:
其中,random(0,1)表示随机选取0或1;
计算sk的可靠性βk的具体方法如公式(18)所示:
一种基于点集序列匹配的图像矢量化恢复系统,包括:
矢量图像划分模块,所述矢量图像划分模块用于对含有秘密信息的矢量图像进行划分,获取若干个不重叠的矢量矩阵小块;
初始化模块,所述初始化模块用于对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致;
第一处理模块,所述第一处理模块将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0和表示1的第一点集子序列和第二点集子序列;
第二处理模块,所述第二处理模块对矢量矩形小块进行处理,获取绘制直线线段的端点坐标构造实际提取到的点集序列,基于第一点集子序列和第二点集子序列获取第一点集匹配子序列和第二点集匹配子序列,分别计算实际提取到的点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量;
第三处理模块,所述第三处理模块基于点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量,获取点集序列与第一点集匹配子序列和第二点集匹配子序列的相似度,提取潜在的秘密比特,计算秘密比特的可靠性;
获取模块,所述获取模块对所有的嵌密小块坐标进行处理,获取秘密比特序列和可靠值序列。
与现有技术相比,本发明具有以下有益效果:
本发明通过对自然掩体图像进行矢量化处理,根据是否隐藏二值秘密信息以及二值秘密信息对应的二值比特,选取不同的点集子序列,绘制随机线条来逼近外在的掩体,直至所有的矢量矩形块处理完毕,得到的矢量画布作为矢量图像输出。
本发明通过随机坐标序列来决定秘密信息的隐藏位置,基于第一密钥生成随机密钥序列和第二密钥生成的坐标两两不重复的嵌密小块坐标序列,生成密钥生成点集序列,基于随机划分的点集来生成含密掩体,能够有效的提高隐藏图像的抗攻击性和安全性。
本发明无需构建大数据库且不涉及大量载体密集传输,不涉及修改式嵌入,可根据密钥容易地提取出秘密信息,具有较强地抗攻击鲁棒性,可容忍高强度的噪声攻击,且对于随机剪切攻击也具有较强的抗攻击容忍能力。同时,本发明对含有秘密信息的矢量图像进行处理,同时引入基于点集匹配的可靠性度量策略,计算含密编码小块与样本小块之间的相似度,结果越接近于1表示含密编码小块与样本小块越相似,得到秘密信息,认证时计算相似度之差与相似度之和的比值,结果越接近于1表示所得到的秘密信息越可靠,得到提取的秘密信息的可靠值序列,可根据密钥容易地提取出秘密信息及其可靠值序列,具有较高的认证精度。
本发明通过给定点集匹配拉开不同编码信息的编码距离并对同时位于多个点集匹配的相似度进行抑制,使得秘密信息提取的可靠性度量变得更为准确;同时,通过自然图像的矢量化,使得传统针对自然图像的密写分析策略完全无效,同时基于点集匹配的掩体视觉质量最优逼近策略,使得秘密信息的编码特征完全被隐藏,从而可从源头上对抗密写分析的检测。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明实施例的基于点集序列匹配的图像矢量化隐藏方法的流程图;
图2为本发明实施例的基于点集序列匹配的图像矢量化恢复方法的流程图;
图3为本发明实施例的掩体图像1,为128×128分辨率的8阶灰度图像cameraman;
图4为本发明实施例的掩体图像2,为128×128分辨率的8阶灰度图像house;
图5为本发明实施例的掩体图像3,为128×128分辨率的8阶灰度图像dollar;
图6为本发明实施例的掩体图像4,为128×128分辨率的8阶灰度图像lena;
图7为本发明实施例的密图,为128×36分辨率的二值图像secret;
图8为本发明实施例的嵌入图7后的掩体:矢量图像1;
图9为本发明实施例的嵌入图7后的掩体:矢量图像2;
图10为本发明实施例的嵌入图7后的掩体:矢量图像3;
图11为本发明实施例的嵌入图7后的掩体:矢量图像4;
图12为本发明实施例图8的局部细节图;
图13为本发明实施例图9的局部细节图;
图14为本发明实施例图10的局部细节图;
图15为本发明实施例图11的局部细节图;
图16为本发明实施例的由图8恢复出的密图,相对于图7的误码率EBR=0;
图17为本发明实施例的由图9恢复出的密图,相对于图7的误码率EBR=0;
图18为本发明实施例的由图10恢复出的密图,相对于图7的误码率EBR=0;
图19为本发明实施例的由图11恢复出的密图,相对于图7的误码率EBR=0;
图20为本发明实施例的对图11进行随机剪切攻击后的图,攻击占比为1.7%;
图21为本发明实施例的对图11进行随机剪切攻击后的图,攻击占比为2.6%;
图22为本发明实施例的对图11进行随机剪切攻击后的图,攻击占比为20%;
图23为本发明实施例的对图11进行随机剪切攻击后的图,攻击占比为30%;
图24为本发明实施例的从图20恢复出的密图,相对于图7的误码率EBR=0.48%;
图25为本发明实施例的从图21恢复出的密图,相对于图7的误码率EBR=0.64%;
图26为本发明实施例的从图22恢复出的密图,相对于图7的误码率EBR=9.33%;
图27为本发明实施例的从图23恢复出的密图,相对于图7的误码率EBR=13.04%;
图28为本发明实施例的对图11进行椒盐噪声攻击后的图,噪声强度为10%;
图29为本发明实施例的对图11进行椒盐噪声攻击后的图,噪声强度为20%;
图30为本发明实施例的从图28恢复出的密图,相对于图7的误码率EBR=0.065%;
图31为本发明实施例的从图29恢复出的密图,相对于图7的误码率EBR=0.39%;
图32为本发明实施例的基于点集序列匹配的图像矢量化隐藏系统的结构图;
图33为本发明实施例的基于点集序列匹配的图像矢量化恢复系统的结构图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明的实施例公开了一种基于点集序列匹配的图像矢量化隐藏方法,包括:
S101,对输入的自然掩体图像进行处理,获取半色调图像。
将m0×n0大小的R阶掩体图像转换为P级半色调图像/>其中m0,n0,R,P均为正整数;
步骤1-1:将T中当前未处理像素ti,j映射为t′i,j,如公式(1)所示:
例如:若R=8,P=4,按公式(1)可知:[0,Q4]=[0,64],(Q4,2·Q4]=(64,128],(2·Q4,3·Q4]=(128,192],(3·Q4,2R-1]=(192,255],若取m0=2,n0=2,则可输入2×2分辨率的8阶掩体图像/>其中t0,0=23,t0,1=136,t1,0=255,t1,1=20,并且所有的像素ti,j∈[0,2R-1=255],由于t0,0=23∈[0,Q4],按公式(1)可得:t′0,0=0。
步骤1-2:通过公式(2)计算将ti,j映射为t′i,j的映射过程存在的误差Δi,j;
Δi,j=ti,j-t′i,j·QP-QP/2 (2)
例如:若取P=4,则Q4=64,取t0,0=23,t′0,0=0,则代入公式(2)可得到:Δ0,0=23-0·64-32=-9。
步骤1-3:按公式(3)将Δi,j均分到ti,j周围8邻域内未按公式(1)处理的像素上,其中 NC是8领域内未处理像素的个数;
tx,y=Range(tx,y+Δi,j/NC,0,2R-1) (3)
其中,tx,y指ti,j周围8邻域像素,函数Range()用于将输入的参数tx,y+Δi,j/NC约束在0到2R-1范围之内,若tx,y+Δi,j/NC<0时,则tx,y=0,若tx,y+Δi,j/NC≥2R-1时,则tx,y=2R-1;
例如:当t0,0=23时,以像素t0,0为中心像素的8邻域未处理像素在上仅有t0,1=136,t1,0=255,t1,1=20,因此NC=3,则按式(3)有:t0,1=Range(136-9/3,0,255)=133,t1,0=Range(255-9/3,0,255)=252,t1,1=Range(20-9/3,0,255)=17。
步骤1-4:反复执行步骤1-1步至步骤1-3步,直至所有的ti,j都被映射为t′i,j,将得到的输出作为得到的P级半色调图像;
例如:以为例,当t0,0处理完后可得到t′0,0=0,还需转步骤1-1步至步骤1-3步依次处理t0,1,t1,0,t1,1,若t0,0,t0,1,t1,0,t1,1都处理完毕,则可得到t′0,0=0,t′0,1=2,t′1,0=3,t′1,1=0∈{0,1,2,3},从而可得到/>
S102,划分全白矢量画布,获取若干个不重叠的矢量矩形块。
初始化大小为m1×n1全白矢量画布M=[]m1×n1,画布的左上角顶点坐标为(0,0),右下角顶点坐标为(m1-1,n1-1),将M划分为L个不重叠bw×bw矢量矩形块,记第k个bw×bw的小块为Mk,则k=0,1,…,L-1,其中m1=m0·bw,n1=n0·bw,m0,n0为半色调掩体图像的大小,初始化λ=0;
划分的不重叠小块数量L按公式(4)进行确定;
L=m1·n1/bw2 (4)
例如:若取m1=n1=9,则可初始化大小为9×9的全白矢量画布M=[]9×9,画布的左上角顶点坐标为(0,0),右下角顶点坐标为(8,8),若取bw=3,则按公式(4)有:L=9·9/32=9,将M划分为9个不重叠3×3矢量矩形块,其中m0=9/3=3,n0=9/3=3。
S103,对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致。
由第一密钥k0生成长度为L的随机密钥序列H=(hk)L,第二密钥k1生成长度为l且坐标两两不重复的嵌密小块坐标序列Q=(qi=(xi,yi))l,其中xi∈{0,1,…,m0-1},yi∈{0,1,…,n0-1};
例如:取L=9,k0=1时,可由第一密钥k0生成长度为9的随机密钥序列H=(hk)9,例如:H=(256,876,486,214,954,572,162,375,732),取l=6,k1=2时,则可由第二密钥k1生成长度为6且坐标两两不重复的嵌密小块坐标序列,假定随机生成的坐标序列如:Q=((0,0),(1,0),(2,2),(1,2),(0,2),(2,1))。
S104,将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0、表示1或表示不嵌密的点集子序列。
对于选取密钥hk作为随机数种子,将bw×bw范围内的全部整数坐标置乱,用于产生长度为bw×bw的密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw,将P划分为第一点集子序列P0,第二点集子序列P1,第三点集子序列P2,其中P0用于嵌入二值比特0,P1用于嵌入二值比特1,P2表示不嵌密;
将P划分为第一点集子序列P0,第二点集子序列P1,第三点集子序列P2的具体方法是按公式(5)所示;
其中,用于从P左起截取长度为/>的坐标序列,用于从P中索引为/>的位置截取长度为的坐标序列,remain(P,P0||P1)用于保留P中截取P0和P1以后剩余的坐标序列,其中||为序列连接运算符。
例如:取H=(256,876,486,214,954,572,162,375,732),k=6,则hk=162作为随机数种子,取bw=3,则可将bw×bw=3×3范围内的全部整数坐标(0,0),(0,1),(0,2),(1,0),(1,1),(1,2),(2,0),(2,1),(2,2)置乱,例如产生长度为3×3的密钥生成点集序列P=((0,1),(0,0),(1,0),(2,2),(1,1),(2,0),(1,2),(0,2),(2,1)),P0对应的是从P左起截取长度为的坐标序列,包含的坐标为(0,1),(0,0),(1,0),P1对应的是从的位置截取长度为/>的坐标序列,包含的坐标为(2,2),(1,1),(2,0),P2对应的是P中剩余坐标序列,包含的坐标为(1,2),(0,2),(2,1)。
S105,判断矢量矩形块在全白矢量画布的映射位置是否属于第二密钥生成的坐标两两不重复的嵌密小块坐标序列,如果不属于,则矢量矩形块不嵌密,如果属于,则矢量矩形块嵌密,然后根据表示0、表示1或表示不嵌密,选择对应的点集子序列。
将Mk在M上的坐标位置映射为(Uk,Vk),若(Uk,Vk)∈Q,则截取二值秘密比特序列S=(sλ)l第λ个二值比特sλ,更新λ=λ+1,若则表示此块不嵌密,然后从第一点集子序列P0,第二点集子序列P1,第三点集子序列P2中选取1个作为SXY;
将Mk在M上的坐标位置映射为(Uk,Vk)的具体方法是:记Mk在M上的左上角坐标为(Xk,Yk),将(Xk,Yk)按公式(6)映射为(Uk,Vk);
从第一点集子序列P0,第二点集子序列P1,第三点集子序列P2中选取1个作为SXY的具体方法如公式(7)所示:
例如:假定二值秘密比特序列S=(sλ)6=(1,0,0,1,1,1),若取(Xk,Yk)=(3,6),Q=((0,0),(1,0),(2,2),(1,2),(0,2),(2,1))和bw=3,则按公式(6)将Mk在M上的坐标位置映射为(Uk,Vk)=(3/3,6/3)=(1,2),若此时λ=1,由于(Uk,Vk)=(1,2)∈Q=((0,0),(1,0),(2,2),(1,2),(0,2),(2,1)),则截取二值秘密比特序列S=(sλ)6第1个二值比特s1=0,更新λ=1+1=2,由于(Uk,Vk)∈Q,s1=0,则满足公式(7)的第一种情况,从坐标序列P0,P1,P2中选取P0作为SXY。
S106,在矢量矩形块上绘制随机线段逼近半色调图像中的像素。
在大小为bw×bw的矢量矩形块U上绘制随机线段来逼近半色调图像T′中的像素,然后将U放置在M上左上角顶点(Xk,Yk)且大小为bw×bw的矢量矩形块上作为新的Mk;
在大小为bw×bw的矢量矩形块U上绘制随机线段来逼近半色调图像T′中的像素的具体方法如公式(8)所示,其中(XStart,YStart)按由公式(9)确定,(Xend,Yend)由公式(10)确定;
公式(8)中函数DLine()用于产生大小为bw×bw矢量矩形块U,并在U上以(XStart,YStart)为起点,依次画线连接SXY上的随机坐标点,最后以(Xend,Yend)为终点,通过画线的方法来使得所生成bw×bw小块Mk的灰度均值同所代表的灰度相接近。
例如:假定(Xk,Yk)=(3,6),取bw=3,则将矢量矩形块U放置在M上左上角顶点(3,6)且大小为3×3的矢量矩形块上作为新的Mk,此时(Uk,Vk)=(3/3,6/3)=(1,2),则要逼近的半色调图像T′中的像素由于Vkmod 2=2mod 2=0,按式(9)确定(XStart,YStart)=(0,0),由于Uk=1≠3-1,按式(10)确定(Xend,Yend)=(2,0),因此可按式(8)U=DLine(0,0,SXY,2,0,t′1,2)在U上以(XStart,YStart)=(0,0)为起点,依次选取SXY上的随机坐标点,最后以(Xend,Yend)=(2,0)为终点来逼近半色调图像t′1,2。
其中公式(8)中的函数DLine()的具体操作步骤如下:
步骤2-1:初始化大小为bw×bw的R阶全白矢量矩形块U=[]bw×bw,初始化τ=0;
例如:假定R=8,则可初始化大小为3×3的8阶全白矢量矩形块U=[]bw×bw。
步骤2-2:取SXY上的第τ个随机坐标作为(Xnext,Ynext),以(XStart,YStart)为起点,(Xnext,Ynext)为终点绘制黑色直线Line(XStart,YStart,Xnext,Ynext)。
例如:例如若此时SXY=((0,1),(0,0),(1,0)),若τ=0,则取第0个随机坐标作为(Xnext,Ynext)=(0,1),然后绘制(XStart,YStart)到(Xnext,Ynext)的黑色直线。
步骤2-3:将U=[]bw×bw转换为对应的二值矩阵小块U′=(u′i,j)bw×bw,按公式(11)计算差异Δk,将(Xnext,Ynext)赋值为(XStart,YStart),即(XStrat,YStart)=(Xnext,Ynext),更新τ=τ+1;
例如:假设且τ=2时,U=[]3×3转换为对应的二值矩阵小块为/>则按公式(11)计算差异为/>然后将将(Xnext,Ynext)赋值为(XStart,YStart),即(XStart,YStart)=(Xnext,Ynext),更新τ=2+1=3。
步骤2-4:反复执行步骤2-2步至步骤2-3步直至|Δk|≤th,其中th是事先给定的阈值且th>0。
例如:假定th=10,若计算得到|Δk|=46.67,则反复执行步骤2-2至步骤2-3直至|Δk|≤10,若计算得到|Δk|=5,由于|Δk|≤10,则继续执行步骤2-5。
步骤2-5:以(XStart,YStart)为起点,以(Xend,Yend)为终点绘制黑色直线Line(XStart,YStart,Xend,Yend),输出U。
例如:假定(XStart,YStart)=(2,2),(Xend,Yend)=(2,0),则以(2,2)为起点,以(2,0)为终点绘制黑色直线Line(2,2,2,0),输出U。
S107,重复S104、S105和S106,直至所有的矢量矩形块处理完毕,将得到的矢量画布作为矢量图像输出。
对所有的矢量矩形块进行如S104、S105和S106的操作,将最终得到矢量画布作为矢量图像输出。
参见图2,本发明的实施例公开了一种点集序列匹配的图像矢量化恢复方法,包括:
S201,对含有秘密信息的矢量图像进行划分,获取若干个不重叠的矢量矩阵小块。
计算块划分参数bw,将含密矢量图像M′划分为L个不重叠bw×bw矢量矩形小块,记第k个bw×bw的矢量矩形小块为M′k=[]bw×bw,其中k=0,1,…,L-1;
所述块划分参数bw按公式(12)进行计算;
bw=[sqrt(m1·n1)/(m0·n0))] (12)
其中,[]为四舍五入取整运算符,sqrt()是平方根运算;m1,n1为生成矢量图像的大小,m0,n0为半色调掩体图像的大小;
划分的小块数量L通过公式L=m1·n1/bw2进行确定;
例如:若取m1=n1=9,m0=n0=3,则计算块划分参数bw=[sqrt(9·9)/(3·3))]=3,若取m1=n1=9,bw=3,l=6,则划分的小块数量L=9·9/32=9。
S202,对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致。
由第一密钥k0生成长度为L的随机密钥序列H=(hk)L,第二密钥k1生成长度为l两两不重叠的嵌密小块坐标序列Q=(qi=(xi,yi))l且满足的约束是:xi∈{0,1,…,m0-1},yi∈{0,1,…,n0-1};
例如:取第一密钥k0=1,则由第一密钥k0可生成长度为9的随机密钥序列,如:H=(256,876,486,214,954,572,162,375,732),取第二密钥k1=2,则由第二密钥k1可生成长度为6的两两不重叠的嵌密小块坐标序列,如:Q=((0,0),(1,0),(2,2),(1,2),(0,2),(2,1))。
S203,将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0和表示1的第一点集子序列和第二点集子序列。
对于计算(xi,yi)对应的矢量矩形小块下标索引k,从随机密钥序列H=(hk)L取到密钥hk,以hk为随机数种子产生长度为bw×bw的整数随机置乱坐标序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw,从P中获取第一点集子序列P0和第二点集子序列P1,其中P0用于嵌入二值比特0,P1用于嵌入二值比特1;
计算(xi,yi)对应的矢量矩形小块下标索引k的方法如公式(13)所示:
k=yi·m0+xi-1 (13)
以hk为随机数种子产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw的具体方法是:以hk为随机数种子,将bw×bw范围内的整数坐标置乱,用于产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw;
所述从P中获取第一点集子序列P0和第二点集子序列P1的具体方法如公式(14)所示:
/>
其中,用于从P左起截取长度为/>的坐标序列,用于从P中索引为/>的位置截取长度为的坐标序列。
例如:假定(xi,yi)=(2,1),则计算对应的矢量矩形小块下标索引k=2·3+1-1=6。若取H=(256,876,486,214,954,572,162,375,732),bw=3,则从随机密钥序列中取到密钥h6=162,以162为随机数种子,将3×3范围内的整数坐标置乱,产生长度为3×3的整数密钥生成点集序列,例如:P=((0,1),(0,0),(1,0),(2,2),(1,1),(2,0),(1,2),(0,2),(2,1)),从整数密钥生成点集序列P获取P0,P1,从P左起截取长度为的坐标序列得到P0=((0,1),(0,0),(1,0)),从P中索引为/>的位置截取长度为/>的坐标序列得到P1=((2,2),(1,1),(2,0))。
S204,对矢量矩形小块进行处理,获取绘制直线线段的端点坐标构造实际提取到的点集序列,基于第一点集子序列和第二点集子序列获取第一点集匹配子序列和第二点集匹配子序列,分别计算实际提取到的点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量。
从矢量矩形小块M′k=[]bw×bw提取所绘制直线线段端点坐标,将其作为实际提取到的点集序列P′,记P′中坐标数量为c,即c=|P′|,记第一点集子序列P0和第二点集子序列P1的前c个坐标点集序列分别为第一点集匹配子序列P′0和第二点集匹配子序列P′1,分别计算实际提取到的点集序列与第一点集匹配子序列P′0和第二点集匹配子序列P′1相匹配的坐标数量;
其中,实际提取到的点集序列P′与第一点集匹配子序列P′0中相匹配的坐标数量为N0,实际提取到的点集序列P′与第二点集匹配子序列P′1中相匹配的坐标数量为N1
计算P′,P′0中相匹配的坐标数量N0,计算P′,P′1中相匹配的坐标数量N1的具体方法如公式(15)所示:
例如:若从矢量矩形小块提取到的点集序列P′=((2,2),(1,1)),则P′中坐标数量为c=2,假定P0=((0,1),(0,0),(1,0)),P1=((2,2),(1,1),(2,0)),则第一点集子序列P0的前2个坐标点集序列为第一点集匹配子序列P′0=((0,1),(0,0)),第二点集子序列P1的前2个坐标点集序列为第二点集匹配子序列P′1=((2,2),(1,1)),计算P′,P′0中相匹配的坐标点的数量N0=Match(P′,P′0),由于P′=((2,2),(1,1)),P′0=((0,1),(0,0))没有匹配的坐标点,则N0=0,由于P′=((2,2),(1,1)),P′1=((2,2),(1,1))有2个相匹配的坐标点,则N1=2。
S205:基于点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量,获取点集序列与第一点集匹配子序列和第二点集匹配子序列的相似度,提取潜在的秘密比特,计算秘密比特的可靠性。
计算P′0,P′1与P′的相似度sim(P′,P′0),sim(P′,P′1),提取潜在的秘密比特sk,计算sk的可靠性βk;
计算P′0,P′1与P′的相似度sim(P′,P′0),sim(P′,P′1)的具体方法如公式(16)所示:
提取潜在的秘密比特sk的具体方法如公式(17)所示:
其中,random(0,1)表示随机选取0或1;
计算sk的可靠性βk的具体方法如公式(18)所示:
例如:假定k=6,N0=0,N1=2,c=2,则P′0与P′的相似度sim(P′,P′0)=0/2=0,P′1与P′的相似度sim(P′,P′1)=2/2=1,由于sim(P′,P′0)<sim(P′,P′1),则提取的潜在秘密比特s6=1,s6的可靠性
S206:重复S203、S204和S205,直至处理完所有的嵌密小块坐标,获取秘密比特序列和可靠值序列。
例如:重复执行S203、S204和S205,直至Q=((0,0),(1,0),(2,2),(1,2),(0,2),(2,1))中坐标全部处理完毕,可得到二值秘密比特序列S=(1,0,0,1,1,1)和可靠值序列β=(1,1,1,1,1,1)。
图3~图6为本发明实施例对应的掩体图像1~掩体图像4,分别为128×128分辨率的8阶灰度图像cameraman、128×128分辨率的8阶灰度图像house、128×128分辨率的8阶灰度图像dollar和128×128分辨率的8阶灰度图像lena;图7为本发明实施例对应的密图,为128×36分辨率的二值图像secret,该二值图像可通过光栅扫描的方法转换为二值比特序列。
图8~图11为本发明实施例的嵌入图7后的掩体:矢量图像1~矢量图像4,图12~图15是与之对应的图8~图11的局部细节图。
图16~图19为本发明实施例:由图8~图11恢复出的密图,相对于图7的误码率均为EBR=0;图20~图23为本发明实施例的对图11进行随机剪切攻击后的图,攻击占比分别为1.7%、2.6%、20%、30%;图24~图27为本发明实施例的从图20~图23恢复出的密图,相对于图7的误码率分别为EBR=0.48%、EBR=0.64%、EBR=9.33%和EBR=13.04%。
图28~图29为本发明实施例的对图11进行椒盐噪声攻击后的图,噪声强度分别为10%和20%;图30~图31为本发明实施例从图28~图29恢复出的密图,相对于图7的误码率分别为EBR=0.065%和EBR=0.39%。
参见图3至31,表明本发明基于点集匹配的自然图像矢量化隐藏及恢复方法,将自然图像矢量化,根据是否隐藏二值秘密信息,以及二值秘密信息对应的二值比特,选取不同的点集子序列,绘制随机线条来逼近外在的掩体,无论是否编码秘密信息以及编码何种信息,矢量化的外在掩体始终保持和所逼近的掩体视觉质量最为接近,而不因编码信息的存在与否以及编码信息的种类而对掩体视觉质量产生实质的影响;在提取阶段,计算含密编码小块与样本小块之间的相似度,得到提取的秘密信息的可靠值序列,可根据密钥容易的提取出秘密信息及其可靠值序列,具有较高的认证精度。通过给定点集匹配拉开不同编码信息的编码距离并对同时位于多个点集匹配的相似度进行抑制,使得秘密信息提取的可靠性度量变得更为准确。
具体的,本发明基于点集匹配的自然图像矢量化隐藏及恢复方法具有以下优点。
第一,信息嵌入率不会影响含密掩体图的视觉质量:将自然图像矢量化,根据是否隐藏二值秘密信息,以及二值秘密信息对应的二值比特,选取不同的点集子序列,绘制随机线条来逼近外在的掩体,无论是否编码秘密信息以及编码何种信息,矢量化的外在掩体始终保持和所逼近的掩体视觉质量最为接近,而不因编码信息的存在与否以及编码信息的种类而对掩体视觉质量产生实质的影响;
第二,传统针对自然图像的密写分析策略完全无效:通过自然图像的矢量化,使得传统针对自然图像的密写分析策略完全无效,同时基于点集匹配的掩体视觉质量最优逼近策略,使得秘密信息的编码特征完全被隐藏,从而可从源头上对抗密写分析的检测;
第三,引入基于点集匹配的可靠性度量策略,使提取更加准确:引入基于点集匹配的可靠性度量策略,计算含密编码小块与样本小块之间的相似度,结果越接近于1表示他们越相似,得到秘密信息,认证时计算相似度之差与相似度之和的比值,结果越接近于1表示所得到的秘密信息越可靠。通过给定点集匹配拉开不同编码信息的编码距离并对同时位于多个点集匹配的相似度进行抑制,使得秘密信息提取的可靠性度量变得更为准确;
第四,不涉及修改式嵌入,可生成有意义的图像,无需构建大数据库:本文方法可直接生成有意义的含密掩体图像,在嵌密阶段,通过随机坐标序列来决定秘密信息的隐藏位置,由密钥生成置乱参数,并且基于随机划分的点集来生成含密掩体,只有持有正确密钥的用户才能准确获得点集,进一步确定点集所代表的秘密信息,因此所提方法的嵌入和提取过程完全依赖于用户密钥,未知密钥将无法获取点集,并识别点集所对应的任何信息,无需构建大数据库且不涉及大量载体密集传输,对于随机剪切也具有较强的抗攻击容忍能力。
参见图32,本发明公布了一种基于点集序列匹配的图像矢量化隐藏系统,包括:
图像处理模块,所述图像处理模块用于对输入的自然掩体图像进行处理,获取半色调图像;
矢量画布划分模块,所述矢量画布划分模块用于划分全白矢量画布,获取若干个不重叠的矢量矩形块;
密钥序列获取模块,所述密钥序列获取模块对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列;
密钥序列调整模块,所述密钥序列调整模块用于将随机密钥序列中的元素作为随机数种子,产生相对应矢量矩形块表示0、表示1或表示不嵌密的点集子序列;
判断模块,所述判断模块用于判断矢量矩形块在全白矢量画布的映射位置是否属于第二密钥生成的坐标两两不重复的嵌密小块坐标序列,如果不属于,则矢量矩形块不嵌密,如果属于,则矢量矩形块嵌密,然后根据表示0、表示1或表示不嵌密,选择对应的点集子序列;
随机线段绘制模块,所述随机线段绘制模块用于在矢量矩形块上绘制随机线段逼近半色调图像中的像素;
输出模块,所述输出模块用于处理所有的矢量矩形块,将得到的矢量画布作为矢量图像输出。
参见图33,本发明公布了一种基于点集序列匹配的图像矢量化恢复系统,包括:
矢量图像划分模块,所述矢量图像划分模块用于对含有秘密信息的矢量图像进行划分,获取若干个不重叠的矢量矩阵小块;
初始化模块,所述初始化模块用于对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致;
第一处理模块,所述第一处理模块将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0和表示1的第一点集子序列和第二点集子序列;
第二处理模块,所述第二处理模块对矢量矩形小块进行处理,获取绘制直线线段的端点坐标构造实际提取到的点集序列,基于第一点集子序列和第二点集子序列获取第一点集匹配子序列和第二点集匹配子序列,分别计算实际提取到的点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量;
第三处理模块,所述第三处理模块基于点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量,获取点集序列与第一点集匹配子序列和第二点集匹配子序列的相似度,提取潜在的秘密比特,计算秘密比特的可靠性;
获取模块,所述获取模块对所有的嵌密小块坐标进行处理,获取秘密比特序列和可靠值序列。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种基于点集序列匹配的图像矢量化隐藏方法,其特征在于,包括:
步骤1:对输入的自然掩体图像进行处理,获取半色调图像;
步骤2:划分全白矢量画布,获取若干个不重叠的矢量矩形块,具体为:
初始化大小为m1×n1全白矢量画布画布的左上角顶点坐标为(0,0),右下角顶点坐标为(m1-1,n1-1),将M划分为L个不重叠bw×bw矢量矩形块,记第k个bw×bw的小块为Mk,则k=0,1,…,L-1,其中m1=m0·bw,n1=n0·bw,m0,n0为半色调掩体图像的大小,初始化λ=0;
划分的不重叠小块数量L按公式(1)进行确定;
L=m1·n1/bw2 (1)
步骤3:对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致,具体为:
由第一密钥k0生成长度为L的随机密钥序列H=(hk)L,第二密钥k1生成长度为l且坐标两两不重复的嵌密小块坐标序列Q=(qi=(xi,yi))l,其中xi∈{0,1,…,m0-1},yi∈{0,1,…,n0-1};
将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0、表示1或表示不嵌密的点集子序列,具体为:
对于选取密钥hk作为随机数种子,将bw×bw范围内的全部整数坐标置乱,用于产生长度为bw×bw的密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw,将P划分为第一点集子序列P0,第二点集子序列P1,第三点集子序列P2,其中P0用于表示二值比特0,P1用于表示二值比特1,P2表示不嵌密;
将P划分为第一点集子序列P0,第二点集子序列P1,第三点集子序列P2的具体方法如公式(2)所示;
其中,用于从P左起截取长度为/>的坐标序列,用于从P中索引为/>的位置截取长度为的坐标序列,remain(P,P0||P1)用于保留P中截取P0和P1以后剩余的坐标序列,其中||为序列连接运算符;
步骤4:将随机密钥序列中的元素作为随机数种子,产生相对应矢量矩形块表示0、表示1或表示不嵌密的点集子序列;
步骤5:判断矢量矩形块在全白矢量画布的映射位置是否属于第二密钥生成的坐标两两不重复的嵌密小块坐标序列,如果不属于,则矢量矩形块不嵌密,如果属于,则矢量矩形块嵌密,然后根据表示0、表示1或表示不嵌密,选择对应的点集子序列;
步骤6:在矢量矩形块上绘制随机线段逼近半色调图像中的像素;
步骤7:重复步骤4、步骤5和步骤6,直至所有的矢量矩形块处理完毕,将得到的矢量画布作为矢量图像输出。
2.根据权利要求1所述的基于点集序列匹配的图像矢量化隐藏方法,其特征在于,所述对输入的自然掩体图像进行处理,获取半色调图像,具体为:
将m0×n0大小的R阶掩体图像转换为P级半色调图像其中m0,n0,R,P均为正整数;
步骤1-1:将T中当前未处理像素ti,j映射为t′i,j,如公式(3)所示:
步骤1-2:通过公式(4)计算将ti,j映射为t′i,j的映射过程存在的误差Δi,j;
Δi,j=ti,j-t′i,j·QP-QP/2 (4)
步骤1-3:按公式(5)将Δi,j均分到ti,j周围8邻域内未按公式(1)处理的像素上,其中NC是8领域内未处理像素的个数;
tx,y=Range(tx,y+Δi,j/NC,0,2R-1) (5)
其中,tx,y指ti,j周围8邻域像素,函数Range()用于将输入的参数tx,y+Δi,j/NC约束在0到2R-1范围之内,若tx,y+Δi,j/NC<0时,则tx,y=0,若tx,y+Δi,j/NC≥2R-1时,则tx,y=2R-1;
步骤1-4:反复执行步骤1-1步至步骤1-3步,直至所有的ti,j都被映射为t′i,j,将得到的输出作为得到的P级半色调图像。
3.根据权利要求2所述的基于点集序列匹配的图像矢量化隐藏方法,其特征在于,所述判断矢量矩形块在全白矢量画布的映射位置是否属于第二密钥生成的坐标两两不重复的嵌密小块坐标序列,如果不属于,则矢量矩形块不嵌密,如果属于,则矢量矩形块嵌密,然后根据表示0、表示1或表示不嵌密,选择对应的点集子序列,具体为:
将Mk在M上的坐标位置映射为(Uk,Vk),若(Uk,Vk)∈Q,则截取二值秘密比特序列S=(sλ)l第λ个二值比特sλ,更新λ=λ+1,若则表示此块不嵌密,然后从第一点集子序列P0,第二点集子序列P1,第三点集子序列P2中选取1个作为SXY;
将Mk在M上的坐标位置映射为(Uk,Vk)的具体方法是:记Mk在M上的左上角坐标为(Xk,Yk),将(Xk,Yk)按公式(6)映射为(Uk,Vk);
从第一点集子序列P0,第二点集子序列P1,第三点集子序列P2中选取1个作为SXY的具体方法如公式(7)所示:
4.根据权利要求3所述的基于点集序列匹配的图像矢量化隐藏方法,其特征在于,所述在矢量矩形块上绘制随机线段逼近半色调图像中的像素,具体为:
在大小为bw×bw的矢量矩形块U上绘制随机线段来逼近半色调图像T′中的像素然后将U放置在M上左上角顶点(Xk,Yk)且大小为bw×bw的矢量矩形块上作为新的Mk;
在大小为bw×bw的矢量矩形块U上绘制随机线段来逼近半色调图像T′中的像素的具体方法如公式(8)所示,其中(XStart,YStart)按由公式(9)确定,(Xend,Yend)由公式(10)确定;
公式(8)中函数DLine()用于产生大小为bw×bw矢量矩形块U,并在U上以(XStart,YStart)为起点,依次画线连接SXY上的随机坐标点,最后以(Xend,Yend)为终点,通过画线的方法来使得所生成bw×bw小块Mk的灰度均值同所代表的灰度相接近;
DLine()的具体功能包括以下步骤:
步骤2-1:初始化大小为bw×bw的R阶全白矢量矩形块U=[]bw×bw,初始化τ=0;
步骤2-2:取SXY上的第τ个随机坐标作为(Xnext,Ynext),以(XStart,YStart)为起点,(Xnext,Ynext)为终点绘制黑色直线Line(XStart,YStart,Xnext,Ynext);
步骤2-3:将U=[]bw×bw转换为对应的二值矩阵小块U′=(u′i,j)bw×bw,按公式(11)计算差异Δk,将(Xnext,Ynext)赋值为(XStart,YStart),即(XStrat,YStart)=(Xnext,Ynext),更新τ=τ+1;
步骤2-4:反复执行步骤2-2步至步骤2-3步直至|Δk|≤th,其中th是事先给定的阈值且th>0;
步骤2-5:以(XStart,YStart)为起点,以(Xend,Yend)为终点绘制黑色直线Line(XStart,YStart,Xend,Yend),输出U。
5.一种基于点集序列匹配的图像矢量化隐藏系统,其特征在于,包括:
图像处理模块,所述图像处理模块用于对输入的自然掩体图像进行处理,获取半色调图像;
矢量画布划分模块,所述矢量画布划分模块用于划分全白矢量画布,获取若干个不重叠的矢量矩形块,具体为:
初始化大小为m1×n1全白矢量画布画布的左上角顶点坐标为(0,0),右下角顶点坐标为(m1-1,n1-1),将M划分为L个不重叠bw×bw矢量矩形块,记第k个bw×bw的小块为Mk,则k=0,1,…,L-1,其中m1=m0·bw,n1=n0·bw,m0,n0为半色调掩体图像的大小,初始化λ=0;
划分的不重叠小块数量L如下进行确定;
L=m1·n1/bw2
密钥序列获取模块,所述密钥序列获取模块对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,具体为:
由第一密钥k0生成长度为L的随机密钥序列H=(hk)L,第二密钥k1生成长度为l且坐标两两不重复的嵌密小块坐标序列Q=(qi=(xi,yi))l,其中xi∈{0,1,…,m0-1},yi∈{0,1,…,n0-1};
将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0、表示1或表示不嵌密的点集子序列,具体为:
对于选取密钥hk作为随机数种子,将bw×bw范围内的全部整数坐标置乱,用于产生长度为bw×bw的密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw,将P划分为第一点集子序列P0,第二点集子序列P1,第三点集子序列P2,其中P0用于表示二值比特0,P1用于表示二值比特1,P2表示不嵌密;
将P划分为第一点集子序列P0,第二点集子序列P1,第三点集子序列P2的具体方法如下所示;
其中,用于从P左起截取长度为/>的坐标序列,用于从P中索引为/>的位置截取长度为的坐标序列,remain(P,P0||P1)用于保留P中截取P0和P1以后剩余的坐标序列,其中||为序列连接运算符;
密钥序列调整模块,所述密钥序列调整模块用于将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0、表示1或表示不嵌密的点集子序列;
判断模块,所述判断模块用于判断矢量矩形块在全白矢量画布的映射位置是否属于第二密钥生成的坐标两两不重复的嵌密小块坐标序列,如果不属于,则矢量矩形块不嵌密,如果属于,则矢量矩形块嵌密,然后根据表示0、表示1和表示不嵌密选择对应的点集子序列;
随机线段绘制模块,所述随机线段绘制模块用于在矢量矩形块上绘制随机线段逼近半色调图像中的像素;
输出模块,所述输出模块用于处理所有的矢量矩形块,将得到的矢量画布作为矢量图像输出。
6.一种基于点集序列匹配的图像矢量化恢复方法,其特征在于,包括:
步骤1:对含有秘密信息的矢量图像进行划分,获取若干个不重叠的矢量矩阵小块,具体为:
计算块划分参数bw,将含密矢量图像M′划分为L个不重叠bw×bw矢量矩形小块,记第k个bw×bw的矢量矩形小块为M′k=[]bw×bw,其中k=0,1,…,L-1;
所述块划分参数bw按公式(12)进行计算;
bw=[sqrt(m1·n1)/(m0·n0))] (12)
其中,[]为四舍五入取整运算符,sqrt()是平方根运算,m1,n1为生成矢量图像的大小,m0,n0为半色调掩体图像的大小;
所述划分的小块数量L通过公式L=m1·n1/bw2进行确定;
步骤2:对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致,具体为:
由第一密钥k0生成长度为L的随机密钥序列H=(hk)L,第二密钥k1生成长度为l两两不重叠的嵌密小块坐标序列Q=(qi=(xi,yi))l且满足的约束是:xi∈{0,1,…,m0-1},yi∈{0,1,…,n0-1};
将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0和表示1的第一点集子序列和第二点集子序列,具体为:
对于计算(xi,yi)对应的矢量矩形小块下标索引k,从随机密钥序列H=(hk)L取到密钥hk,以hk为随机数种子产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw,从P中获取第一点集子序列P0和第二点集子序列P1,其中P0用于表示二值比特0,P1用于表示二值比特1;
所述计算(xi,yi)对应的矢量矩形小块下标索引k的方法如公式(13)所示:
k=yi·m0+xi-1 (13)
以hk为随机数种子产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw的具体方法是:以hk为随机数种子,将bw×bw范围内的整数坐标置乱,用于产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw;
所述从P中获取第一点集子序列P0和第二点集子序列P1的具体方法如公式(14)所示:
其中,用于从P左起截取长度为/>的坐标序列,用于从P中索引为/>的位置截取长度为的坐标序列;
步骤3:将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0和表示1的第一点集子序列和第二点集子序列;
步骤4:对矢量矩形小块进行处理,获取绘制直线线段的端点坐标构造实际提取到的点集序列,基于第一点集子序列和第二点集子序列获取第一点集匹配子序列和第二点集匹配子序列,分别计算实际提取到的点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量;
步骤5:基于点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量,获取点集序列与第一点集匹配子序列和第二点集匹配子序列的相似度,提取潜在的秘密比特,计算秘密比特的可靠性;
步骤6:重复步骤3、步骤4和步骤5,直至处理完所有的嵌密小块坐标,获取秘密比特序列和可靠值序列。
7.根据权利要求6所述的基于点集序列匹配的图像矢量化恢复方法,其特征在于,所述对矢量矩形小块进行处理,获取绘制直线线段的端点坐标构造实际提取到的点集序列,分别计算实际提取到的点集序列与第一点集子序列和第二点集子序列相匹配的坐标数量,获取第一点集匹配子序列和第二点集匹配子序列,具体为:
从矢量矩形小块M′k=[]bw×bw提取所绘制直线线段端点坐标,将其作为实际提取到的点集序列P′,记P′中坐标数量为c,即c=|P′|,记第一点集子序列P0和第二点集子序列P1的前c个坐标点集序列分别为第一点集匹配子序列P′0和第二点集匹配子序列P′1,分别计算实际提取到的点集序列与第一点集匹配子序列P′0和第二点集匹配子序列P′1相匹配的坐标数量;
其中,实际提取到的点集序列P′与第一点集匹配子序列P′0中相匹配的坐标数量为N0,实际提取到的点集序列P′与第二点集匹配子序列P′1中相匹配的坐标数量为N1;
计算P′,P′0中相匹配的坐标数量N0,计算P′,P′1中相匹配的坐标数量N1的具体方法如公式(15)所示:
所述基于点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量,获取点集序列与第一点集匹配子序列和第二点集匹配子序列的相似度,提取潜在的秘密比特,计算秘密比特的可靠性,具体为:
计算P′0,P′1与P′的相似度sim(P′,P′0),sim(P′,P′1),提取潜在的秘密比特sk,计算sk的可靠性βk;
计算P′0,P′1与P′的相似度sim(P′,P′0),sim(P′,P′1)的具体方法如公式(16)所示:
提取潜在的秘密比特sk的具体方法如公式(17)所示:
其中,random(0,1)表示随机选取0或1;
计算sk的可靠性βk的具体方法如公式(18)所示:
8.一种基于点集序列匹配的图像矢量化恢复系统,其特征在于,包括:
矢量图像划分模块,所述矢量图像划分模块用于对含有秘密信息的矢量图像进行划分,获取若干个不重叠的矢量矩阵小块,具体为:
计算块划分参数bw,将含密矢量图像M′划分为L个不重叠bw×bw矢量矩形小块,记第k个bw×bw的矢量矩形小块为M′k=[]bw×bw,其中k=0,1,…,L-1;
所述块划分参数bw如下进行计算;
bw=[sqrt(m1·n1)/(m0·n0))]
其中,[]为四舍五入取整运算符,sqrt()是平方根运算,m1,n1为生成矢量图像的大小,m0,n0为半色调掩体图像的大小;
所述划分的小块数量L通过公式L=m1·n1/bw2进行确定;
初始化模块,所述初始化模块用于对第一密钥和第二密钥进行处理,分别获得随机密钥序列和坐标两两不重复的嵌密小块坐标序列,其中随机密钥序列中的元素数量与所划分的不重叠的矢量矩形块的数量一致,具体为:
由第一密钥k0生成长度为L的随机密钥序列H=(hk)L,第二密钥k1生成长度为l两两不重叠的嵌密小块坐标序列Q=(qi=(xi,yi))l且满足的约束是:xi∈{0,1,…,m0-1},yi∈{0,1,…,n0-1};
将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0和表示1的第一点集子序列和第二点集子序列,具体为:
对于计算(xi,yi)对应的矢量矩形小块下标索引k,从随机密钥序列H=(hk)L取到密钥hk,以hk为随机数种子产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw,从P中获取第一点集子序列P0和第二点集子序列P1,其中P0用于表示二值比特0,P1用于表示二值比特1;
所述计算(xi,yi)对应的矢量矩形小块下标索引k的方法如下所示:
k=yi·m0+xi-1
以hk为随机数种子产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw的具体方法是:以hk为随机数种子,将bw×bw范围内的整数坐标置乱,用于产生长度为bw×bw的整数密钥生成点集序列P=((ui,vi))bw·bw,(ui,vi)∈bw×bw;
所述从P中获取第一点集子序列P0和第二点集子序列P1的具体方法如下所示:
其中,用于从P左起截取长度为/>的坐标序列,用于从P中索引为/>的位置截取长度为的坐标序列;
第一处理模块,所述第一处理模块将随机密钥序列中的元素作为随机数种子,产生相对应的矢量矩形块表示0和表示1的第一点集子序列和第二点集子序列;
第二处理模块,所述第二处理模块对矢量矩形小块进行处理,获取绘制直线线段的端点坐标构造实际提取到的点集序列,基于第一点集子序列和第二点集子序列获取第一点集匹配子序列和第二点集匹配子序列,分别计算实际提取到的点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量;
第三处理模块,所述第三处理模块基于点集序列与第一点集匹配子序列和第二点集匹配子序列相匹配的坐标数量,获取点集序列与第一点集匹配子序列和第二点集匹配子序列的相似度,提取潜在的秘密比特,计算秘密比特的可靠性;
获取模块,所述获取模块对所有的嵌密小块坐标进行处理,获取秘密比特序列和可靠值序列。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111357392.3A CN114117478B (zh) | 2021-11-16 | 2021-11-16 | 基于点集序列匹配的图像矢量化隐藏和恢复方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111357392.3A CN114117478B (zh) | 2021-11-16 | 2021-11-16 | 基于点集序列匹配的图像矢量化隐藏和恢复方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114117478A CN114117478A (zh) | 2022-03-01 |
CN114117478B true CN114117478B (zh) | 2024-02-27 |
Family
ID=80396726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111357392.3A Active CN114117478B (zh) | 2021-11-16 | 2021-11-16 | 基于点集序列匹配的图像矢量化隐藏和恢复方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114117478B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530368A (zh) * | 2016-10-28 | 2017-03-22 | 陕西师范大学 | 一种素数域多门限渐进秘密图像分存及重构方法 |
CN106683053A (zh) * | 2016-10-28 | 2017-05-17 | 陕西师范大学 | 一种gf(26)有限域多门限渐进秘密图像分存及重构方法 |
CN110430337A (zh) * | 2019-08-02 | 2019-11-08 | 陕西师范大学 | 图像伪装及图像恢复的方法、设备和存储介质 |
CN110475039A (zh) * | 2019-08-02 | 2019-11-19 | 陕西师范大学 | 线条艺术画隐藏和恢复的方法、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10354353B2 (en) * | 2016-07-13 | 2019-07-16 | Shenzhen University | Digital video content security authentication method and system |
-
2021
- 2021-11-16 CN CN202111357392.3A patent/CN114117478B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530368A (zh) * | 2016-10-28 | 2017-03-22 | 陕西师范大学 | 一种素数域多门限渐进秘密图像分存及重构方法 |
CN106683053A (zh) * | 2016-10-28 | 2017-05-17 | 陕西师范大学 | 一种gf(26)有限域多门限渐进秘密图像分存及重构方法 |
CN110430337A (zh) * | 2019-08-02 | 2019-11-08 | 陕西师范大学 | 图像伪装及图像恢复的方法、设备和存储介质 |
CN110475039A (zh) * | 2019-08-02 | 2019-11-19 | 陕西师范大学 | 线条艺术画隐藏和恢复的方法、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
结合块旋转和马赛克拼图的生成式伪装方法;王洋;邵利平;陆海;;中国图象图形学报;20200116(第01期);全文 * |
逐像素纹理合成的生成式信息隐藏;赵艺;邵利平;;光电子・激光;20200315(第03期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114117478A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ubhi et al. | Neural style transfer for image within images and conditional GANs for destylization | |
CN110430336B (zh) | 图像隐藏和恢复的方法、设备和存储介质 | |
Sun et al. | ICycleGAN: Single image dehazing based on iterative dehazing model and CycleGAN | |
CN113379601A (zh) | 基于降质变分自编码器的真实世界图像超分辨方法及系统 | |
CN112884758B (zh) | 一种基于风格迁移方法的缺陷绝缘子样本生成方法及系统 | |
CN112862922B (zh) | 一种基于多特征生成网络先验信息引导的图像填充方法 | |
CN115131188A (zh) | 一种基于生成对抗网络的鲁棒图像水印方法 | |
CN111292221A (zh) | 一种安全鲁棒的大容量图像隐写方法 | |
Hsieh et al. | Constructive image steganography using example-based weighted color transfer | |
CN114494387A (zh) | 一种生成数据集网络模型及雾图生成方法 | |
CN116757909B (zh) | Bim数据鲁棒水印方法、装置及介质 | |
CN110417551B (zh) | 一种结合误差扩散的字符画生成式伪装及恢复方法 | |
CN114117478B (zh) | 基于点集序列匹配的图像矢量化隐藏和恢复方法及系统 | |
CN114390154B (zh) | 基于信道匹配网络选择嵌入通道的鲁棒隐写方法及系统 | |
CN116630183A (zh) | 一种基于生成式对抗网络的文字图像修复方法 | |
CN113160028B (zh) | 基于彩色字符画的信息隐藏及恢复方法、设备及存储介质 | |
Zhang et al. | Pose-free neural radiance fields via implicit pose regularization | |
CN112184841B (zh) | 块替换生成式信息隐藏及恢复方法、设备及介质 | |
CN112614196B (zh) | 基于四元数卷积神经网络的图像鲁棒性哈希认证方法 | |
CN111275603B (zh) | 一种基于风格转换的安全图像隐写方法与电子装置 | |
Lee et al. | Design of CycleGAN model for SAR image colorization | |
Baode et al. | A method for removing complex visible watermarks of electronic map based on conditional generative adversarial nets | |
Ma et al. | Cloud-egan: Rethinking cyclegan from a feature enhancement perspective for cloud removal by combining cnn and transformer | |
Qiu et al. | Rich-information watermarking scheme for 3D models of oblique photography | |
Zhang et al. | GenFace: A Large-Scale Fine-Grained Face Forgery Benchmark and Cross Appearance-Edge Learning |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |