基于张量分解和联合熵的双彩色鲁棒水印算法

2023-05-21 04:02张天骐
吉林大学学报(理学版) 2023年3期
关键词:彩色图像张量鲁棒性

张天骐,闻 斌,吴 超,熊 天

(重庆邮电大学 通信与信息工程学院,重庆 400065)

近年来,随着计算机网络和多媒体技术的快速发展,多媒体作品(音频、图像、视频)被随意篡改的风险逐渐增加,数字水印技术是解决这类问题的有效途径[1].数字水印技术是将数字水印嵌入到多媒体作品的空间域或者变换域中,通常嵌入的水印是不可见的,同时又必须保持多媒体作品的真实度.

从彩色载体图像的处理方式来看,大部分图像水印算法可分为分通道处理和整体处理两类.分通道处理先提取出彩色载体图像不同通道的低频成份,然后进行矩阵分解嵌入水印信息; 或者先将载体图像变换到不同的颜色空间,然后选择通道进行水印嵌入.文献[2]将水印嵌入到YCbCr空间的Cb分量中; 文献[3]将水印嵌入到YCbCr空间的Y分量中; 文献[4]将水印嵌入到RGB分量经过轮廓波变换的低频分量中; 文献[5-6]将水印嵌入到RGB分量经过二维离散小波变换后的低频分量中.研究者们在分通道处理的基础上将载体图像进行分块,提出了规则选块[7-8]、Randperm函数[9]、MD5加密算法[10],提取不同通道的行和列[11]等机制用于选块以提升水印算法的不可见性.由于彩色图像的各通道之间存在光谱联系,因此如果将彩色图像作为整体进行处理,则图像各色彩通道间的光谱联系就会贯穿在整个运算和处理过程中[12].文献[13]建立了四元数离散Fourier变换(QDFT)系数各分量与彩色图像三通道传统离散Fourier变换(DFT)之间的关系; 文献[14]提出了一种基于DCT变换和DQFT变换的正交三角(QR)矩阵分解水印嵌入算法,能将彩色图像三通道作为整体处理嵌入水印信息; 文献[15]提出了一种基于四元数极谐波变换(QPHT)和最大似然解码器的彩色图像水印方案,将彩色图像三通道作为整体处理的同时更好地平衡了不可感知性和鲁棒性.不同载体图像处理方式的水印算法在针对图像攻击时的鲁棒性有差异,但对滤波攻击的抵抗能力较差.

本文结合彩色载体图像整体处理方式和选块机制,提出一种基于张量分解和联合熵的双彩色鲁棒水印算法.首先对载体图像整体进行张量分解得到其张量特征图; 然后对张量特征图进行不重叠分块处理,根据联合熵大小确定嵌入水印的特征图子块; 最后将水印信息嵌入到选定块经过奇异值分解(singular value decomposition,SVD)[16]的U矩阵中.实验结果表明,本文算法不仅能有效抵抗图像滤波攻击,而且对其他常规图像攻击及几何攻击也有较强的鲁棒性.

1 张量分解

1.1 张量的Tucker分解

高阶张量分解主要包括CP(canonical polyadic)分解和Tucker分解两种形式.张量的CP分解是通过若干个N阶的秩一张量之和表示一个N阶张量,N阶秩一张量就是由N个向量计算外积而成的张量.虽然张量的CP分解能保证分解结果的唯一性,但对应秩的求解是一个NP(nondeterministic polynomially)难题.张量的Tucker分解能将N阶张量分解成一个核心张量和N个因子矩阵乘积的形式,核心张量保留了原张量的主要能量,具有稳定性,因此本文将张量的Tucker分解应用于彩色图像水印算法.

一个N阶张量A∈I1×…×IN的Tucker分解可表示为一个核心张量S∈I1×…×IN分别与N个因子矩阵U(1),U(2),…,U(N)的n-mode乘积的形式,即

A=S×1U(1)×2U(2)×…×NU(N),

(1)

其中U(k)∈I1×IN(k=1,2,…,N)是正交矩阵.

