APP下载

最小依赖隐藏的屏摄鲁棒水印方法

2024-02-24宋佳维刘春晓张心怡

中国图象图形学报 2024年2期
关键词:鲁棒性载体噪声

宋佳维,刘春晓,张心怡

浙江工商大学计算机科学与技术学院,杭州 310018

0 引言

随着互联网和通信技术的快速发展,远程桌面技术使得机密信息和显示屏可以在空间上分离,这项技术给人们带来方便的同时也带来机密信息的安全隐患。为了预防远程桌面信息安全问题中常见的桌面盗摄问题并维持用户的视觉体验,常用图像暗水印技术对图像添加身份信息和时间标签(Liu 等,2019;Qin等,2019;Rathika等,2017)。

具有屏幕拍摄鲁棒性的水印称为屏摄水印。比起寻常的数字水印,屏摄水印通过摄像头抓拍和后处理操作,再次在新屏幕显示,从而实现从屏幕到相机的光学信道中的信息传输(Ahmadi 等,2020;Fang等,2021)。屏摄水印在桌面拍摄过程中受到数模转换和光学现象等诸多干扰,是一个具有挑战性的研究课题。数字水印一般有不可见性、鲁棒性(Goodfel⁃low等,2015;Jetley等,2018;Kandi等,2017)和容量3个技术要求,而屏摄水印还应当满足高透明度、高嵌入效率、传输鲁棒性强以及对设备类型的适应性强4大要求。为了满足要求,现有方法往往通过寻找视觉不敏感点进行水印嵌入,来保证水印嵌入的不可见性;通过计算推理图像中不容易畸变的部分,来保证水印储存的鲁棒性(Moosavi-Dezfooli 等,2017);其中,也有部分方法通过特殊的水印信息构造形式,达成特定的目的。目前有4 种主流方法。基于关键点的方法(Fang 等,2019;Li 等,2021)使用关键点检测算法获取图像的关键点,在关键点的邻域使用频域隐写。然而,虽然关键点具有拍摄和图像攻击下的鲁棒性,但计算过于耗时,不能满足桌面水印要求的高嵌入效率。基于模板的方法(Fang 等,2022)使用不同的模板编码水印信息,具有很高的嵌入效率和提取精度,但这类方法本质上是半透明二维码,带来图像的巨大变化,造成图像质量的损失,往往需要结合时域水印方法弥补视觉损失。基于频域的方法(Ruanaidh 和Pun,1998)具有较高的嵌入效率,但鲁棒性与其他方法相比较差且可能影响图像质量。

根据是否使用载体图像信息,基于深度神经网络的方法可以划分为依赖深度隐藏(dependent deep hid⁃ing,DDH)和通用深度隐藏(universal deep hiding,UDH)两种。DDH方法,如Tancik等人(2020)的方法具有很好的提取精度和很高的掩蔽性,但其过于依赖载体图像信息,导致计算时间的大量消耗;完全独立于载体图像的UDH方法,如Zhang等人(2020)提出的完全不依赖载体图像的深度水印方法,UDH方法具有可提前计算水印残差的优势,实际应用中的计算时间几乎为0,但对于某些载体图像的适应性较低,在亮度较高的载体图像中无法正常工作,无法应对JPEG(joint photographic experts group)压缩攻击。另外,现有全部的深度水印方法和部分传统方法均使用了透视畸变矫正作为提取水印前的预处理,而矫正的前提是获得图像的4个顶点和图像原本大小。若在实际使用中只拍摄了部分图像或无法知晓原图大小,则无法进行矫正,水印的鲁棒性就无法得到保证,这是现有方法的重大缺陷。此外,包括基于DNN(deep neural network)的方法在内的部分方法使用了噪声层以模拟图像在多种攻击下的图像内容破坏和真实屏摄中物理成像和光学现象带来的信息损失。Zhu等人(2018)提出的HiDDeN(hiding data with deep networks)首次在深度水印网络中使用了噪声层,但是只进行了数字图像处理中的图像扰动;Wengrowski 和Dana(2019)借助大量的拍摄数据集来拟合拍摄下的光场变化,设计了一个风格迁移网络;Tancik 等人(2020)提出了StegaStamp(steganography stamp)网络并设计了一个能够模拟拍摄的图像处理和几何变换的噪声层,在HiD⁃DeN基础上加入图像扭曲的几何变化。这些方法采用多个不同的噪声层模式或随着epoch的增加来提高噪声层强度以实现样本的多样性,但仍旧存在训练样本丰富性不足的问题。若将水印固定,噪声层可以被真实相机拍摄替代(Fang等,2022)。然而,现有方法对噪声层在网络中的作用有一定的误解,当噪声层和解码网络被视为整体,噪声层的实际作用应当被视为解码网络的数据集增广,而不仅仅是对含水印图像的攻击。

