任帅 徐振超 王震 贺媛 张弢 苏东旭 慕德俊
摘 要:针对现有三维模型信息隐藏算法无法有效抵抗不均匀压缩的问题,提出一种基于多融合态的多载体低密度的信息隐藏算法。首先通过平移和缩放对多个三维模型进行定位、定向及定型;其次对三维模型进行不同角度的旋转,以中心点作为融合点进行融合,得到多个融合态;再次,利用局部高度和Mean Shift聚类分析算法对融合态模型的顶点进行能量划分,得到不同能量的顶点;最后,通过修改顶点坐标的方法将经过Arnold置乱变化的秘密信息快速隐藏于多个融合态和三维模型中。实验结果表明,该算法对抵御不均匀压缩的攻击有很好的鲁棒性且具有很高的不可见性。
关键词:信息隐藏;三维模型;融合态;局部高度理论;Mean Shift聚类分析
中图分类号:TP309.2;TP301.6
文献标志码:A
文章编号:1001-9081(2019)04-1100-06
Abstract: Aiming at the problem that the existing 3D model information hiding algorithms cannot effectively resist uneven compression, a multi-carrier low-density information hiding algorithm based on multiple fusion states was proposed. Firstly, multiple 3D models were positioned, oriented and stereotyped by translation and scaling. Secondly, the 3D models were rotated at different angles and merged by using the center point as merging point to obtain multiple fusion states. Thirdly, local height and Mean Shift clustering analysis were used to divide the energy of the vertices of the fusion state model, obtaining the vertices with different energies. Finally, by changing the vertex coordinates, the secret information changed by Arnold scrambling was quickly hidden in multiple fusion states and 3D models. Experimental results show that the proposed algorithm is robust against uneven compression attacks and has high invisibility.
Key words: information hiding; 3D model; fusion state; local height theory; Mean Shift clustering analysis
0 引言
三維模型的信息隐藏技术是当今信息隐藏安全领域中的一个研究热点。目前,基于三维模型的信息隐藏技术的研究主要是基于空间域和变换域的。文献[1]首先以协方差分析得到三维模型的初始特征点为核心,在它的K近邻域中构建不跨越区域最小三角形为嵌入单元的底面;其次将剩余顶点按照升序排序,寻找合适的嵌入顶点;最后通过改变顶点信息来嵌入水印。文献[2]通过计算模型的重心,利用顶点和重心连线与模型求交的方法计算出重心交点距离比,并通过修改三角形面片3个顶点对应的重心点距离比(Ratio of Barycenter and Crosspoint, RBC)来嵌入信息。文献[3]通过修改某些顶点的积分不变量来进行秘密信息的嵌入,在一定程度上能抵抗网格编辑和裁剪等攻击。文献[4]通过计算顶点的局部高度,利用Mean Shift聚类分析把模型的顶点分成了鲁棒点、亚鲁棒点、脆弱点三类,通过实现不同信息的嵌入提高了隐藏的鲁棒性。
文献[5]利用3D模型自身的结构,选择和提取几何特征来进行信息隐藏。文献[6]通过对特征点和非特征点构成的二维矩阵进行小波变换来嵌入信息。文献[7]提出了一种新的三维多边形网格自适应隐写算法,该算法具有自适应性、高效性等特点。由于三维模型在变换域进行信息隐藏的难度较大,三维模型信息隐藏算法大部分都是在三维网格的情况下进行秘密信息隐写,可提取的特征值不是很多,对抵御不均匀压缩的攻击鲁棒性也不是很好。
本文在上述研究成果的基础上,提出一种基于多融合态的多载体低密度信息隐藏算法。该算法通过对多个三维模型进行定位、定向及定型,以三维模型的中心为融合点,通过沿X轴、Y轴旋转不同角度来得到多个融合态;然后,利用局部高度和Mean Shift聚类分析算法对融合态模型的顶点进行能量划分得出鲁棒点、亚鲁棒点和脆弱点;最后,通过修改顶点坐标的值来完成信息隐藏。
1 本文的信息隐藏算法
本文的信息隐藏算法主要分为三个阶段:首先,对三维模型进行预处理,通过一定的方法构建多个融合态;其次利用局部高度和Mean Shift聚类分析算法对融合态模型的顶点进行能量划分,标记出融合态的鲁棒点、亚鲁棒点和脆弱点;最后,通过修改顶点坐标的方法对经过Arnold置乱变化的秘密信息进行快速信息隐藏。
1.1 以三维模型中心点融合的多融合态算法
融合态载体是对多个单载体进行有效标识和预处理,然后通过一定的方法组合在一起形成一个融合态载体。用多个载体进行信息隐藏,可以降低信息隐藏的密度,形成一种大容量、低密度的隐藏环境。图1表示的就是一个简单的融合态模型。
对三维模型预处理后,得到三维模型的中心点Cmid、方向向量u和中间顶点到中心的平均距离Lmid后,可以进行融合态的构建, 本文算法通过以三维模型的中心Cmid为汇聚点,对三维模型进行平移、旋转,得到三个不同的融合态S1、S2、S3。
融合态S1:把三维模型M′1,M′2,…,M′n依次以同方向向量u,中心坐标Cmid,平移到三维坐标原点O,得到融合态S1,结果如图3所示。
融合态S2:在计算其他融合态时,为了在旋转的过程中使每个三维模型露出来的定点数量基本均匀,本文算法采用90°除以三维模型个数n来计算旋转的角度α(即α=90°/n)。
把三维模型M′1平移到坐标的原点,三维模型M′2以中心点融合,使用式(2)计算出的方向特征向量u对三维模型沿着X轴正方向旋转α角度,三维模型M′3沿着X轴正方向旋转2α角度,依次进行旋转,三维模型M′n旋转(n-1)α角度,得到融合态S2,融合态S2如图4所示。
融合态S3:计算模型需要旋转的角度β(β=90°/n),三维模型M′1的中心移到原点O,使用式(2)计算出的方向特征向量u对三维模型M′2沿着Y轴正方向旋转β角度,模型M′3继续沿着Y轴正方向旋转2β,模型M′n沿Y轴正方向旋转(n-1)β,这样就得到了融合态S3,得到的融合态S3如图5所示。
本文算法利用多融合态理论,通过对多个三维模型进行缩放、平移、旋转得到多个融合态,该算法可以使用三维模型尽量多的点。在后期,通过对每个融合态进行秘密信息隐藏,对提取的秘密信息进行校验,提高信息隐藏的鲁棒性。
1.2 局部高度的顶点标注与筛选
局部高度是南京大学Lin等[9]提出的一种三维模型的显著性度量方式,可以计算三维模型的凸起程度。设三维模型的顶点v的R-邻居点集合为NR(v),缩写为NR,则顶点v的局部高度由式(5)计算得出:
计算出顶点的局部高度后,利用Mean Shift算法[10]这种非参数化的概率密度估计方法对载体表面的局部高度进行聚类分析,按照局部高度值的大小得出载体的特征,通过测量三维模型顶点的凸起程度(如图6),可以计算得到特征点(Feature Vertice, FV)、亚特征点(Sub-feature Vertice,SV)和背景点(Background Vertice, BV)这三类特征点,根据信息隐藏能量分析理论,FV、SV、BV这3类的能量依次降低,因此把其命名为鲁棒点、亚鲁棒点和脆弱点。
本文算法中对融合态S1、S2、S3的顶点进行能量信息标注,标记三维模型的亚鲁棒点为Vsen,此为信息隐藏的嵌入点。
1.3 修改顶点坐标的快速信息隐藏算法
本文的三维模型信息隐藏算法是通过对三维模型顶点坐标值的个位数字进行修改,来实现信息的隐藏。偶数代表二进制数字0,奇数代表二进制数字1,通过对数字进行加1的方式来对需要修改的点进行修改。例如:顶点V1、V2、V3、V4的X轴坐标个位表示的二進制信息为0011(如图7(a)所示),如果要存储0010的二进制信息,则对顶点的X坐标值修改为图7(b)的结果,结果存储的二进制信息为0010。
该算法是对三维的顶点坐标进行修改,因此该方法对秘密信息具有快速存储和读取的性能。图8表示的是在3dMax仿真平台中对一个茶壶顶点的坐标值进行修改。
1.4 信息隐藏的详细嵌入步骤
基于多融合态的多载体低密度信息隐藏算法分为以下8个步骤,本文算法流程如图9所示。
步骤4 利用式(3)计算出三维模型中心到顶点的平均距离(L1,L2,…,Ln),然后对距离进行排序,选取中间的平均距离Lmid为三维模型缩放的标准;用式(4)计算出缩放比例,对其他三维模型进行缩放处理。目的是为了保证三维模型在实现融合态时的大小能基本一致,同时抵抗均匀压缩。
步骤5 在3dMax2012平台中将缩放好的三维模型以中心点为汇聚点依次平移到坐标原点,得到融合态S1。利用1.2节中描述的局部高度计算公式和Mean Shift聚类分析算法,标记融合态S1的亚鲁棒点为Vsen-S1并获取其顶点坐标VS1,利用1.3节中的隐藏算法,通过修改顶点中Z轴坐标值的个位来实现隐藏,奇数代表1,偶数代表0,依次对顶点坐标对比和修改来嵌入比特序列Cre。
步骤6 把融合态S1的三维模型拆分开,在以中心点为汇聚点的基础上,使用方向特征向量u把三维模型依次沿着X轴正方向旋转α角度,得到融合态S2,标记三维模型的亚鲁棒点为Vsen-S2。获取融合态S2的顶点坐标VS2,通过修改顶点坐标X轴坐标值的个位数字来对秘密信息Cre进行嵌入。
步骤7 把融合态S2的三维模型拆分开,让三维模型依次沿着Y轴正方向旋转β角度,得到融合态S3,标记三维模型的亚鲁棒点为Vsen-S3。获取融合态S3的顶点坐标VS3,通过对顶点坐标Y轴坐标值的个位数字进行修改嵌入秘密信息Cre。
步骤8 把融合态S3分开后得到含有秘密信息的三维模型M*1,M*2,…,M*n。
1.5 信息提取步骤
秘密信息的提取是信息嵌入的逆过程,主要分为以下几个过程:第1步 按照信息隐藏嵌入步骤中的步骤1~5对含有秘密信息的三维模型M*1,M*2,…,M*n进行平移、旋转和缩放处理,使三维模型恢复到组合融合态之前的状态,然后恢复3个融合态,并从中提取秘密信息。
第2步 按照步骤8恢复融合态S3,对三维顶点的Y轴值进行提取,得到比特序列Cre3。
第3步 按照步骤7恢复融合态S2,对三维顶点的X轴值进行提取,得到比特序列Cre2。
第4步 按照步骤6恢复融合态S1,对三维顶点的Z轴值进行提取,得到比特序列Cre1。
第5步 对得到的Cre1、Cre2、Cre3三个比特序列进行对比、校验得出最终的比特序列Ce,即秘密信息。
2 实验与结果分析
对本文算法进行仿真实验,实验环境为Matlab2014,3dMax2012。
所选载体是由12个三维模型、隐藏图像为64×64的baboon二值图像和含有秘密信息的三维模型组成(如图10所示)。
2.1 不可见性
2.1.1 不可见性分析
已有基于三维模型的信息隐藏算法的信息嵌入为修改顶点到中心的距离,而本文的隐藏算法是利用多个三维模型进行融合得出一个新的三维模型,需要隐藏的信息被分配到多个三维模型上面,这样使得每个模型中都有隐藏的信息存在,提高了算法的不可见性。
2.1.2 不可见性实验
1)Hausdorff距离。
Hausdorff距离[11]是度量两个点集间的最大不匹配程度,距离越小,则表示匹配程度越高。
图11为算法基于Hausdorff距离的不可见性实验对比结果。
文献[12]算法是基于球型分割(Spherical Segmentation, SS)的算法,该算法首先对三维模型进行主元分析、球形分割等预处理,以立体分区中法向量变化较大的点为特征点,根据待嵌入秘密信息量对特征点进行小波变换,最后将秘密信息嵌入到载体中。文献[13]算法是通过处理非重叠的2×2像素块,利用修改方向技术将秘密数据嵌入到每个四像素块中,不仅可以动态修改像素值,还可以改变嵌入的数字,提高了秘密信息嵌入的鲁棒性。本文实验使用的三维模型共含有2341874个顶点,取各个顶点3个坐标值十进制的尾数进行信息隐藏,即可容纳性约为2341874×3=223bit。以文中选定的局部高度为聚类参数对顶点进行鲁棒性划分,所得到亚鲁棒点约为1159017个,即用于隐藏秘密信息的容量约为1159017×3=222bit。由图11可知,本文算法的Hausdorff距离在k>10时,除去k=20时的数据噪点,始终低于文献[12-13]算法,表明本文算法相比基于文献[12-13]算法,在嵌入量较大时,不可见性较好。
2)骨架相识度匹配。
骨架相似度En是另一种描述的是两个三维模型的骨架相似程度,En越大,表明三维模型越相似,算法中对模型的修改程度越小。图12为基于骨架相似度En的不可见性实验对比结果,从中可看出,在开始信息隐藏时,本文算法的骨架相似度匹配曲线位置除了部分坐标值相同,其他始终高于文献[12-13]算法,表明本文算法相比文献[12-13]算法,不可见性较好。
2.2 鲁棒性
2.2.1 鲁棒性分析
鲁棒性是衡量对三维模型经过处理后的改变程度,反映信息的修改程度。三维模型可以抵抗旋转、平移、等比例缩放等变换,在本文中使用多个三维模型以及融合态对需要隐藏的信息进行隐藏,增加了对隐藏信息的校验,使算法能抵抗一定程度的非均匀缩放、随机加噪攻击等攻击。
2.2.2 鲁棒性实验
本文采用式(7)正确信息的比特数比率(Bit Correct Ration, BCR)作为算法鲁棒性的客观评判标准:
BCR=正确的秘密信息比特数秘密信息总比特数(7)
本文实验中首先对含密的三维模型进行旋转、均匀缩放、随机加噪、不均匀压缩等仿真实验,然后对进行干扰处理的三维模型进行秘密信息提取,计算BCR。BCR越高,则算法的鲁棒性越强;否则算法的鲁棒性越弱。
表1给出模型在遭受不同程度的攻击之后,从模型中提取秘密信息并计算BCR的结果。
从表1可看出,模型对旋转、不均匀压缩、随机加噪等攻击有较强的鲁棒性。
根据鲁棒性检验算法,将本文算法与文献[13-14]算法进行比较,本文重点对非均匀缩放攻击和随机加噪攻击进行了对比,图13~14分别给出在非均匀压缩、随机加噪等攻击下与文献[13-14]算法的BCR对比。
由图13~14可看出本文算法魯棒性在非均匀压缩、随机加噪等攻击下的曲线的坐标值,即BCR数值均高于文献[13-14]算法,表明本文算法对非均匀压缩、随机加噪攻击具有很强的鲁棒性。
3 结语
本文基于融合态的思想对三维模型进行预处理和旋转操作得到多个融合态,再利用局部高度理论和Mean Shift聚类技术对融合态顶点进行能量划分,最后通过修改顶点的方法实现信息隐藏。由于本文算法使用的是多个三维模型,而且是对顶点的个位数值进行修改,所以能保证算法的不可见性和鲁棒性。通过实验对比可知,在相同攻击下,
本文算法比文献[13-14]算法具有更强的鲁棒性,尤其是抵抗非均匀压缩,达到了对信息隐藏的要求。
参考文献(References)
[1] 齐向明, 史双宇, 杨晓陶.基于特征点提取的三维点云模型水印算法[J]. 计算机应用, 2014, 34(5): 1309-1312, 1353. (QI X M, SHI S Y, YANG X T. Watermarking algorithm of 3D point cloud model based on feature point extraction[J]. Journal of Computer Applications, 2014, 34(5): 1309-1312, 1353.)
[2] 廖学良, 王瑀屏.一种新的三维模型水印嵌入空域算法[J]. 计算机学报, 2008, 31(10): 1848-1856. (LIAO X L, WANG Y P. A new 3D model watermark embedding spatial algorithm[J]. Chinese Journal of Computers, 2008, 31(10): 1848-1856.)
[3] WANG Y P, HU S M. A new watermarking method for 3D models based on integral invariants[J]. IEEE Transactions on Visualization & Computer Graphics, 2009, 15(2): 285.
[4] 任帥, 赵祥模, 张弢, 等.基于局部高度与Mean Shift的三维模型信息隐藏算法[J]. 计算机科学, 2017, 44(3): 187-191. (REN S, ZHAO X M, ZHANG T, et al. Information hiding algorithm for 3D model based on local height and Mean Shift[J]. Computer Science, 2017, 44(3): 187-191.)
[5] OHBUCHI R, MASUDA H, AONO M. Watermarking three-dimensional polygonal models[C]// Proceedings of the Fifth ACM International Conference on Multimedia. New York: ACM, 1997: 261-272.
[6] 张建明, 周小梅, 王新宇, 等.局部特征点的3维模型变换域水印算法[J]. 中国图象图形学报, 2014, 19(4): 613-621. (ZHANG J M, ZHOU X M, WANG X Y, et al. Three-dimensional model transform domain watermarking algorithm for local feature points[J]. Journal of Image and Graphics, 2014, 19(4): 613-621.)
[7] CHENG Y M, WANG C M. An adaptive steganographic algorithm for 3D polygonal meshes[J]. The Visual Computer, 2007, 23(9/10/11): 721-732.
[8] 翟浩, 杨有, 万辉.基于顶点排序的三维模型数字水印算法[J]. 重庆文理学院学报(社会科学版), 2014, 33(5): 128-133. (ZHAI H, YANG Y, WAN H. Digital watermarking algorithm based on vertex sorting for 3D models[J]. Journal of Chongqing University of Arts and Sciences (Social Sciences Edition), 2014, 33(5): 128-133.)
[9] 林金杰,朱代辉,杨育彬.3维模型局部高度研究[J].中国图象图形学报, 2011, 16(10): 1841-1849.(LIN J J, ZHU D H, YANG Y B. Three-dimensional model study on local height[J]. Journal of Image & Graphics, 2011, 16(10): 1841-1849.)
[10] COMANICIU D, MEER P. Mean shift analysis and applications[C]// Proceedings of the Seventh IEEE International Conference on Computer Vision. Piscataway, NJ: IEEE, 2002: 1197.
[11] YI X, CAMPS O I. Line-based recognition using a multidimensional hausdorff distance[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1999, 21(9): 901-916.
[12] 任帅, 张弢, 杨涛, 等.基于三维模型球型分割的信息隐藏算法[J]. 计算机应用, 2017, 37(9): 2576-2580. (REN S, ZHANG T, YANG T, et al. Information hiding algorithm based on three-dimensional model spherical segmentation[J]. Journal of Computer Applications, 2017, 37(9): 2576-2580.)
[13] LIAO X, DING L. Data hidng in digital image using four pixel-value-differencing and multiple-base notational[C]// Proceedings of the 2015 International Conference on Intelligent Information Hiding and Multimedia Signal Processing. Piscataway, NJ: IEEE, 2016: 76-80.
[14] 张弢, 慕德俊, 任帅, 等.利用内切球解析的三维模型信息隐藏算法[J]. 西安电子科技大学学报(自然科学版), 2014, 41(2): 185-190. (ZHANG T, MU D J, REN S, et al. Three-dimensional model information hiding algorithm using inner sphere parsing[J]. Journal of Xidian University, 2014, 41(2): 185-190.)