为计算U(k),可将N阶张量A沿不同维度展开为矩阵Ai(i=1,2,…,N),并将由Ai进行奇异值分解得到的左奇异矩阵作为张量的因子矩阵Ui,即

(2)

因此,核心张量S可表示为

S=A×(1U(1))T×(2U(2))T×…×(NU(N))T.

(3)

本文将M×M大小的彩色图像视为三阶张量P,对P进行Tucker分解可得

P=ξ×1U(1)×2U(2)×3U(3),

(4)

其中ξ表示核心张量,U(1),U(2),U(3)分别表示大小为M×M,M×M,3×3的正交矩阵.

令张量ζ=ξ×1U(1)×2U(2),ζ的大小和维度与核心张量ξ相同,则式(4)可表示为P=ζ×3U(3).将张量ζ的第i个通道设为Qi(i=1,2,3),Qi称为彩色图像Pt的张量特征图.Pt的第i个通道可通过Qi线性组合得到,表示为

(5)

其中,正交矩阵U(3)的每行表示图像各色彩通道之间的相关系数,彩色图像经过Tucker分解后仍然保持RGB通道之间的相关性.

1.2 张量特征图的选取

为提升水印算法的鲁棒性,需要从Q1,Q2,Q3中选择出最佳的张量特征图嵌入彩色水印.彩色载体图像的能量与各张量特征图的能量之和相等,表示为

(6)

其中‖·‖表示Frobenius范数.由式(4)和奇异值分解理论可得

‖Q1‖2≥‖Q2‖2≥‖Q3‖2.

(7)

由式(7)可见,Q1,Q2,Q3是按照图像能量从大到小排列的.3张张量特征图反映了彩色载体图像沿RGB通道的变化,Q1由原始图像中的主要能量组成,因此更适合嵌入水印信息.图1为512×512彩色Lena图像通过Tucker分解后提取的张量特征图.由图1可见,Q1具有更丰富的纹理特征及边缘信息,相比于其他特征图具有更多的能量.

图1 Lena图像张量特征图Fig.1 Tensor feature maps of Lena images

2 联合熵

联合熵较小的图像区域对图像攻击的抵抗能力较强,具有更好的遮蔽能力.本文算法利用熵和边缘熵表示图像联合熵,根据联合熵大小挑选出遮蔽性较好的图像子块嵌入水印,以提高载体图像的不可见性.图像熵表示相邻像素的空间相关性,包含图像重要的数据信息,图像熵定义为

(8)

图像边缘熵包含了图像重要的特征信息,边缘熵定义为

(9)

其中N表示图像块的像素个数,pi(0≤pi≤1)表示第i个图像像素值出现的概率.图像联合熵通过熵和边缘熵得到,定义为

(10)

3 算法设计

水印嵌入和检测的流程如图2所示.

图2 水印嵌入和检测流程Fig.2 Flow chart of watermark embedding and detection

3.1 水印的嵌入

步骤1) 彩色水印图像预处理.提取出大小为N×N的彩色水印图像W的RGB分量,分别对3个分量执行Arnold变换,Arnold变换定义为

(11)

步骤2) 彩色载体图像预处理.将大小为M×M的彩色载体图像I表示为三阶张量A,对A进行Tucker分解,得到张量特征图Qi(i=1,2,3),取出张量特征图Q1,并对其进行4×4不重叠分块处理得到特征图子块Q1(i,j)(i,j=1,2,…,M/4).

步骤3) 确定嵌入子块.计算出每个特征图子块Q1(i,j)的联合熵,挑选出联合熵较小的子块,并记录其坐标位置.

步骤4) 嵌入水印信息.对挑选出的特征图子块进行SVD分解,U矩阵的系数U2,1和U3,1在图像受到攻击后仍保持极强的稳定性,因此,本文算法利用SVD分解将水印信息嵌入到矩阵U(1,i)中,以提高水印的鲁棒性.按下式的嵌入规则将水印信息w′(1,i)嵌入到矩阵U(1,i)中:

(12)

3.2 水印的检测

步骤2) 定位嵌入了水印信息的子块.根据保存的坐标位置提取嵌入了水印信息的特征图子块.

步骤3) 提取水印信息.对提取的特征图子块进行SVD分解得到其U矩阵,按下式的提取规则提取出水印信息w′:

(13)

4 实验结果与分析

在仿真实验中,选取1 024×1 024大小的Lena,Avion,Baboon,Peppers 4张彩色载体图像和“福”、“企鹅”两张彩色水印图像衡量算法的不可见性和鲁棒性,如图3所示.嵌入水印时的参数如下: 图像分块大小为4×4,获得N=(1 024/4)2个图像子块,根据图像联合熵选出3×8×322个子块嵌入水印信息,嵌入强度∂=0.715.

图3 彩色载体图像与水印图像Fig.3 Color carrier images and watermark images

4.1 不可见性分析

为评估嵌入水印图像的不可见性,采用峰值信噪比(peak signal to noise ratio,PSNR)和结构相似度(structural similarity index measure,SSIM)作为算法的衡量指标.表1列出了Lena,Avion,Baboon,Peppers图像嵌入水印后的效果和提取的水印图像.

表1 算法不可见性分析

由表1可见: Lena,Avion,Baboon,Peppers图像嵌入水印后的PSNR值分别为39.017 5,39.275 3,36.593 3,39.122 7 dB; SSIM值分别为0.992 8,0.993 9,0.991 8,0.984 7.Baboon图像的PSNR值略低于其他载体图像,原因在于Baboon图像相对于其他图像具有更丰富的边缘纹理信息,嵌入的水印能量由张量特征图扩散到彩色载体图像的各通道中,破坏了图像大量的细节边缘纹理,导致图像PSNR值降低.Peppers图像的SSIM值略低于其他载体图像,主要是因为Peppers图像的色彩跳变幅度较大,嵌入的水印能量会导致图像对比度降低进而影响SSIM值.4张图像的PSNR值均在36 dB以上,SSIM值均在0.980 0以上,说明本文算法具有良好的不可见性.

4.2 鲁棒性分析

为验证本文算法的鲁棒性,将“福”字彩色水印图像嵌入到Lena,Avion,Baboon,Peppers图像中,对彩色载体图像分别进行常规攻击、几何攻击及部分组合攻击,利用提取出水印图像的归一化相关系数(normalization coefficient,NC)的最大值NCmax评估本文算法的鲁棒性,实验结果分别列于表2和表3.

表2 本文算法对图像常规攻击的抵抗能力

表3 本文算法对图像几何攻击的抵抗能力

由表2可见,边缘纹理信息较丰富的Baboon图像相对于其他载体图像在针对各种常规攻击时具有更高的NC值及更高的稳定性.以Lena图像为例,Lena图像在针对不同攻击强度的椒盐噪声、斑纹噪声均具有较好的性能,NCmax值在0.959 8以上,但在针对高斯噪声时性能不佳.这主要是因为高斯噪声不同于椒盐噪声和斑纹噪声,它的幅度分布服从高斯分布,受高斯噪声攻击的彩色载体图像经过张量分解后会将受较大干扰的图像像素值分配到张量特征图上,导致NC值降低.Lena图像在针对不同参数的图像滤波攻击时均具有良好的鲁棒性,NCmax值达到1.000 0,虽然图像滤波在不同图像通道会分区域的改变载体图像的像素值,但经过张量分解后这些改变的像素值在张量特征图上的数值相对关系并未改变,通过提取规则仍然能正确地提取水印信息.Lena图像在针对JPEG压缩、JPEG2000压缩、直方图均衡攻击时性能略差,NCmax为0.939 2,这主要是因为上述攻击会整体上改变载体图像的像素值,导致提取时大范围出错.

由表3可见,Lena,Avion,Baboon,Peppers图像在针对同一攻击参数的裁剪攻击时会出现较大的NC值差异,原因在于不同载体图像提取的张量特征图区域不同,裁剪掉的部分像素值在不同张量特征图上选取到的数量不同,导致出现较大的NC值差异.以Lena图像为例,Lena图像在针对图像裁剪左上1/16、中心1/16、右下1/4攻击时均具有良好的性能,NCmax达到0.983 8,但对图像裁剪中心1/4时性能较弱,NCmax只有0.927 9.Lena图像在针对旋转攻击以及旋转+高斯低通组合攻击时性能不佳,NCmax只有0.741 7,原因在于旋转攻击会整体上改变载体图像像素值的原始位置,导致提取正确率降低.Lena图像在针对交换行列、JPEG压缩+中值滤波、交换行+中心裁剪、交换行+均值滤波等攻击时均展现了较强的鲁棒性,NCmax最高达到1.000 0,最低在0.849 3以上.