考虑到上述问题,本文设计了一种最小依赖载体图像隐藏水印信息的屏摄鲁棒水印,本文认为水印嵌入模块应当在使用载体图像信息的前提下,将屏摄水印对载体图像的依赖控制在最小,使得计算时间、图像质量以及水印提取鲁棒性达到平衡。主要贡献如下:1)针对编码网络,为了保证水印嵌入模块的相应速度,极大简化DDH 框架中的编码网络,并加入Sobel算子,引入载体图像的边缘信息使得网络更快收敛,以平衡简化网络带来的网络提取能力损失,大大缩短了实际使用中的计算时间;2)为了更好地训练网络,本文重新定义噪声层,改进了原有噪声层的设计结构,依据样本均衡原则对不同的图像扰动操作进行随机判定,大大加强了攻击样本的多样性和均衡性;3)为了提高解码网络能力,在噪声层中加入缩放操作,这使得水印解码网络摆脱了透视畸变矫正的限制,可直接提取水印获取水印信息。

1 算法原理与技术细节

受到UDH 网络框架的启发,理想的深度水印网络应当有限制地使用来自载体图像的信息。本文算法的网络框架与带有预处理网络的DDH 框架(Zhong 等,2021)相似,但是设计预处理网络和编码网络的动机不同。本文算法分离预处理网络和编码网络的主要目的在于节约实际使用中的计算时间,而Zhong 等人(2021)算法主要用于增加水印掩蔽性。基于深度学习技术框架,本文提出了一种最小依赖隐藏(least dependent hiding,LDH)的屏摄鲁棒水印算法,不仅实现了高掩蔽性和屏摄攻击下的水印鲁棒性,而且能够有效减小网络计算时间,使得本文算法能够实际使用在真实远程桌面场景。

1.1 网络框架

本文算法使用了三阶段的网络框架,即预处理网络、编码网络和解码网络,如图1 所示。预处理网络使用U-Net 网络框架(Ronneberger 等,2015)。输入为二值图形式的水印信息,输出为经过sigmoid 激活函数的单通道特征图Feat1。编码网络只使用水印信息作为网络输入,该部分网络在实际使用中可以提前进行计算并保存特征,从而有效缓解深度网络在桌面场景下计算速度慢的缺陷。

图1 LDH网络架构图Fig.1 Architecture of LDH network

编码网络使用了3 层卷积和一个Sobel 算子。通过观察其他深度水印的残差图y,水印载体图像的边缘信息对于深度水印的不可见性和图像质量非常重要,且对网络的收敛速度和特征提取有正面作用,众多深度水印方法的残差图往往在视觉上近似于载体图像的边缘图,并在边缘图的邻域内有较高的信息密度。因此,本文算法在编码网络中加入载体图像的边缘图,作为减小网络深度的有效补偿措施。在网络实现上,使用Sobel 算子提取载体图像Y通道的边缘特征,并将其与单通道特征图Feat1堆叠,进行两次卷积操作,获得三通道特征图Feat2;最后将Feat2与水印载体图像x堆叠,进行一次卷积操作后通过Tanh 激活函数得到残差图。最终获得含水印图像z,具体为

解码网络使用6 层卷积模块,经过sigmoid 激活函数后,输出水印提取结果。

1.2 屏幕拍摄攻击模拟

为了使得网络获得真实拍摄环境下的鲁棒性,在训练过程中,算法在编码网络和解码网络之间应用了一组可微的图像扰动,以近似模拟物理成像和光学现象带来的图像信息损失,如图像模糊、扭曲、摩尔纹以及光照等,这种图像扰动称为噪声层。

本文算法提出的噪声层可以通过如图2 所示的一系列可微变化来模拟屏幕拍摄。StegaStamp 提出的噪声层(noise layer)并不能有效模拟拍摄过程中的图像信息损失,主要原因是该方法提出的噪声层中缺少了关键的缩放攻击。该方法在提取水印前使用目标识别网络和透视畸变矫正预处理以回避缩放攻击。然而,随着手机相机的不断升级,拍摄照片的分辨率往往在4 000 × 4 000 像素以上,与原图相比可能是5 倍到10 倍的放大,这要求水印具有极高的缩放鲁棒性,因此缩放攻击在屏摄中具有重要地位。

图2 图像扰动层中的各种图像扰动模块Fig.2 Various disturbance models in the noise layer((a)up-sampling;(b)Gaussian blur;(c)JPEG compression;(d)down-sampling;(e)brightness adjustment;(f)rotation;(g)noise addition;(h)warping)

为了更好地训练网络,本文算法重新定义了噪声层,加入了关键的缩放攻击,并通过噪声层对水印任务进行数据增广,使得网络具有更高的鲁棒性。本文算法噪声层在水印任务的不同图像扰动模块之间加入随机判定模块,通过随机数判定该图像扰动模块是否生效,使得解码网络的输入数据具有更高的多样性和均衡性。本文认为,受到攻击时的水印提取与不受到攻击时的水印提取是一体两面的,水印的鲁棒性训练应当以不受到攻击的水印能够准确提取为前提,鲁棒性优良的水印应当在受到攻击、不受攻击以及受到部分类型的攻击下均能有效提取,这在本文算法提出的噪声层中由随机判定模块实现。

本文算法提出的噪声层主要包括几何变换和图像处理变换。几何变换包括放大、缩小、旋转以及图像扭曲,均使用仿射变换实现;图像处理变换包括高斯模糊、JPEG可微压缩(Zhan等,2020)、亮度调节以及噪声。

若进行的图像扰动模块为几何变换,则对含水印图像和作为GT(ground truth)的二值图水印信息做相同的图像扰动;若进行的图像扰动模块为图像处理,如加入噪声、JPEG 可微压缩、模糊和亮度变化等,则只对含水印图像进行图像扰动。在训练中先进行几何变换再进行图像处理。

1.3 数据集制作

为了体现本文算法在桌面防盗摄问题中的作用,设置水印信息为用户名、IP和时间的二值图像来准确溯源。具体生成过程为,随机生成对应格式的“用户名—IP—时间”的水印信息字符串,将其转化为图像形式,并放大至填充全图,将其作为体现身份的数字签名,如图3(a)所示。

图3 两种可能的水印形式及其水印提取结果Fig.3 Two possible watermark forms and their retrieved results((a)valid watermark form;(b)invalid watermark form;(c)retrieved watermark 1;(d)retrieved watermark 2)

实验结果显示,如图3(b)所示的“大字符—小字符”并存的水印信息形式只有大字符能够在实际提取水印时被提取,小字符只能提取出模糊的伪影,完全无法鉴别,如图3(d)所示。这表明屏摄鲁棒水印中水印信息中的像素宽度必须在阈值以上,强度过弱的水印信息在屏幕—相机的光场信息传输中必然丢失。如图3(b)所示的水印信息形式在物理层面上无法在屏摄鲁棒水印中使用。

对于载体图像,本文使用DIV2K数据集的800幅图像,并将其调整到统一大小。

1.4 模型训练

本文采用视觉相似度LPIPS 损失(learned per⁃ceptual image patch similarity loss,LLPIPS)(Zhang 等,2018)、L2 损失(L2)以及结构相似性指标度量SSIM损失(structure similarity index measure loss,LSSIM)对载体图像和含水印图像之间的差异进行约束;使用信息熵损失(information entropy loss,LIE)和加权交叉熵损失(weighted cross entropy loss,LWCE)对水印提取结果进行约束。最终损失函数Lall计算为

式中,损失权重系数λ1,λ2,λ3,λ4,λ5分别设置为0.1,0.1,0.5,0.1,1.0,Lh表示约束含水印图像的损失函数之和,Lr表示约束水印提取结果的损失函数之和。

本文模型训练和测试基于PyTorch进行,使用一块NVIDIA GeForce GTX 2080Ti GPU。采用Adam 优化器(Kingma 等,2017),批处理大小为2。在训练阶段,输入图像采用的分辨率为256 × 256 像素。初始学习率设置为1E-3,每20 个epoch 调整学习率为原本的0.1 倍,并使用不含几何变换的噪声层进行模型训练得到一个预训练模型。

2 实验结果与分析

2.1 评价指标

通过准确率(accuracy,ACC)、F1分数(F1 score,F1)、峰值信噪比(peak signal-to-noise ratio,PSNR)和结构相似性指标度量(structure similarity index mea⁃sure,SSIM)等客观评价指标,评估由各算法得到的含水印图像和载体图像之间的图像相似度以及在各种环境下的水印提取鲁棒性。准确率、F1 分数越高表示水印提取完整性越高;峰值信噪比和结构相似性指标越大表示两幅图像越接近、水印的掩蔽性越高。本文算法的测试数据均来自DIV2K(DIVerse 2K)数据集的验证子集。

