张国有,刘佳华,米 佳
(太原科技大学 计算机科学与技术学院,山西 太原 030024)
近几年,三维彩色模型广泛应用于医学成像[1]、地面扫描[2-3]、自动驾驶[4-5]、三维遗产文化重建[6]以及室内场景建模[7]等领域。然而,它作为一种数字媒体,在进行低成本无损复制和传输的同时也导致模型非法占有、复制等版权保护问题变得非常严重[8]。
数字水印技术作为版权保护的重要手段,对三维网格模型的版权保护有了大量的研究,而三维点云模型的研究却处于早期阶段。文献[9-10]在空间域中对三维点云模型进行水印嵌入,但是由于点云模型数据量大、无拓扑结构,导致计算复杂度高且鲁棒性弱等。所以,国内外研究学者将点云模型的数据特性应用到频域中。频域包括离散余弦变换(Discrete Cosine Transform,DCT)、图像傅里叶变换(Graph Fourier Transform,GFT)、离散小波变换(Discrete Wavelet Transform,DWT)等。其中,文献[11]提出了一种三维点云模型的非盲水印算法,该算法对每个点云顶点的颜色信息进行GFT变换并将水印嵌入到变换后的GFT系数中,但存在的问题是GFT变换只通过频率来分析信号,抗简化攻击的能力较弱。文献[12]提出了基于2D-DCT的三维彩色点云模型的数字水印算法,将三维彩色点云模型投影为二维彩色图像,通过修改2D-DCT系数插入水印信息,完成水印的嵌入,提高了不可见性,但是无法完全抵抗几何仿射变换的攻击。文献[13]提出了根据地质点云模型的空间特征得到空间特征变量,将空间域信息转换为频率域信息,最后利用数理统计方法对频率域信息进行水印嵌入。在几何仿射变换和简化攻击的鲁棒性表现较好,但是不同简化率使得不可见性具有不确定性。所以,频域算法[11-13]相比于空域算法[9-10]的鲁棒性得到了提高,但还是存在透明性和鲁棒性难以权衡的问题。
文献[14]研究发现DWT被认为是更适合作为水印的频域,因为它的时间/频率分解特性在本质上类似于人类视觉系统(Human Visual System,HVS),可以提供更好的透明性和鲁棒性。因此,文献[14]提出了一种基于DWT的三维点云模型数字水印算法,对模型各点到重心距离值进行DWT变换,并选择其一维LL子带作为水印嵌入域,但是当水印容量增加到1 024位时,不可见性降低。
文献[15]提出DWT-DCT混合嵌入水印的方法,将三维点云模型利用坐标投影算法生成二维图像,在二维图像DWT域中的LL子带进行DCT变换,将水印嵌入到DCT变换的DC系数中。文献[14-15]较好地平衡了水印的透明性和鲁棒性,但是由于DWT变换存在下采样的过程,导致点云模型中有价值的点被修改或移位。
针对这一问题,Roy等人[16]提出了冗余离散小波变换(Redundant Discrete Wavelet Transform,RDWT),不仅克服了DWT的移位变量特性,而且比DWT具有更完整的图像信息。此外,利用奇异值分解(Singular Value Decomposition,SVD)的代数性质,严格证明了嵌入水印的图像在遭受缩放、平移、旋转、转换等几何攻击后,奇异值具有良好的不变性,为该算法提供了理论依据[17]。但是Jia等人[18]研究发现当一个奇异值被修改时,一个图像像素矩阵的所有值都将被改变,导致水印图像的鲁棒性得不到改善。
为此,该文以三维彩色点云模型为载体,提出一种新的混合冗余离散小波变换和奇异值分解(Redundant Discrete Wavelet Transform - Singular Value Decomposition,RDWT-SVD)的数字水印算法。该算法提高了抵抗各类攻击尤其是几何仿射变换、剪切、简化和噪声攻击的鲁棒性。
由于小波分解具有空间分辨率与频率分辨率,因此在图像处理中得到了广泛的应用[16]。DWT使用低通滤波器H(Z)、高通滤波器G(Z)和下采样,通过将信号分解为粗略系数和细节系数来分析具有不同分辨率的不同频带的数字图像。但是下采样过程会导致图像中潜在信息可能被删除,降低了从图像中提取水印的可能性。为了克服DWT的移位变量特性,Roy等人[17]提出了移位不变的RDWT变换。首先,对图像上的行应用H(Z)和G(Z)来分析图像。这样就构造了大小均为8×8的粗略系数和细节系数。下一步,对粗略系数的列和细节系数的列应用H(Z)和G(Z)生成四个大小为8×8的不同图像子带(LL,LH,HL,HH)。其中,用G(Z)分析的行和列用H指定。同样,用H(Z)分析的行和列用L指定。例如,LH子带是使用行上的低通滤波器和列上的高通滤波器产生的。为了重建图像,使用了合成滤波器,由于上采样和下采样在两个滤波器中都不存在,所以每一步的输出图像大小与前一步相同。因此,RDWT变换对存储空间要求更高,因为冗余组件被存储到下一层,而且它比DWT更完备,可以完整地保存图像信息。
对于一个秩为r(r≤N)的N×N矩阵I,其SVD由式(1)表示:
I=UDVT=
(1)
其中,U和V是N×N的正交矩阵,D是奇异值矩阵,对角元素满足λ1≥λ2≥…≥λN。
从图像处理的角度看,奇异值对应图像的亮度特性,奇异向量对应图像的几何特性[17]。Jia等人[18]研究发现左奇异向量U矩阵的第二行第一列U2,1和第三行第一列元素U3,1之间存在很强的相关性,这意味着两个元素之间的关系可以保留和进一步用于提取嵌入式水印而不借助原始数据。因此,通过修改正交矩阵U2,1和U3,1的关系来嵌入和提取水印。
Arnold变换可以提高水印图像的安全性[19]。Arnold变换的定义如式(2)所示:
(2)
文中算法的嵌入过程主要包括四个阶段,分别是三维仿射不变性处理阶段;投影平面图像阶段;根据水印信息,修改矩阵U的U2,1和U3,1的值,实现水印嵌入阶段;将含有水印信息的二维彩色图像利用点云模型还原算法得到含水印模型的阶段。算法嵌入过程如图1所示。水印提取是对含水印的三维彩色点云模型执行水印嵌入前的模型预处理和根据U2,1和U3,1的大小关系来实现的。
2.1.1 三维点云模型仿射不变性处理算法
为了方便对三维点云模型施加其他后续操作,需要对它进行仿射不变性处理[20]。假设三维点云模型表示为V{vi,i=1,2,…,M},式中vi为第i个顶点坐标,vi=(xi,yi,zi),M为顶点总数。仿射不变性处理过程如下:
(1)根据式(3)、(4)计算三维点云模型的中心坐标U(ux,uy,uz)并将中心坐标作为新的原点(0,0,0)进行平移,实现了三维点云模型的平移不变性。
(3)
(4)
(2)对三维点云模型运用主成分分析(Principal Components Analysis,PCA),计算协方差矩阵C、矩阵C所对应的特征值和特征向量,其中最大特征值所对应的特征向量为三维点云模型的最大主元。协方差矩阵见式(5)。
(5)
(3)旋转三维点云模型使最大主元与z轴重合,最终得到其顶点坐标为(xi,yi,zi),实现了三维点云模型的旋转不变性和均匀缩放不变性[21]。
这样,三维点云模型的顶点坐标就具有仿射不变性,即平移不变性、旋转不变性和均匀缩放不变性。
2.1.2 投影平面图像算法
为了应用基于RDWT-SVD的水印算法,需要完成三维点云模型到二维图像的变换。步骤如下:
(3)对选定的有效点进行归一化,将处理后的点返回位置信息和颜色信息;
(4)组合RGB颜色分量,形成二维彩色图像。
2.1.3 水印嵌入算法
(1)图像颜色空间从RGB到YCbCr的转换。二维彩色图像通过式(6)将RGB转换为YCbCr。
(6)
(2)YCbCr颜色空间提取Y分量并划分为8×8非重叠块。
(3)二值水印使用Arnold变换并划分为8×8非重叠块,并存储密钥N。
水印嵌入:
(1)对Y分量的每个块应用RDWT变换得到LL子带,并对LL子带进行SVD变换得到矩阵U。
(2)根据以下规则修改U矩阵的U2,1和U3,1的元素进行水印嵌入。
水印wi=1
(7)
水印wi=0
(8)
(3)应用逆SVD变换,然后对每个块应用逆RDWT变换以创建带水印的Y分量。
(4)重建Y分量与Cb和Cr相结合,利用式(9)将含水印图像转换到RGB颜色空间。
(9)
2.1.4 点云模型还原算法
(3)利用替换后的颜色信息生成含水印的三维彩色点云模型。
(1)从含水印的点云模型中进行三维仿射不变性处理并找到有效点,利用2.1.1和2.1.2节算法获得含水印的2D彩色图像。
图1 算法嵌入过程
(2)根据式(10)中U2,1和U3,1的关系提取出相应的水印信息。
(10)
(3)使用相同的密钥N应用逆Arnold变换来恢复二值水印图像。
实验采用了MatlabR2018平台,以文献[11]中的Bunny(35 947点)、Guy(66 860点)、Lion_statue(536 240点)和Vase(147 420点)三维彩色点云模型进行实验测试。图2(a)为原始三维彩色点云模型,图2(b)为秘密信息及其预处理图像,图2(c)为嵌入水印信息后的三维彩色点云模型。图2(a)采用图2(c)中N=100的置乱参数。
利用文中算法对Bunny、Guy、Lion_statue和Vase模型嵌入水印后,为了定量地分析该算法的不可见性,引入峰值信噪比(Peak Signal-to-Noise Rate,PSNR)和均方根误差(Root Mean Square Error,RMSE)计算点云模型嵌入水印前后的几何误差。
(1)峰值信噪比(PSNR)是衡量信号失真程度的典型数学指标,利用式(11)测试含水印模型与原始模型的失真度。PSNR越大,不可见性越好。
PSNR(f,fw)=
(11)
其中,f是原始彩色点云模型,fw是含水印的彩色点云模型,(x,y,z)是给定点云模型的坐标值,Nf是点云模型离散点总个数,对于8 bit彩色点云模型,式子中的分子为255×255。
图2 针对三维彩色点云模型的数字水印算法实现效果
(12)
其中,M代表模型顶点的个数。
经过计算,水印位数1 024位,这四种模型的均方根误差和峰值信号噪声比如表1所示。考虑到颜色强度的范围[0,255],一般来说这样的PSNR被认为很高,RMSE值被认为很低,所以表示两个模型之间有很强的相关性,说明该算法具有良好的不可见性。
表1 1 024位含水印的3D彩色点云模型的
在对Bunny、Guy、Lion_statue和Vase模型进行噪声攻击、几何仿射变换攻击、简化攻击和剪切攻击后,为了定量地分析文中算法的鲁棒性,引入误码率(Bit Error Rate,BER)和归一化相关系数(Normalized Coefficient,NC)分析该算法的鲁棒性。其中图3为部分攻击后的点云模型及其提取水印图像。
(1)误码率(BER)是指提取的错误水印位数与原始水印位数的比值,比值越接近于0,说明水印的提取越成功,算法的鲁棒性就越强。BER的计算公式如式(13)。
(13)
(2)归一化相关系数(NC)是指原始水印信息与提取水印信息之间的相关度,它的取值范围是[-1,1],如果NC值越接近1,则说明提取的水印信息和原始的水印信息越接近,相似度越高,即提取的水印内容完整性越高,算法的鲁棒性越好。NC的计算公式如式(14)所示。
NC=
(14)
为了更好地验证文中算法的鲁棒性,将该算法的测试结果与基于GFT的三维彩色点云模型的数字水印算法[11](记为GFT算法)与基于DCT的三维彩色点云模型的数字水印算法[12](记为DCT算法)的测试结果进行了对比。
图3 部分攻击后的点云模型及其提取的水印图像
3.2.1 噪声攻击
对嵌入水印的三维彩色点云模型的顶点坐标进行噪声攻击,实验中噪声强度取值分别为0.5%、1%、1.5%。噪声攻击的测试结果如表2所示,除Vase模型外,其他模型在遭受噪声攻击后,BER值小于0.01,NC值大于0.98,对噪声攻击表现出较好的鲁棒性。
表2 噪声攻击测试的位错误率与
以Bunny模型为例,文中算法与DCT算法、GFT算法相比,在噪声强度小于1%时,NC值始终等于1且高于对比算法,说明文中算法在噪声攻击强度较小时具有很强的鲁棒性,如图4所示。
图4 Bunny模型与DCT算法、GFT算法在0.1%、 0.3%、0.5%、1%均匀噪声攻击的NC比较
3.2.2 仿射变换攻击
由于对点云模型进行了仿射不变性处理,可以避免模型的平移、旋转和缩放变换等仿射变换对水印提取的影响。因此,文中算法对于平移、旋转、缩放,以及混合攻击均可以完全抵抗。以旋转攻击为例,仿真结果如图3所示,可以准确无误地提取出水印图像(BER=0,NC=1),说明文中算法抗几何仿射变换攻击的鲁棒性强。
3.2.3 简化攻击
以Guy模型为例,对嵌入水印的三维点云模型进行简化攻击,简化率分别为20%和50%。实验结果如图3所示,当简化攻击为50%时,点云模型的视觉感受变化较大,导致水印图像无法清晰识别。
为了进一步验证简化攻击的鲁棒性,以Guy模型为例,与DCT算法、GFT算法相比,文中算法的NC值始终高于对比算法,是因为在对模型进行三维仿射不变性处理时,能够弱化简化攻击后点云模型顶点缺失带来的影响,使得文中算法可以有效抵抗简化攻击,有效提高了简化攻击的鲁棒性,如图5所示。
图5 NC对比衡量简化攻击的鲁棒性
3.2.4 剪切攻击
剪切攻击是通过移除点云模型的一部分区域以破坏点云模型的形态,文中算法是通过与z轴平均值邻近的坐标作为中心点进行投影,尽可能减少此攻击对水印提取的影响。分别对模型进行20%、30%的剪切,实验结果如图3所示,剪切率较为50%时,也能提取出水印图像大致信息。
由于DCT算法未对Guy、Vase和Lion_statue模型进行剪切攻击的测试,故无法分析DCT算法抗剪切攻击的鲁棒性,因此文中算法只能与GFT算法进行分析比较,如表3所示。文中算法的BER值均处于10-2,在剪切率小于50%的情况下,可以清楚地识别水印图像,对剪切攻击表现出较好的鲁棒性。
表3 与GFT算法在模型剪切攻击中BER结果对比
提出了一种针对三维彩色点云模型的数字水印算法。利用三维仿射不变性对三维彩色点云模型进行坐标变换,不仅可以抵抗仿射变换的攻击,也使得投影图像具有唯一性。对投影图像进行RDWT变换得到LL子带,对LL子带进行SVD,并将水印嵌入矩阵U2,1和U3,1中,有利于保证水印的透明性。实验结果表明,该算法对几何仿射变换、简化、剪切等变换攻击,取得了满意的结果。今后工作将进一步提高算法对剪切、简化攻击的鲁棒性。