由上述分析可见,本文算法对图像常规攻击和几何攻击都有较好的抵抗能力,这主要是因为通过Tucker分解将彩色图像RGB分量中大部分的低频能量集中在张量特征图Q1中,因此将水印信息嵌入到Q1中具有较好的稳定性和鲁棒性.

为进一步验证本文算法的优越性,将本文算法与文献[4]、文献[7]、文献[10]进行对比.选择1 024×1 024的标准彩色图像Lena作为载体图像,选择32×32的“企鹅”彩色图像作为嵌入水印,通过提取水印的NC值及视觉效果评估算法鲁棒性的优越性.

表4列出了本文算法与文献[4]、文献[7]、文献[10]的鲁棒性与视觉效果对比结果.

表4 不同算法对不同攻击方式抵抗能力的视觉效果与NC值对比

续表4

由表4可见,本文算法在针对图像滤波攻击时鲁棒性较强,NC值达到1.000 0,NC值相比于对比算法平均提升了6%.原因在于本文通过张量分解将彩色载体图像进行整体处理,改变的像素值在张量特征图上的数值相对关系并未改变,而对比文献均采用了将载体图像分通道处理嵌入水印,图像滤波攻击后各通道改变的像素值的数值相对关系部分发生改变,导致鲁棒性不佳.文献[4]在噪声攻击、压缩攻击及部分组合攻击下提取的水印在视觉效果上均优于本文算法,主要是因为文献[4]在提取时对水印图像进行了平滑处理,获得了更好的视觉效果,但文献[4]的算法复杂度远高于本文算法.本文算法在针对攻击参数为0.01的噪声攻击时,NC值最高达到0.988 6,弱于文献[7]的1.000 0,优于文献[10]的0.978 5; 针对移动模糊攻击时NC值最高达到1.000 0,均优于其他对比算法; 针对图像压缩攻击时性能略弱于其他对比算法.本文算法在针对旋转攻击和与旋转相关的组合攻击时鲁棒性较差,NC值只有0.765 5,主要是因为旋转攻击改变了载体图像像素值的原始位置,而文献[4]利用Radon变换进行旋转校正,用算法复杂度换取了水印的鲁棒性.由上述讨论可见,本文算法在针对压缩、裁剪及部分组合攻击时性能稍弱于对比算法,但提取水印的NC值均在0.925 8以上,在视觉上也能识别出水印的主要轮廓; 在针对不同攻击参数、不同类型的滤波攻击时均展现了比其他对比算法更优的性能,NC值最高达到1.000 0.因此,本文算法在整体效果上优于对比算法,提取的水印图像更清晰,可以更简单快捷地保障版权所有者的合法权益.

综上所述,本文通过结合使用张量分解和联合熵,提出了一种能有效抵抗图像滤波攻击的双彩色鲁棒水印算法.该算法先将载体图像整体进行张量分解提取出张量特征图并分块,然后利用联合熵挑选出遮蔽性较好的特征图子块,最后将水印嵌入到特征图子块经过SVD分解后的U矩阵中.实验结果表明,本文算法在保证彩色图像各通道相关性的前提下不仅对一系列图像攻击有较强的鲁棒性,而且提取的水印图像也有良好的视觉效果.

猜你喜欢
彩色图像张量鲁棒性
偶数阶张量core逆的性质和应用
四元数张量方程A*NX=B 的通解
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于FPGA的实时彩色图像边缘检测
基于确定性指标的弦支结构鲁棒性评价
基于最大加权投影求解的彩色图像灰度化对比度保留算法
扩散张量成像MRI 在CO中毒后迟发脑病中的应用
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
基于颜色恒常性的彩色图像分割方法