2.2 实验结果

本文算法的水印效果类似于UDH 水印,但具有更强的鲁棒性和不可见性,对不同的载体图像具有一定的自适应性;并结合实际用途,将编码网络和预处理网络分离,本文算法的编码网络仅有8 KB 的参数,经过计算在GPU 环境下本文算法对1 024 ×1 024 像素的图像嵌入水印,编码网络需要0.17 s,而计算预处理网络和编码网络共需要1.30 s,实际使用中预处理网络可以提前计算,本文算法的计算复杂度远低于已有方法,具有很高的嵌入效率。

不同水印算法的性能指标如表1 所示,本文算法的ACC、F1、PSNR 和SSIM 在有无攻击下均能取得较高的值。其中,“本文方法*”表示本文算法的网络结构使用StegaStamp方法提出的噪声层(noise layer)训练的结果;Tancik等人(2020)表示使用StegaStamp算法在DIV2K 数据集下隐写50 bit 长度的信息;DWT(discrete wavelet transform)为DWT-DCT-SVD频域水印方法(Singh 和Singh,2017),嵌入100 bit 信息;在ACC和F1两列数据中右侧指标表示没有加入攻击下的指标(with attacks,W),左侧指标表示加入噪声、高斯模糊和亮度—对比度调节攻击下的指标(without attacks,O),在图像噪声方面,本文采取0.05 幅值范围的随机像素值波动加噪;在高斯模糊方面,本文采取均值为1、方差为2的高斯核;在亮度—对比度调节方面,本文通过随机的概率分布,模拟亮度对比度变化,取值范围为[-0.1,0.1]。

表1 不同水印算法的性能指标Table 1 Indexes of different watermarking algorithms

如表1 所示,本文网络和噪声层确实具有优于以往方法的性能,主要体现在生成水印具有无攻击和有攻击下的多种应用环境下的高水印提取鲁棒性和高图像质量。受益于本文提出的噪声层能够保证生成数据的多样性和均衡性,本文算法在受到攻击和不受攻击两种环境下均能获得很高的水印提取准确度。表1 中“本文方法*”的测试结果说明在训练中对所有样本进行攻击不仅在不受到攻击的测试中提取准确度和图像质量低于本文算法结果,而且在图像攻击下的鲁棒性更低。

为了探究表1 中“本文方法*”结果较低的原因,对比了本文算法框架下使用不同噪声层的训练—验证损失函数变化曲线。图4(a)(b)中虚线为训练曲线(有噪声层攻击),实线为验证曲线(没有攻击),横坐标为训练轮次(epoch),纵坐标为损失函数数值(loss)。在本文算法噪声层的数据增广下,网络可以有效拟合有无攻击下的多种数据,无攻击下的水印提取准确率随着训练轮次增加而增加;而Stega⁃Stamp 方法提出的噪声层中的训练—验证曲线主要问题在于网络在难度较低的验证集中的损失函数数值大于难度较高的训练集,这说明该方法对所有训练图像加入噪声层的攻击导致了网络对受到攻击的图像过拟合。

图4 采用不同噪声层的训练—验证曲线Fig.4 The train-val curves with different noise layers((a)the noise layer in StegaStamp;(b)our noise layer)

图5 展示了载体图像和本文算法得到的含水印图像,左下角为放大8倍的局部图像。

图5 含水印图像和载体图像(放大8倍)Fig.5 Container images and cover images(8 × magnification)((a)container images;(b)cover images)

不难看出,本文算法的不可见性较强,在纹理丰富的图像区域可以较好地隐藏水印信息且与原图不可分辨,含水印图像具有很高的图像质量和不可见性。LDH 水印算法虽然在部分含水印图像放大8 倍之后存在细微痕迹,但在正常情况下难以被人眼察觉,不影响视觉体验。

不同攻击下水印提取效果如图6 所示,模型在多种常见图像攻击下均具有较高的鲁棒性。第1、2行是加入噪声、高斯模糊和亮度调整攻击后的实验结果;第3、4 行是加入噪声、高斯模糊和亮度调整和扭曲攻击后的实验结果;第5、6 行是加入噪声、高斯模糊和亮度调整攻击和放大攻击后的实验结果,提取结果增加了30 倍对比度,受到放大攻击后水印提取颜色变淡,可以通过增加对比度获取更好的水印识别效果;第7行是JPEG 压缩(压缩质量为95)和多重水印攻击,即在LDH 水印算法的基础上覆盖DWT-DCT-SVD 频域水印方法(Singh 和Singh,2017)后的实验结果。本文算法在含水印图像受到上述攻击后均能提取出水印信息。

