CN114529442A - 一种采用两阶段预编码和小波网络的鲁棒图像水印方法 - Google Patents
一种采用两阶段预编码和小波网络的鲁棒图像水印方法 Download PDFInfo
- Publication number
- CN114529442A CN114529442A CN202210181710.3A CN202210181710A CN114529442A CN 114529442 A CN114529442 A CN 114529442A CN 202210181710 A CN202210181710 A CN 202210181710A CN 114529442 A CN114529442 A CN 114529442A
- Authority
- CN
- China
- Prior art keywords
- image
- watermark
- network
- robust
- coding
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 61
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 238000013528 artificial neural network Methods 0.000 claims abstract description 15
- 238000012549 training Methods 0.000 claims description 28
- 230000008569 process Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 9
- 238000005070 sampling Methods 0.000 claims description 9
- 238000003860 storage Methods 0.000 claims description 9
- 238000012935 Averaging Methods 0.000 claims description 4
- 238000000605 extraction Methods 0.000 claims description 4
- 230000004393 visual impairment Effects 0.000 claims description 4
- 230000003213 activating effect Effects 0.000 claims description 3
- 238000000926 separation method Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 abstract description 12
- 230000007246 mechanism Effects 0.000 abstract description 10
- 230000000873 masking effect Effects 0.000 abstract description 7
- 230000006870 function Effects 0.000 description 20
- 238000010586 diagram Methods 0.000 description 8
- 238000004364 calculation method Methods 0.000 description 5
- 238000013527 convolutional neural network Methods 0.000 description 4
- 238000013139 quantization Methods 0.000 description 4
- 230000007547 defect Effects 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 238000000638 solvent extraction Methods 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000000903 blocking effect Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000003672 processing method Methods 0.000 description 1
- 230000000750 progressive effect Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000009827 uniform distribution Methods 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/0021—Image watermarking
- G06T1/005—Robust watermarking, e.g. average attack or collusion attack resistant
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4038—Image mosaicing, e.g. composing plane images from plane sub-images
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/10—Image enhancement or restoration using non-spatial domain filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T9/00—Image coding
- G06T9/002—Image coding using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20048—Transform domain processing
- G06T2207/20064—Wavelet transform [DWT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明针对现有技术的局限性,提出了一种采用两阶段预编码和小波网络的鲁棒图像水印方法,将两阶段水印信息预处理方案与掩膜机制严密切合,能够通过冗余编码使得水印信息均匀地分布在图像中,同时结合掩膜机制,在图像富纹理区域嵌入强度更高的水印并且降低了水印在图像平滑区域的嵌入强度,保障了图像的视觉质量;而在水印容量上,一方面小波集成神经网络对鲁棒水印有所提升;另一方面,两阶段水印信息预处理方案的嵌入机制允许手动控制水印的冗余度,从而提升了容量。
Description
技术领域
本发明涉及多媒体内容安全技术领域,具体地,涉及深度学习技术在该领域的应用;更具体的,涉及一种采用两阶段预编码和小波网络的鲁棒图像水印方法。
背景技术
在图像水印的技术中,存在一种基于深度学习的抗打印拍摄鲁棒水印方法:StegaStamp,该方法主要包括编码器和解码器两部分,编码器和解码器均是由卷积神经网络构成。其中,编码器使用U-Net风格的神经网络架构,输入为一张400×400大小的3通道RGB图像和100比特的二进制信息序列,该信息序列经过一层全连接层形成50×50×3的张量,再上采样成400×400×3的张量,和图像数据张量拼接形成400×400×6的张量,再送入编码器网络。输出为3通道RGB残差(residual)图像,该残差图像加上原图像即得到最终的含水印图像。而解码器首先使用了空间变换网络(Spatial Transformer Network,STN),使解码器对较小的视角变化具备一定的鲁棒性,然后是卷积神经网络,最后的全连接输出层接sigmoid,以使输出在[0,1]范围内,最后取整得到二进制信息序列。解码器的输入是含水印图像经过打印拍摄后,由检测器检测得到的水印图像,该图像也为400×400大小的3通道RGB图像。解码器输出为100比特的二进制信息序列,表示从含水印图像中提取出的水印信息。
但是,上述现有技术有三个较为突出的缺点。
首先,可嵌入信息容量较小。StegaStamp在保证较好鲁棒性的前提下,对于400*400分辨率的载体图像,可以嵌入100比特,去除BCH纠错编码的监督比特后,有效负载只有56比特。StegaStamp为了抵抗几何变化攻击,一般将水印嵌入在图像低频分量上,而低频信息的整体容量本身就小,加上嵌入中本身存在的冗余,虽然鲁棒性得到了保证,但是容量空间却受到了压缩。
其次,视觉质量不佳。StegaStamp为了抵抗几何变化攻击,水印信息一般嵌入在低频分量,因此在水印图像的平滑区域形成肉眼可见的阴影。
最后,嵌入不灵活。StegaStamp是一种端到端的图像鲁棒水印解决方案。在使用中,它只存在唯一一种嵌入强度和嵌入容量。想要使用新的嵌入强度和嵌入容量,就必须重新训练模型。这使得它嵌入不够灵活。
发明内容
针对现有技术的局限,本发明提出一种采用两阶段预编码和小波网络的鲁棒图像水印方法,本发明采用的技术方案是:
一种采用两阶段预编码和小波网络的鲁棒图像水印方法,通过以下步骤进行水印信息的嵌入:
S11,获取载体图像以及水印信息;计算所述载体图像的掩膜;通过两阶段预编码将所述水印信息转换为消息图像;
S12,将所述载体图像以及消息图像,输入预设的鲁棒图像水印网络,通过所述鲁棒图像水印网络生成初步残差水印;所述鲁棒图像水印网络由鲁棒图像水印网络训练基础框架训练获得;所述鲁棒图像水印网络训练基础框架中包括分别由小波集成神经网络构成的编码器以及解码器;
S13,将所述载体图像的掩膜以及所述初步残差水印相乘获得最终残差水印;
S14,将所述最终残差水印与所述载体图像相加,获得嵌入水印后的图像。
相较于现有技术,本发明将两阶段水印信息预处理方案与掩膜机制严密切合,能够通过冗余编码使得水印信息均匀地分布在图像中,同时结合掩膜机制,在图像富纹理区域嵌入强度更高的水印并且降低了水印在图像平滑区域的嵌入强度,保障了图像的视觉质量;而在水印容量上,一方面小波集成神经网络对鲁棒水印有所提升;另一方面,两阶段水印信息预处理方案的嵌入机制允许手动控制水印的冗余度,从而提升了容量。
作为一种优选方案,在所述编码器中,包括以下处理过程:
输入编码器的载体图像经过一个二维卷积层提取特征后,通过三个离散小波变换模块逐步下采样得到所述载体图像的高维特征;
输入编码器的消息图像经过一个二维卷积层提取特征后,与所述载体图像的高维特征拼接;将拼接结果通过三个逆离散小波变换模块逐步上采样将拼接结果通过三个逆离散小波变换模块逐步上采样,每步上采样后都与对应下采样过程中相同大小的特征图进行拼接,最后再通过一个二维卷积层输出。
作为一种优选方案,在所述解码器中,输入解码器的图像在依序经过一个二维卷积层、三个离散小波变换模块后再通过一个二维卷积层输出解码结果。
作为一种优选方案,所述鲁棒图像水印网络训练基础框架的总损失函数按以下公式表示:
其中,m1,m2,m3表示损失权重;Lpips(Cover,C')表示载体图像Cover与嵌入水印后的图像C`之间的Lpips视觉损失函数;均方误差损失函数W,H,C分别为张量的宽、高、通道数;Secret表示水印信息,S`表示解码信息。
作为一种优选方案,通过以下步骤对嵌入水印后的图像进行解码:
S21,计算嵌入水印后的图像的掩膜;
S22,将嵌入水印后的图像输入所述鲁棒图像水印网络,通过所述鲁棒图像水印网络得到初步的解码结果;
S23,以嵌入水印后的图像的掩膜作为权重与初步的解码结果相乘,获得加权的解码结果;
S24,在水平和垂直方向对加权的解码结果进行切分,对切分结果求平均后使用阶梯函数进行激活,获得最终的解码结果。
作为一种优选方案,在所述离散小波变换模块中,包括以下处理过程:
在所述离散小波变换模块的输入经过一个卷积层后,通过离散小波变换进行下采样把该卷积层得到的结果转化成LL,LH,HL,HH四个子带;将LL,LH,HL,HH的通道合并再送入一个卷积层后输出。
作为一种优选方案,在所述逆离散小波变换模块中,包括以下处理过程:
在所述逆离散小波变换模块的输入经过一个卷积层后,通过分离通道,得到等分的LL,LH,HL,HH四个子带;对LL,LH,HL,HH进行逆离散小波变换,将逆离散小波变换的结果送入一个卷积层后输出。
本发明还提供以下内容:
一种采用两阶段预编码和小波网络的鲁棒图像水印系统,包括水印信息嵌入单元,所述水印信息嵌入单元包括预处理子单元、初步残差水印获取子单元、最终残差水印获取子单元以及相加操作子单元;所述预处理子单元分别连接所述初步残差水印获取子单元、最终残差水印获取子单元以及相加操作子单元;所述初步残差水印获取子单元连接所述最终残差水印获取子单元;所述最终残差水印获取子单元连接所述相加操作子单元;其中:
所述预处理子单元用于获取载体图像以及水印信息;计算所述载体图像的掩膜;通过两阶段预编码将所述水印信息转换为消息图像;
所述初步残差水印获取子单元用于将所述载体图像以及消息图像,输入预设的鲁棒图像水印网络,通过所述鲁棒图像水印网络生成初步残差水印;所述鲁棒图像水印网络由鲁棒图像水印网络训练基础框架训练获得;所述鲁棒图像水印网络训练基础框架中包括分别由小波集成神经网络构成的编码器以及解码器;
所述最终残差水印获取子单元用于将所述载体图像的掩膜以及所述初步残差水印相乘获得最终残差水印;
所述相加操作子单元用于将所述最终残差水印与所述载体图像相加,获得嵌入水印后的图像。
一种存储介质,其上储存有计算机程序,所述计算机程序被处理器执行时实现前述的采用两阶段预编码和小波网络的鲁棒图像水印方法的步骤。
一种计算机设备,包括存储介质、处理器以及储存在所述存储介质中并可被所述处理器执行的计算机程序,所述计算机程序被处理器执行时实现前述采用两阶段预编码和小波网络的鲁棒图像水印方法的步骤。
附图说明
图1为本发明实施例1提供的采用两阶段预编码和小波网络的鲁棒图像水印方法进行水印信息的嵌入的流程示意图;
图2为本发明实施例1提供的采用两阶段预编码和小波网络的鲁棒图像水印方法进行水印信息的嵌入的原理示意图;
图3为本发明实施例1的两阶段预编码运行示例;
图4为本发明实施例1提供的鲁棒图像水印网络训练基础框架的结构示意图;
图5为本发明实施例1提供的离散小波变换模块的结构示意图;
图6为本发明实施例1提供的逆离散小波变换模块的结构示意图;
图7为本发明实施例1提供的采用两阶段预编码和小波网络的鲁棒图像水印方法对嵌入水印后的图像进行解码的流程示意图;
图8为本发明实施例1提供的采用两阶段预编码和小波网络的鲁棒图像水印方法对嵌入水印后的图像进行解码的原理示意图;
图9为本发明实施例2提供的采用两阶段预编码和小波网络的鲁棒图像水印系统示意图。
具体实施方式
附图仅用于示例性说明,不能理解为对本专利的限制;
应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。以下结合附图和实施例对本发明做进一步的阐述。
为了解决现有技术的局限性,本实施例提供了一种技术方案,下面结合附图和实施例对本发明的技术方案做进一步的说明。
实施例1
请参考图1以及图2,一种采用两阶段预编码和小波网络的鲁棒图像水印方法,通过以下步骤进行水印信息的嵌入:
S11,获取载体图像cover以及水印信息;计算所述载体图像的掩膜mask;通过两阶段预编码将所述水印信息转换为消息图像Secret;
S12,将所述载体图像cover以及消息图像Secret,输入预设的鲁棒图像水印网络,通过所述鲁棒图像水印网络生成初步残差水印residual;所述鲁棒图像水印网络由鲁棒图像水印网络训练基础框架训练获得;所述鲁棒图像水印网络训练基础框架中包括分别由小波集成神经网络构成的编码器P_Net以及解码器R_Net;
S13,将所述载体图像的掩膜mask以及所述初步残差水印residual相乘获得最终残差水印;
S14,将所述最终残差水印与所述载体图像cover相加,获得嵌入水印后的图像C'。
上述步骤可以公式的形式表示为:
residual=P_Net(cover,Secret)
mask=calc_mask(cover)
C'=cover+mask*residual
相较于现有技术,本发明将两阶段水印信息预处理方案与掩膜机制严密切合,能够通过冗余编码使得水印信息均匀地分布在图像中,同时结合掩膜机制,在图像富纹理区域嵌入强度更高的水印并且降低了水印在图像平滑区域的嵌入强度,保障了图像的视觉质量;而在水印容量上,一方面小波集成神经网络对鲁棒水印有所提升;另一方面,两阶段水印信息预处理方案的嵌入机制允许手动控制水印的冗余度,从而提升了容量。
具体的,在本领域中,图像水印方法指对图像水印的处理方法,可以包括将水印信息嵌入图像的过程,也可以包括从图像中解码水印信息的过程。
针对嵌入不灵活的缺点,本实施例提出了一种两阶段预编码的方案。在这个方案中,本实施例将原本应该直接嵌入的二进制比特串(水印信息)转换为幅值可调整的消息图像,然后以图藏图的方法将这个消息图像嵌入到载体中。则由此能够根据实际使用中的需求:通过调整消息图像的幅值大小,可以调节水印的嵌入强度;通过调整消息图像的冗余程度,则可以调节水印的容量大小和鲁棒性。这本实施例所提供的方案使得无需多次训练,简单地设置参数就可以实现不同容量,不同强度的鲁棒水印嵌入。
两阶段预编码是对水印信息的一种预处理,它把原本的二进制比特串转换成一种适合嵌入的消息图像。在第一阶段中,使用BCH纠错码编码,将原本为长度为168的比特序列扩充为300比特。在第二阶段中使用冗余编码。
以图3为例,先将300比特的信息重新排列成10×10×3的张量,然后在水平方向和垂直方向上重复排列这个张量5次,得到大小为50×50×3的新张量作为Secret。新张量包含原本300比特信息的25次冗余。此外,还可以对新张量中的值进行一些处理:用-x取代原张量中的0,用x取代原张量中的1。在训练阶段中,可以使用x~U(-1,1)作为嵌入信息;在实际嵌入中,|x|的值可以用于控制水印的嵌入强度,|x|的值越大,水印强度越高,鲁棒性越强,视觉效果越差。x的符号则表示嵌入值。
针对图像视觉质量不佳的缺点,本实施例水印的嵌入掩膜,大幅提升嵌入水印后图像的视觉质量。更具体的,作为一种优选实施例,可以使用图像局部复杂度作为水印掩膜,使用分块DCT系数量化后的L0范数作为图像局部复杂度的度量,后续实验表明:对于400x400载体图像,100比特嵌入,StegaStamp的PSNR(峰值信噪比,越高越好)为30.1dB,LPIPS(一种感知自然度评价方法,越低越好)为0.1,而本方法对应的PSNR为39.8dB,LPIPS为0.05。
掩膜机制是一种提高嵌入水印后的图像的视觉效果的方法。水印的掩膜Mask计算方法如下所示:
先把原RGB图像C转换成灰度图像I,然后再分块成8*8的像素块,使用JPEG压缩Q75量化后得到DCT系数矩阵T,取T矩阵的非零系数的个数||T||0使用tanh激活函数限制d在0-1之间,将d扩充成8*8的小块D。对每个8*8的像素块都做出上述处理,就得到的和原图长宽一致的掩膜。
进一步的,可以根据以下calc_mask函数的形式对掩膜Mask计算方法进行理解:
calc_mask函数具体计算过程如下所示:
记输入RGB图像为C,输出掩膜为M
1.首先将C通过色彩空间变化亮度通道I,即
I=0.299*R+0.587*G+0.114*B
2.将I以8*8大小的像素块分块处理,即
3.对每个像素块Bij先使用离散余弦变化(DCT)得到Hij
并对Hij使用JPEG压缩算法中Q75质量因子的量化矩阵Q进行量化。
4.对量化结果Tij取矩阵L0范数,并且通过tanh函数归一化处理
5.对每个dij进行扩充处理生成8×8的小块Dij
6.将所有的Dij进行拼接,最终生成掩膜M
针对容量不足的缺点,本实施例使用了小波集成神经网络的新框架解决鲁棒水印问题。小波集成神经网络是一种卷积神经网络,它将U-net型编码网络中的下采样和上采样层分别替换成小波分解(DWT)和逆小波分解(IDWT)。小波集成神经网络通过引入离散小波变换,可以有效去除传统CNN网络中由于直接下采样在特征图中引入的混叠噪声,显著提升了网络抗干扰性能。后续的实验结果表明,小波集成神经网络在多种low-level任务中表现相当不错。并且在图像鲁棒水印的传统方法中,小波域的嵌入方法相比于空域的嵌入方法具有更高的嵌入容量和鲁棒性。例如:StegaStamp嵌入容量是100比特,而本方法嵌入容量可以达到300比特+。
本实施例使用的鲁棒图像水印网络训练基础框架请参阅图4,主要包括编码器和解码器两部分(图中的虚线框),这两部分都是由小波集成神经网络构成。
在所述编码器中,包括以下处理过程:
输入编码器的载体图像经过一个二维卷积层提取特征后,通过三个离散小波变换模块逐步下采样得到所述载体图像的高维特征;
输入编码器的消息图像经过一个二维卷积层提取特征后,与所述载体图像的高维特征拼接;将拼接结果通过三个逆离散小波变换模块逐步上采样将拼接结果通过三个逆离散小波变换模块逐步上采样,每步上采样后都与对应下采样过程中相同大小的特征图进行拼接,最后再通过一个二维卷积层输出。
在所述解码器中,输入解码器的图像在依序经过一个二维卷积层、三个离散小波变换模块后再通过一个二维卷积层输出解码结果。
具体的,在一种可选实施例中,编码器的输入为一张400×400×3大小的RGB载体图像cover,以及50×50×3大小的水印信息Secret,输入经过第一个卷积层提取特征后,通过三个DWT_Block离散小波变换模块逐步下采样得到50×50×32大小的高维特征。同时通过一层卷积层后与图像的高维特征拼接,再通过IDWT_Block逆离散小波变换模块逐步上采样。在每次上采样后,都与前面下采样过程中同样大小的特征图进行拼接,最终输出为400×400×3大小的水印图像S_e,加上cover就是嵌入水印后的图像C'。C'通过模拟传输信道模块transform的干扰后,传入解码器R_Net得到解码信息S'。
DWT_Block离散小波变换模块的结构请参阅图5,在所述离散小波变换模块中,包括以下处理过程:
在所述离散小波变换模块的输入经过一个卷积层后,通过离散小波变换进行下采样把该卷积层得到的结果转化成LL,LH,HL,HH四个子带;将LL,LH,HL,HH的通道合并再送入一个卷积层后输出。
IDWT_Block逆离散小波变换模块的结构请参阅图6,在所述逆离散小波变换模块中,包括以下处理过程:
在所述逆离散小波变换模块的输入经过一个卷积层后,通过分离通道,得到等分的LL,LH,HL,HH四个子带;对LL,LH,HL,HH进行逆离散小波变换,将逆离散小波变换的结果送入一个卷积层后输出。
所述鲁棒图像水印网络训练基础框架在网络训练的过程中,输入cover使用mirflickr数据集,输入水印信息Secret使用-1到1的均匀分布生成虚拟的消息图像。
具体的,所述鲁棒图像水印网络训练基础框架的总损失函数由三部分组成。前两部分分别是图像cover和嵌入水印后的图像C'之间的Lpips视觉损失函数和L2损失函数,这两部分损失函数用于提高C'的视觉质量。本方法使用图藏图的方法完成水印嵌入,使用均方误差损失函数(Mean Square Error,MSE)来约束嵌入水印信息Secret和解码信息S'相近:这部分损失函数是为了适应鲁棒水印的解码准确率要求;而在StegaStamp中,这部分由sigmoid损失函数构成,它针对的是比特串的解码准确率而非图片的准确还原。通过使用均方误差损失函数,使得本方法可以使用同一模型嵌入不同强度的水印。
所述鲁棒图像水印网络训练基础框架的总损失函数按以下公式表示:
其中,m1,m2,m3表示损失权重;Lpips(Cover,C')表示载体图像Cover与嵌入水印后的图像C`之间的Lpips视觉损失函数;均方误差损失函数W,H,C分别为张量的宽、高、通道数;Secret表示水印信息,S`表示解码信息。
作为一种优选实施例,请参阅图7以及图8,通过以下步骤对嵌入水印后的图像进行解码:
S21,计算嵌入水印后的图像C'的掩膜M';
S22,将嵌入水印后的图像C'输入所述鲁棒图像水印网络,通过所述鲁棒图像水印网络得到初步的解码结果S';
S23,以嵌入水印后的图像的掩膜M'作为权重与初步的解码结果S'相乘,获得加权的解码结果S”;
S24,在水平和垂直方向对加权的解码结果S”进行切分,对切分结果求平均后使用阶梯函数进行激活,获得最终的解码结果out。
具体的,S”是一个大小为50×50×3的张量。将S”按照每10个像素一个单元,在水平和垂直方向进行切分,得到25个10×10×3的张量。把这25个向量求平均,用阶梯函数激活,就得到最终的解码结果out。使用公式表示如下:
S'=R_Net(C')
M'=calc_mask(C')
S”=S'⊙M'⊙表示两个矩阵逐个元素相乘
out=f(S)
本实施例与现有技术效果上的比对如下:
下表显示了本方法水印视觉效果与StegaStamp的对比(PSNR、SSIM越高越好,LPIPS越低越好)。可以看出,本方法在视觉质量方面对比StegaStamp有显著提升。
评价方式 | 本方法 | StegaStamp |
PSNR(dB) | 39.4 | 30.1 |
SSIM | 0.97 | 0.91 |
LPIPS | 0.02 | 0.10 |
下表显示了本方法在真实场景使用中的准确率对比,可以看出,本方法在更高嵌入容量的条件下保持和StegaStamp相近的准确率。
使用场景 | 本方法(300比特) | StegaStamp(100比特) |
屏幕拍摄(Acc:%) | 0.976 | 0.946 |
打印扫描(Acc:%) | 0.981 | 0.982 |
实施例2
一种采用两阶段预编码和小波网络的鲁棒图像水印系统,请参阅图9,包括水印信息嵌入单元1,所述水印信息嵌入单元1包括预处理子单元11、初步残差水印获取子单元12、最终残差水印获取子单元13以及相加操作子单元14;所述预处理子单元11分别连接所述初步残差水印获取子单元12、最终残差水印获取子单元13以及相加操作子单元14;所述初步残差水印获取子单元12连接所述最终残差水印获取子单元13;所述最终残差水印获取子单元13连接所述相加操作子单元14;其中:
所述预处理子单元11用于获取载体图像以及水印信息;计算所述载体图像的掩膜;通过两阶段预编码将所述水印信息转换为消息图像;
所述初步残差水印获取子单元12用于将所述载体图像以及消息图像,输入预设的鲁棒图像水印网络,通过所述鲁棒图像水印网络生成初步残差水印;所述鲁棒图像水印网络由鲁棒图像水印网络训练基础框架训练获得;所述鲁棒图像水印网络训练基础框架中包括分别由小波集成神经网络构成的编码器以及解码器;
所述最终残差水印获取子单元13用于将所述载体图像的掩膜以及所述初步残差水印相乘获得最终残差水印;
所述相加操作子单元14用于将所述最终残差水印与所述载体图像相加,获得嵌入水印后的图像。
作为一种优选实施例,还包括图像解码单元2;所述图像解码单元2包括掩膜计算子单元21、初步解码子单元22、加权解码子单元23以及最终解码子单元24;所述掩膜计算子单元21以及初步解码子单元22分别连接所述加权解码子单元23;所述加权解码子单元23连接所述最终解码子单元24;其中:
所述掩膜计算子单元21用于计算嵌入水印后的图像的掩膜;
所述初步解码子单元22用于将嵌入水印后的图像输入所述鲁棒图像水印网络,通过所述鲁棒图像水印网络得到初步的解码结果;
所述加权解码子单元23用于以嵌入水印后的图像的掩膜作为权重与初步的解码结果相乘,获得加权的解码结果;
所述最终解码子单元24用于在水平和垂直方向对加权的解码结果进行切分,对切分结果求平均后使用阶梯函数进行激活,获得最终的解码结果。
实施例3
一种存储介质,其上储存有计算机程序,所述计算机程序被处理器执行时实现实施例1中的采用两阶段预编码和小波网络的鲁棒图像水印方法的步骤。
实施例4
一种计算机设备,包括存储介质、处理器以及储存在所述存储介质中并可被所述处理器执行的计算机程序,所述计算机程序被处理器执行时实现实施例1中的采用两阶段预编码和小波网络的鲁棒图像水印方法的步骤。
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (10)
1.一种采用两阶段预编码和小波网络的鲁棒图像水印方法,其特征在于,通过以下步骤进行水印信息的嵌入:
S11,获取载体图像以及水印信息;计算所述载体图像的掩膜;通过两阶段预编码将所述水印信息转换为消息图像;
S12,将所述载体图像以及消息图像,输入预设的鲁棒图像水印网络,通过所述鲁棒图像水印网络生成初步残差水印;所述鲁棒图像水印网络由鲁棒图像水印网络训练基础框架训练获得;所述鲁棒图像水印网络训练基础框架中包括分别由小波集成神经网络构成的编码器以及解码器;
S13,将所述载体图像的掩膜以及所述初步残差水印相乘获得最终残差水印;
S14,将所述最终残差水印与所述载体图像相加,获得嵌入水印后的图像。
2.根据权利要求1所述的采用两阶段预编码和小波网络的鲁棒图像水印方法,其特征在于,在所述编码器中,包括以下处理过程:
输入编码器的载体图像经过一个二维卷积层提取特征后,通过三个离散小波变换模块逐步下采样得到所述载体图像的高维特征;
输入编码器的消息图像经过一个二维卷积层提取特征后,与所述载体图像的高维特征拼接;将拼接结果通过三个逆离散小波变换模块逐步上采样将拼接结果通过三个逆离散小波变换模块逐步上采样,每步上采样后都与对应下采样过程中相同大小的特征图进行拼接,最后再通过一个二维卷积层输出。
3.根据权利要求1所述的采用两阶段预编码和小波网络的鲁棒图像水印方法,其特征在于,在所述解码器中,输入解码器的图像在依序经过一个二维卷积层、三个离散小波变换模块后再通过一个二维卷积层输出解码结果。
5.根据权利要求1所述的采用两阶段预编码和小波网络的鲁棒图像水印方法,其特征在于,通过以下步骤对嵌入水印后的图像进行解码:
S21,计算嵌入水印后的图像的掩膜;
S22,将嵌入水印后的图像输入所述鲁棒图像水印网络,通过所述鲁棒图像水印网络得到初步的解码结果;
S23,以嵌入水印后的图像的掩膜作为权重与初步的解码结果相乘,获得加权的解码结果;
S24,在水平和垂直方向对加权的解码结果进行切分,对切分结果求平均后使用阶梯函数进行激活,获得最终的解码结果。
6.根据权利要求2或3所述的采用两阶段预编码和小波网络的鲁棒图像水印方法,其特征在于,在所述离散小波变换模块中,包括以下处理过程:
在所述离散小波变换模块的输入经过一个卷积层后,通过离散小波变换进行下采样把该卷积层得到的结果转化成LL,LH,HL,HH四个子带;将LL,LH,HL,HH的通道合并再送入一个卷积层后输出。
7.根据权利要求2所述的采用两阶段预编码和小波网络的鲁棒图像水印方法,其特征在于,在所述逆离散小波变换模块中,包括以下处理过程:
在所述逆离散小波变换模块的输入经过一个卷积层后,通过分离通道,得到等分的LL,LH,HL,HH四个子带;对LL,LH,HL,HH进行逆离散小波变换,将逆离散小波变换的结果送入一个卷积层后输出。
8.一种采用两阶段预编码和小波网络的鲁棒图像水印系统,其特征在于,包括水印信息嵌入单元(1),所述水印信息嵌入单元(1)包括预处理子单元(11)、初步残差水印获取子单元(12)、最终残差水印获取子单元(13)以及相加操作子单元(14);所述预处理子单元(11)分别连接所述初步残差水印获取子单元(12)、最终残差水印获取子单元(13)以及相加操作子单元(14);所述初步残差水印获取子单元(12)连接所述最终残差水印获取子单元(13);所述最终残差水印获取子单元(13)连接所述相加操作子单元(14);其中:
所述预处理子单元(11)用于获取载体图像以及水印信息;计算所述载体图像的掩膜;通过两阶段预编码将所述水印信息转换为消息图像;
所述初步残差水印获取子单元(12)用于将所述载体图像以及消息图像,输入预设的鲁棒图像水印网络,通过所述鲁棒图像水印网络生成初步残差水印;所述鲁棒图像水印网络由鲁棒图像水印网络训练基础框架训练获得;所述鲁棒图像水印网络训练基础框架中包括分别由小波集成神经网络构成的编码器以及解码器;
所述最终残差水印获取子单元(13)用于将所述载体图像的掩膜以及所述初步残差水印相乘获得最终残差水印;
所述相加操作子单元(14)用于将所述最终残差水印与所述载体图像相加,获得嵌入水印后的图像。
9.一种存储介质,其上储存有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的采用两阶段预编码和小波网络的鲁棒图像水印方法的步骤。
10.一种计算机设备,其特征在于:包括存储介质、处理器以及储存在所述存储介质中并可被所述处理器执行的计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7任一项所述的采用两阶段预编码和小波网络的鲁棒图像水印方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210181710.3A CN114529442A (zh) | 2022-02-25 | 2022-02-25 | 一种采用两阶段预编码和小波网络的鲁棒图像水印方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210181710.3A CN114529442A (zh) | 2022-02-25 | 2022-02-25 | 一种采用两阶段预编码和小波网络的鲁棒图像水印方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114529442A true CN114529442A (zh) | 2022-05-24 |
Family
ID=81623969
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210181710.3A Pending CN114529442A (zh) | 2022-02-25 | 2022-02-25 | 一种采用两阶段预编码和小波网络的鲁棒图像水印方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114529442A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117915127A (zh) * | 2024-03-19 | 2024-04-19 | 深圳市博瑞通信技术有限公司 | 一种广播电视信号内容安全加密传输方法 |
-
2022
- 2022-02-25 CN CN202210181710.3A patent/CN114529442A/zh active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117915127A (zh) * | 2024-03-19 | 2024-04-19 | 深圳市博瑞通信技术有限公司 | 一种广播电视信号内容安全加密传输方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | End-to-end Optimized Image Compression with Attention Mechanism. | |
CN101080931B (zh) | 用于对图像编码和解码的设备及其方法 | |
CN110232650B (zh) | 一种彩色图像水印嵌入方法、检测方法及系统 | |
JP2002325170A (ja) | 画像処理装置及びその方法並びにプログラムコード、記憶媒体 | |
Meerwald | Quantization watermarking in the JPEG2000 coding pipeline | |
EP1751982A1 (en) | Method and device for encoding blocks of values | |
CN114549273A (zh) | 基于深度神经网络的自适应鲁棒水印嵌入方法及系统 | |
CN115272044A (zh) | 基于混合频域通道注意力的深度图像水印方法 | |
CN113079378A (zh) | 图像处理方法、装置和电子设备 | |
Hamamoto et al. | Image watermarking technique using embedder and extractor neural networks | |
CN114529442A (zh) | 一种采用两阶段预编码和小波网络的鲁棒图像水印方法 | |
CN115988215A (zh) | 可变码率图像压缩方法、系统、装置、终端及存储介质 | |
US20220335560A1 (en) | Watermark-Based Image Reconstruction | |
Nair et al. | Deep-learning with context sensitive quantization and interpolation for underwater image compression and quality image restoration | |
EP2154649A1 (en) | An adaptive watermarking system and method | |
Guleryuz et al. | Sandwiched Image Compression: Increasing the resolution and dynamic range of standard codecs | |
CN116342362B (zh) | 深度学习增强数字水印不可感知性方法 | |
CN116567240A (zh) | 基于自适应通道和空间窗口熵模型的图像压缩方法及系统 | |
CN116503230A (zh) | 一种基于双通道的鲁棒图像水印算法 | |
Kountchev et al. | Multi-layer image transmission with inverse pyramidal decomposition | |
CN116029887A (zh) | 一种基于小波神经网络的图像大容量鲁棒水印方法 | |
Khalili | A comparison between digital image watermarking in tow different color spaces using dwt2 | |
CN114549302A (zh) | 一种图像超分辨率重建方法及系统 | |
CN114066709A (zh) | 一种基于深度学习的抗拍屏鲁棒水印系统及算法 | |
Yamauchi et al. | Neural Network Based Watermarking Trained with Quantized Activation Function |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |