2. 长安大学 电子与控制工程学院, 西安 710064;
3. 西北工业大学 自动化学院, 西安 710072
2. School of Electronic and Control Engineering, Chang'an University, Xi'an Shaanxi 710064, China;
3. College of Automation, Northwestern Polytechnical University, Xi'an Shaanxi 710072, China
针对基于信息隐藏技术通信要求以及三维模型的广泛应用,以三维模型为载体的信息隐藏技术逐渐成为信息安全领域的研究重点之一。目前,基于三维模型的信息隐藏算法研究难点在于算法的鲁棒性。文献[1]将稳态锚点通过三角垂心进行编码解析作为聚类元素从而嵌入隐秘信息;文献[2]利用主元分析(Primary Component Analysis, PCA)确定模型关键位置,并用网格分割法解析数据。三角垂心和网格分割为三维表象数据,属于空间域的范畴,但轻量级的几何攻击即可较大规模地破坏以上空间域数据,造成信息隐藏的失败。文献[3]通过设计等高线空间分割和帧化采样,应用小波域隐马尔可夫模型实现了小波系数零树结构信息隐藏,但变换域方法的介入使得算法没有实现盲检测和提取[4],对旋转几何攻击依然鲁棒性较低;文献[5]在三维模型中利用局部高度数据的离散余弦变变换实现了信息隐藏的盲提取,但没有克服在变换域中处理三维载体带来的高复杂度缺陷[6],并且不能抵御旋转和重网格几何攻击。文献[7]和文献[8]分别利用三维模型内切球与多小波变换,以及快速网格传播距离与小波变换,综合的应用使得算法的鲁棒性有所增强,但依旧无法抵御破坏性极强的旋转攻击。所以,基于空间域或变换域的三维模型信息隐藏算法在具有自身特定性能劣势的情况下,普遍存在几何攻击鲁棒性差的共性问题,而大多数的空间域和变换域结合的算法则没有考虑旋转攻击对含密载体的影响。
综上所述,针对基于三维模型的信息隐藏算法在几何攻击的弱鲁棒性问题,提出以三维模型球分割为基础信息表达模式的信息隐藏算法。首先利用主元分析[9]、球面坐标转换、球型分割、分区排序等对三维模型进行预处理,计算立体分区中法向量变化较大的点作为特征点,根据待嵌入秘密信息量对特征点进行小波变换,最后将经过置乱操作的秘密信息嵌入预处理后的载体中生成含密三维模型。实验结果显示,算法不可见性较好,容量大,复杂度低,且对包括旋转在内的常见几何攻击具有良好的鲁棒性能。
1 基于三维模型球型分割的信息隐藏算法 1.1 算法原理算法首先对三维模型作主元分析、球面坐标系转化,等步长θ、φ分区等处理,其中θ和φ为式(8) 中θi和φi的区间范围;然后以三维模型坐标原点为球心的最小内切球和最大外接球,结合θ、φ分区形成等体积的立体分区,并且以顶点数量对分区排序;其次,计算分区中法向量变化较大的顶点作为特征点,根据待嵌入秘密信息量对特征点进行小波变换;最后,将经过置乱操作的秘密信息嵌入预处理后的载体中生成含密三维模型。
1.2 算法描述 1.2.1 载体预处理步骤1 为了使均匀缩放、旋转、及平移对秘密信息的提取没有影响,将三维模型变换到一个仿射不变空间[10],设三维模型的就顶点坐标为:Vi=(Xi, Yi, Zi),i=0, 1, …, k-1。按式(1) 可求得三维模型质心:
${{\mathit{\boldsymbol{K}}}_{c}}=\mathit{\boldsymbol{E}}\left( \mathit{\boldsymbol{V}} \right)=\left( {{V}_{x}}=\frac{1}{k}\sum\limits_{i=0}^{k-1}{{{X}_{i}}},{{V}_{y}}=\frac{1}{k}\sum\limits_{i=0}^{k-1}{{{Y}_{i}}},\\ \quad \quad \quad {{V}_{z}}=\frac{1}{k}\sum\limits_{i=0}^{k-1}{{{\mathit{\boldsymbol{Z}}}_{i}}} \right)$ | (1) |
将原三维模型的原点移动到质心处,按式(2) 可得到新的三维模型顶点坐标,该顶点具有平移不变性:
$\mathit{\boldsymbol{V}}_{i}^{\prime }=\left( X_{i}^{\prime },Y_{i}^{\prime },Z_{i}^{\prime } \right)=\left\{ \begin{matrix} \mathop{X}_{i}-\mathop{V}_{x} \\ \mathop{Y}_{i}-\mathop{V}_{y} \\ \mathop{Z}_{i}-\mathop{V}_{z} \\ \end{matrix} \right.$ | (2) |
步骤2 主元分析法实现三维模型旋转不变性。协方差矩阵为:
$\begin{align} & {{\mathit{\boldsymbol{K}}}_{v}}=\mathit{\boldsymbol{E}}\left\{ \left( \mathit{\boldsymbol{V}}-{{\mathit{\boldsymbol{K}}}_{c}} \right){{\left( \mathit{\boldsymbol{V}}-{{\mathit{\boldsymbol{K}}}_{c}} \right)}^{\rm{T}}} \right\}= \\ & \left[ \left. \begin{matrix} \sum\limits_{i=0}^{k-1}\mathit{X}_{i}^{\prime 2} & \sum\limits_{i=0}^{k-1}{{{\mathop{X}_{i}}^{\prime }}{{\mathop{Y}_{i}}^{\prime }}} & \sum\limits_{i=0}^{k-1}{{{\mathop{Z}_{i}}^{\prime }}{{\mathop{X}_{i}}^{\prime }}} \\ \sum\limits_{i=0}^{k-1}{{{\mathop{X}_{i}}^{\prime }}{{\mathop{Y}_{i}}^{\prime }}} & \sum\limits_{i=0}^{k-1}{\mathop{{{\mathop{Y}_{i}}^{\prime }}}^{2}} & \sum\limits_{i=0}^{k-1}{{{\mathop{Z}_{i}}^{\prime }}{{\mathop{Y}_{i}}^{\prime }}} \\ \sum\limits_{i=0}^{k-1}{{{\mathop{Z}_{i}}^{\prime }}{{\mathop{X}_{i}}^{\prime }}} & \sum\limits_{i=0}^{k-1}{{{\mathop{Z}_{i}}^{\prime }}{{\mathop{Y}_{i}}^{\prime }}} & \sum\limits_{i=0}^{k-1}{\mathop{{{\mathop{Z}_{i}}^{\prime }}}^{2}} \\ \end{matrix} \right] \right. \\ \end{align}$ | (3) |
由式(3) 可以看出Kv是3×3的实对称矩阵,如果矩阵Kv、数λ和n维非零向量x使关系式成立:
$\left( {{\mathit{\boldsymbol{K}}}_{v}}-\lambda \mathit{\boldsymbol{E}} \right)\mathit{\boldsymbol{x}}=0$ | (4) |
那么,这样的数λ称为矩阵Kv的特征值,非零向量x称为Kv的对应于特征值λ的特征向量。根据式(5):
$\left| \left. {{\mathit{\boldsymbol{K}}}_{v}}-\lambda \mathit{\boldsymbol{E}} \right| \right.=0$ | (5) |
可以求出矩阵的3个特征值:λ1,λ2,λ3,且λ1>λ2>λ3。三个特征值所对应的特征向量为:x1,x2,x3。这三个特征向量是三维模型顶点分布最为广泛的三个方向,所以将x1,x2,x3作为三维模型顶点的三根主轴。为了在秘密信息的提取过程中能够找到嵌入时三维模型的正确投影方向,故将三维模型顶点按照式(6) 进行变换:
${{\mathit{\boldsymbol{V}}}_{i}}^{\prime \prime }=\left( {{X}_{i}}^{\prime \prime },{{Y}_{i}}^{\prime \prime },{{Z}_{i}}^{\prime \prime } \right)=\mathit{\boldsymbol{X}}\cdot {{\mathit{\boldsymbol{V}}}_{i}}^{\prime }$ | (6) |
$\mathit{\boldsymbol{X}}=\left[ \begin{matrix} \mathit{\boldsymbol{x}}_{1}^{\rm{T}} \\ \mathit{\boldsymbol{x}}_{2}^{\rm{T}} \\ \mathit{\boldsymbol{x}}_{3}^{\rm{T}} \\ \end{matrix} \right]$ | (7) |
其中X是如式(7) 所示的为3×3矩阵,Vi″为变换后的三维模型的顶点集合,经过变换后的三维模型为最佳模型。
1.2.2 隐藏算法步骤步骤1 读入1.2.1节载体预处理步骤生成的最佳可用三维模型,采用式(8) 将最佳可用三维模型的直角坐标(Xi″, Yi″, Zi″)转化为球面坐标(ri, θi, φi)。取步长Lθ和Lφ将θi的取值范围[0, 2π]等分为2π/Lθ个区间,将φi的取值范围[0, π]等分为π/Lφ个区间。并且要满足(2π/Lθ)×(π/Lφ)>M2,其中M2是秘密信息的大小。
$\left\{ {\begin{array}{*{20}{l}} {{r_i} = \sqrt {X_i^{\prime \prime 2} + Y_i^{\prime \prime 2} + Z_i^{\prime \prime 2}} }\\ {{\theta _i} = \arccos \left( {{Z_i}^{\prime \prime }/{r_i}} \right),\quad {\theta _i} \in \left[ {0,2{\rm{ \mathsf{ π} }}} \right]}\\ {{\varphi _i} = \arctan \left( {{Y_i}^{\prime \prime }/{r_i}^{\prime \prime }} \right),\quad {\varphi _i}\left[ {0,{\rm{ \mathsf{ π} }}} \right]} \end{array}} \right.$ | (8) |
步骤2 以球面坐标原点为圆心,作三维模型的最大内切球Rin和外接球Rout,与步骤1的区间共同作用,生成等体积的立体区间集
步骤3 统计每个立体分区Gs中顶点的个数并且计算每个分区ri的方差σ2,将立体分区Gs按照顶点个数从大到小排列,若遇到顶点个数相同的Gs,则把σ2较小的分区排在前面。
步骤4 通过式(9)、(10) 计算每个分区中各顶点法向量变化较大的顶点,将其作为特征点。
${\mathit{\boldsymbol{\beta }}_{\mathop{v}_{i}}}=\left( \sum\limits_{\mathop{v}_{j}\in \mathop{\mathit{\boldsymbol{G}}}_{s}}{({{v}_{j}}-{{v}_{p}})} \right)/{{G}_{sn}}$ | (9) |
其中:βvi为vi的离散法向量,Gsn是立体分区Gs中的顶点总数。vi是该分区的顶点,vj是该分区中与vi相连接的各顶点,vp是该分区的几何中心。
$\mathit{\boldsymbol{D}}({{v}_{i}})=\sum\limits_{\mathop{v}_{j}\in \mathop{\mathit{\boldsymbol{G}}}_{s}}{\mathop{\cos }^{-1}}({\mathit{\boldsymbol{\beta }}_{{{v}_{i}}}}\,{\mathit{\boldsymbol{\beta }}_{{{v}_{j}}}})$ | (10) |
其中:D(vi)是法线方向变化剧烈的点的集合,cos-1(βvi βvj)是vi和vj离散法向量的夹角。
步骤5 根据式(11) 计算每个立体分区中要嵌入的秘密信息的量k,并且将D(vi)平均分成k组,每组顶点的ri组成的集合Rsh,h=1, 2, …, k作为一个嵌入单元,嵌入1位秘密信息。式(11) 中N为三维模型顶点总数。
$k={{M}^{2}}\cdot \left( {{G_{sn}}/N} \right)$ | (11) |
步骤6 对步骤5中所得的Rsh进行单尺度一维离散小波变换返回低频系数cAsh和高频系数cDsh,规定对系数向下取整且按偶数为0奇数为1,以低频系数为嵌入区域,高频为辅助区域。
步骤7 将秘密信息的二值图像(大小为M×M)进行Arnold置乱变换,见式(12),其中x, y∈{0, 1, …, M-1},k∈[1, M)。如图 1所示,置乱后的数据序列记为Ci。
$\left[ \begin{matrix} {{x}'} \\ {{y}'} \\ \end{matrix} \right]=\left[ \begin{matrix} 1 & 1 \\ k & k+1 \\ \end{matrix} \right]\left[ \begin{matrix} x \\ y \\ \end{matrix} \right]\left( \bmod M \right)$ | (12) |
步骤8 按照式(13) 对cAsh作出相应修改,对cDsh和cAsh′采用一维小波逆变换得到包含秘密信息的三维模型:
$\mathit{\boldsymbol{cA}}_{sh}^{\prime }=\mathit{\boldsymbol{c}}{{\mathit{\boldsymbol{D}}}_{sh}}\oplus {{\mathit{\boldsymbol{C}}}_{i}}$ | (13) |
已有基于三维模型的信息隐藏算法,其信息嵌入(修改)点为三维表面的坐标点,而本文1.2.2节中步骤2将数据位扩展到三维模型内部,增加了隐藏容量,提高了不可见性。另外,将三维模型的顶点立体地分割在等体积的立体区间内,可以保证每个立体区间中都有三维模型的坐标点存在,同样以扩大容量性而提高了不可见性。
2.2 鲁棒性分析在三维立体模型中,体积相同的情况下,顶点数目越多说明这部分区域的变化程度越剧烈;在顶点数相同的情况下,体积越小,说明该区域变化越剧烈。较已有算法而言,1.2.2节中步骤3的设计则为本文算法基于上述规律的针对性设计,可以预生成变化剧烈区域,使得算法可以抵抗多重攻击。
2.3 不可见性实验本文选择图 1(a) 64×64的二值图像为秘密信息,图 1(b)是经过置乱后的秘密信息。选取图 2(a)所示的三维模型Chinese Lion作为载体,图 2(b)为含密密信息的载体模型。实验环境为VC++、OpenGL和Matlab。实验效果如图 2所示。
Hausdorff距离是度量两个点集间的最大不匹配程度,距离越小,则表示匹配程度越高。图 3为算法基于Hausdorff距离的不可见性实验对比图,其中横坐标为嵌入量2k,纵坐标为Hausdorff距离,SI表示作者所在课题组之前提出的基于骨架内切球(Skeleton Inscribed sphere)的算法,该算法利用骨架定义,以各骨架点为球心,对模型进行欧氏内切球解析,并以各个骨架点的最小内切球解析次数为信息隐藏的修改量用于隐藏秘密信息[7]。由图 3所示,本文算法的Hausdorff距离在k≥12时,除去k=18时的数据噪点,始终低于SI算法,表明本文算法相比基于SI的算法,在嵌入量较大时,不可见性较好。
骨架相似度En描述的是两个三维模型的骨架相似程度,En越大,表明三维模型越相似,修改程度越小。图 4为基于骨架相似度En的不可见性实验对比图。可知,当k≥12时,本文算法的骨架相似度匹配曲线位置始终低于SI算法,表明本文算法相比基于SI的算法,在嵌入量较大时,不可见性较好。
实验对含密模型进行多种攻击实验。如图 5所示,对含密模型进行旋转、平移、均匀缩放和顶点重排等仿真实验,从提取出的信息可以直观地看出,可以有效识别秘密信息,表明本文算法对以上攻击的仿真实验具有较好的鲁棒性。
本文涉及的鲁棒性的数学指标有两个:1) 提取信息比特序列的误码率(Bit Error Rate, BER);2) 提取信息比特序列{sn′}和原始信息序列{sn}的相关系数Corr,由式(14) 表示。其中,s′和s分别表示{sn′}和{sn}的平均值,ri是原始模型的欧氏最大内切球(Euclidean Maximum Inscribed Sphere, EMIS)半径,而ri′是含密模型的EMIS半径,N是三维模型欧氏内切球总数[10]。
$Corr = \frac{{\sum\limits_{n = 1}^{N - 1} {(s_n^\prime - \bar s')({s_n} - \bar s)} }}{{\sqrt {\sum\limits_{n = 1}^{N - 1} {{{(s_n^\prime - \bar s')}^2}} \cdot \sum\limits_{n = 1}^{N - 1} {{{({s_n} - \bar s)}^2}} } }}$ | (14) |
算法对0.1%以下的随机加噪、重网格化都具有较好的鲁棒性,如图 6和7所示。
图 8和图 9为本文算法和文献[11]、文献[12]在随机加噪及均匀重网格化攻击下Corr对比。两图中本文算法的相关系数曲线位置,即Corr数值均高于文献[11]和文献[12],表明本文算法有较高的鲁棒性。
图 10和图 11分别给出在随机加噪、均匀重网格化等攻击下本文算法与文献[11]和文献[12]的BER对比图。由图可以看出本文算法鲁棒性在随机加噪、均匀重网格化等攻击下的曲线位置,即BER数值均低于文献[11]和文献[12],表明本文算法对随机加噪和均匀重网格化攻击具有较强的鲁棒性。
由图 8~11可知,在受到随机加噪以及均匀重网格攻击鲁棒性能依旧可以满足信息识别,实验结果的平均值如表 1所示,即分别对本文算法模型Chinese Lion、文献[11]和文献[12]计算出的BER和Corr的平均值。
图 12为本文算法和MS算法[13]及SI算法的计算复杂度对比实验,由图可知在嵌入量相同时,本文算法的计算时间曲线位置始终最低,表明本文算法计算复杂度较低。
综上所述,首先本算法利用主元分析、球面坐标转换、球型分割、分区排序等对三维模型进行预处理,计算立体分区中法向量变化较大的点作为特征点,并且根据待嵌入秘密信息量对特征点进行小波变换,不但满足人类视觉系统(Human Visual System, HVS)特性,而且符合信息隐藏区域能量分布特性,所以保证算法的鲁棒性和不可见性。通过实验对比,本文算法相比文献[11]和文献[12]以及本课题组的MS和SI算法在相同攻击下,有较强的鲁棒性,且相对同类算法运算复杂度较小,达到了信息的隐藏及秘密通信要求。
[1] | DU L, CAO X, ZHANG M, et al. Blind robust watermarking mechanism based on maxima curvature of 3D motion data[C]//Proceedings of the 14th International Conference on Information Hiding. Berlin:Springer, 2012:110-124. |
[2] | CAI S, SHEN X. Octree-based robust watermarking for 3D model[J]. Journal of Multimedia, 2011, 6(1): 83-90. |
[3] | 綦科, 张大方, 谢冬青. 基于帧化采样和小波HMM的三维模型信息隐藏[J]. 计算机辅助设计与图形学学报, 2010, 22(8): 1406-1411. (QI K, ZHANG D F, XIE D Q. Steganography for 3D model based on frame transform and HMM model in wavelet domain[J]. Journal of Computer-Aided Design & Computer Graphics, 2010, 22(8): 1406-1411.) |
[4] | 程卫东, 黄继武, 刘红梅. 基于三维DCT的彩色图象自适应水印算法[J]. 电子学报, 2001, 29(S1): 1778-1781. (CHENG W D, HUANG J W, LIU H M. A color image watermarking algorithm based on 3D-DCT[J]. Acta Electronica Sinica, 2001, 29(S1): 1778-1781.) |
[5] | 任帅, 石方夏, 张弢. 基于三维模型轮廓解析的信息隐藏算法[J]. 计算机应用, 2016, 36(3): 642-646. (REN S, SHI F X, ZHANG T. Information hiding scheme for 3D model based on profile analysis[J]. Journal of Computer Applications, 2016, 36(3): 642-646. DOI:10.11772/j.issn.1001-9081.2016.03.642) |
[6] | TAMANE S C, DESHMUKH R R, JADHAVPATIL V. Optimization of blind 3D model watermarking using wavelets and DCT[C]//Proceedings of the 20134th International Conference on Intelligent Systems, Modelling and Simulation. Washington, DC:IEEE Computer Society, 2013:270-275. |
[7] | 张弢, 慕德俊, 任帅, 等. 利用内切球解析的三维模型信息隐藏算法[J]. 西安电子科技大学学报(自然科学版), 2014, 41(2): 185-190. (ZHANG T, MU D J, REN S, et al. Information hiding scheme for 3D models based on skeleton and inscribed sphere analysis[J]. Journal of Xidian University (Natural Science), 2014, 41(2): 185-190.) |
[8] | LUO M, BORS A G. Surface-preserving robust watermarking of 3-D shapes[J]. IEEE Transactions on Image Processing, 2011, 20(10): 2813-2826. DOI:10.1109/TIP.2011.2142004 |
[9] | 綦科, 谢冬青, 刘洁. 基于八叉树空间分割的三维点云模型密写[J]. 计算机工程, 2011, 37(4): 7-9. (QI K, XIE D Q, LIU J. 3D point cloud model steganography based on octree space division[J]. Computer Engineering, 2011, 37(4): 7-9.) |
[10] | YI X, CAMPS O I. Line-based recognition using a multidimensional Hausdorff distance[J]. IEEE Transactions on Pattern Analysis & Machine Intelligence, 1999, 21(9): 901-916. |
[11] | HACHANI M, ZAID A O, BAHROUN S. Wavelet based watermarking on 3D irregular meshes[C]//Proceedings of the 201220th European Signal Processing Conference. Piscataway, NJ:IEEE, 2012:1742-1746. |
[12] | TAMANE S C, DESHMUKH R R, JADHAVPATIL V. Optimization of blind 3D model watermarking using wavelets and DCT[C]//Proceedings of the 20134th International Conference on Intelligent Systems, Modelling and Simulation. Washington, DC:IEEE Computer Society, 2013:270-275. |
[13] | 娄棕棕, 任帅, 杨涛, 等. 基于载体自修复系统的信息隐藏算法[J]. 通信技术, 2017, 50(2): 315-320. (LOU Z Z, REN S, YANG T, et al. Information hiding algorithm based on carrier self-healing system[J]. Communications Technology, 2017, 50(2): 315-320.) |