图7为本文算法残差图经过放大和增加15倍对比度后的结果。由图7 可知,LDH 水印算法的基本形式为基于交错线条的空域隐写。

图7 本文水印残差图(线性放大15倍)Fig.7 Our watermark residuals(linearly amplified 15 times)

图8 为本文算法在屏摄下的实验结果。如图8第1、2 行所示,本文算法可以在相机镜头贴近屏幕拍摄环境下提取水印,但在相机镜头贴近屏幕拍摄下的提取成功率不高,且只能正面拍摄;图8 第3、4行是相机镜头远离屏幕拍摄下的提取结果,在镜头远离屏幕一定距离的情况下,本文算法可以在倾斜拍摄角度下完成拍摄和提取,且具有很高的提取成功率。在拍摄过程中,相机镜头贴近与远离屏幕是两个难度相差很大的应用场景,当相机镜头贴近屏幕时往往会拍摄出屏幕上的小灯泡,图像质量急剧下降。本文算法在相机镜头贴近和远离屏幕两种应用环境下均能不借助图像透视畸变矫正实现水印的提取,且水印提取准确度可以满足实际使用要求。

图8 拍摄攻击下的水印提取结果Fig.8 Our watermark extraction results under shooting attack((a)the container images under screen shooting attack;(b)the retrieved watermark images)

图9 为本文算法在JPEG 压缩攻击下的水印提取结果的F1 指标。在训练中的噪声层中,设置了最低压缩质量为80;在测试时,当压缩质量在80 以上能够有效提取嵌入的水印;而在压缩质量为70 时,仍能够提取有效信息;当压缩质量为60,则只能够提取分离的方格状的水印信息,水印被破坏。

图9 本文算法的F1指标与JPEG压缩质量关系图Fig.9 Relationship between our F1 and JEPG compression quality

3 结论

本文围绕数字水印在桌面防盗摄问题中的应用,针对屏摄水印算法进行研究。分析了4 种主流方法的计算复杂度、鲁棒性和图像质量之间的不平衡,并指出其中部分方法采用透视畸变矫正预处理带来的重大缺陷和现有方法中使用的噪声层的不合理性。本文提出了最小依赖隐藏的屏摄鲁棒水印方法,其主要创新点总结如下:使用Sobel算子,增加网络的收敛速度,并简化水印嵌入网络,这大大减小了实际应用中水印计算时间;为了训练网络的屏摄鲁棒性,改进了原有噪声层的设计结构,并将噪声层重新定义为数据增广模块,通过对不同的图像扰动操作进行随机判定,加强了水印任务中的样本均衡性和多样性;网络扩展水印的应用场景,去除了透视畸变矫正,在噪声层中加入缩放操作,使得无需矫正含水印图像,即可提取水印获取水印信息。最小依赖隐藏的屏摄鲁棒水印方法相比以往方法具有更广泛的应用场景和更高的图像质量。

研究存在以下不足:1)本文设计的屏摄鲁棒水印在图像的大片平坦区域中存在细微痕迹,可能被人眼察觉;2)无法应对裁剪攻击,残缺图像中提取的水印为图像对应位置的水印图像信息;3)拍摄环境下,涉及图像放大攻击时,需要对比度增强后处理。下一步工作将约束平坦区域内的图像质量,并探究屏幕拍摄下的水印信息像素宽度阈值大小,确定最低可提取的水印信息像素宽度,以此为依据对水印进行重复平铺,以保证残缺图像中的水印信息完整性。此外,还将深化解码网络,增加提取成功率。

猜你喜欢

鲁棒性载体噪声
创新举措强载体 为侨服务加速跑
坚持以活动为载体有效拓展港澳台海外统战工作
噪声可退化且依赖于状态和分布的平均场博弈
荒漠绿洲区潜在生态网络增边优化鲁棒性分析
基于确定性指标的弦支结构鲁棒性评价
控制噪声有妙法
基于非支配解集的多模式装备项目群调度鲁棒性优化
非接触移动供电系统不同补偿拓扑下的鲁棒性分析
TiO_2包覆Al_2O_3载体的制备及表征
一种基于白噪声响应的随机载荷谱识别方法