一种基于神经网络的图像可见水印的定位和分割方法转让专利

申请号 : CN202110709821.2

文献号 : CN113379833B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 杨依忠李祥黄海霞张永强程心张章解光军

申请人 : 合肥工业大学

摘要 :

本发明公开了一种基于神经网络的图像可见水印的定位和分割方法,其步骤包括:1、水印图像数据集的生成;2、构建可见水印的定位和分割的深度学习网络框架;3、网络的训练;4、网络的测试。本发明通过建立数据集训练卷积神经网络来准确的定位分割图像上的可见水印,从而提高了水印分割定位的准确率和泛化能力,所提取出的水印信息对于后续水印移除、识别和图像版权的保护有着关键的作用。

权利要求 :

1.一种基于神经网络的图像可见水印的定位和分割方法,其特征是按如下步骤进行:步骤1、生成可见水印图像数据集中训练集和测试集的输入图像及标签图像;

步骤1.1、获取原始的彩色图像集合I={Ik|k=1,2,…m},Ik表示第k张原始的彩色图像,且第k张彩色图像Ik的尺寸为a×b,a表示长,b表示宽,m表示集合中图像数量;

从k种字符串或其他水印模板中随机选择图像水印的样式,并随机选择小于原始的彩色图像尺寸的水印的尺寸,从而生成RGB三通道水印图像集合W={Wk|k=1,2,…m},Wk表示第k张水印图像,其中,第k张水印图像Wk中除水印部分的像素点外,其它像素点的初始值为

0;

随机确定水印的位置,从而利用式(1)将水印图像集合W添加到原始的彩色图像集合I上,从而得到带有水印的图像集合I_W={I_Wk|k=1,2,…m}并作为训练集的输入图像;

I_Wk=a′Ik+(1‑a′)Wk     (1)

式(1)中:I_Wk是第k张添加水印之后的图像;a′表示添加水印的透明度,且从0‑1中随机选择;

步骤1.2、将RGB三通道水印图像集合W转为灰度图像集合G={Gk|k=1,2,…m},Gk表示第k张灰度图像,再将灰度图像集合G进行二值化,得到图像标签集合L={Lk|k=1,2,…m},Lk表示第k张带有水印的图像I_Wk的标签图像;

步骤1.3、按照步骤1.1和步骤1.2的过程生成与训练集不同的测试集的输入图像及标签图像;

步骤2、构建水印定位和分割的深度学习网络,包括:多卷积核特征提取网络、特征融合模块、特征解码网络和输出网络;

步骤2.1、构造所述多卷积核特征提取网络,包括:H个并行的编码网络,每个编码网络的卷积核大小不同,用于实现对不同尺度特征的提取;每个编码网络包括N个编码模块,每个编码模块均包含一层卷积层、一层BN层和一个激活函数ReLU层;其中,N个编码模块的卷积层的输出通道数递增设置,并记为n1,n2,…nN;

步骤2.2、构造所述特征融合模块,包含:F个卷积层,将F个卷积层的通道数设置为f1,f2,…fF,其中,f1=H×nN,fF=nN;

步骤2.3、构造所述特征解码网络,包括N个解码模块,每个解码模块均包含一层卷积层、一层BN层和一个激活函数ReLU层,其中解码模块的卷积层的输出通道数递减设置,并记为n′1,n′2,…n′N;且n′1=nN,n′N=n1;

步骤2.4、构造所述输出网络包括一个输入通道为n1且输出通道为1的卷积层和一个sigmoid层;

步骤2.5、设置当前训练周期为t、最大训练周期为Tmax和每一批处理图像数量为batch_size;

步骤2.6、在第t个训练周期中,按照批次大小为batch_size将所述训练集的输入图像依次并行输入至多个编码网络,经过每个编码网络的N个编码模块的特征提取,分别输出H个尺寸为a×b的编码特征图像;

步骤2.7、将编码特征图像输入特征融合网络中,首先经过通道连接方式拼接在一起,得到尺寸为a×b且通道数为H×nN的特征图像,再经过F个卷积层进行特征融合,最后输出尺寸为a×b且通道数为nN的融合特征图像;

步骤2.8、将所述融合特征图像输入到特征解码网络中,经过N个特征解码模块的特征解码后输出一个尺寸为a×b且通道数为n1的特征图像;

步骤2.9、所述特征图像经过输出网络的卷积层输出通道数为1且尺寸为a×b的输出结果图,再经过Sigmoid层的处理,将输出结果图映射到0‑1之间,从而得到训练集中一个批次中所有输入图像的概率图,其中第k张输入图像I_Wk的每个像素点为水印部分或者非水印部分的概率图记为Ok;

步骤3、训练网络:

步骤3.1、采用式(2)计算所述概率图Ok和标签图像Lk的差距损失loss(Ok,Lk):式(2)中,Ok,i表示将概率图Ok一维化后的第i个像素点的值,Lk,i表示将第k张标签图像Lk一维化后的第i个像素点的值,n表示图像一维化后的像素点的总数,i表示图像一维化后的像素点的坐标;

步骤3.2、利用优化算法Adam将差距损失反向传播至水印定位和分割的深度学习网络中进行训练,以更新网络参数,直到差距损失收敛为止,从而得到最优参数的水印定位和分割网络;

步骤4、利用最优参数的水印定位和分割网络对测试集的带有水印的图像集合进行测试,从而得到对应的水印概率图;

设置阈值,用于对水印概率图进行二值化处理,并将大于和等于阈值的像素点设置为水印像点,小于阈值的像素点设置为非水印像素点,从而得到水印的标签图像。

说明书 :

一种基于神经网络的图像可见水印的定位和分割方法

技术领域

[0001] 本发明涉及可见数字图像水印技术领域,具体的说是一种基于神经网络的图像可见水印的定位和分割方法。

背景技术

[0002] 图片作为信息的载体,随着信息社会和大数据时代的到来,互联网上图片的数量也爆发式增长,图像的版权保护随之越受关注。为了对含有水印的图像进行识别,甚至移除和修复。水印的定位和分割就非常重要。
[0003] 传统算法中,水印移除都是靠人工得到水印的位置和形状信息。这样才能取得较好的效果,同时人工设计特征难度也在不断增大,对设计者的经验知识提出更高要求。近年来,基于深度学习的算法在数字图像领域表现优异,神经网络也开始应用在可见水印移除领域。然而已有的水印移除方式都是图像到图片的转化,直接由添加水印的图片得到去除水印后的图片。但是这样做信息量巨大,因为标签是一张同样的彩色图像,包含巨大的信息,也造成泛化能力差。

发明内容

[0004] 本发明为了克服现有技术的不足之处,提出一种基于神经网络的图像可见水印的定位和分割方法,以期利用神经网络自行地提取水印特征以及自动进行水印的定位分割,并提高水印定位分割的准确率和泛化能力,为后续水印移除、识别和图像版权的保护提供有利帮助。
[0005] 为达到上述发明目的,本发明技术方案如下:
[0006] 本发明一种基于卷积神经网络的图像可见水印的定位和分割方法的特点是按如下步骤进行:
[0007] 步骤1、生成可见水印图像数据集中训练集和测试集的输入图像及标签图像;
[0008] 步骤1.1、获取原始的彩色图像集合I={Ik|k=1,2,…m},Ik表示第k张原始的彩色图像,且第k张彩色图像Ik的尺寸为a×b,a表示长,b表示宽,m表示集合中图像数量;
[0009] 从k种字符串或其他水印模板中随机选择图像水印的样式,并随机选择小于原始的彩色图像尺寸的水印的尺寸,从而生成RGB三通道水印图像集合W={Wk|k=1,2,…m},Wk表示第k张水印图像,其中,第k张水印图像Wk中除水印部分的像素点外,其它像素点的初始值为0;
[0010] 随机确定水印的位置,从而利用式(1)将水印图像集合W添加到原始的彩色图像集合I上,从而得到带有水印的图像集合I_W={I_Wk|k=1,2,…m}并作为训练集的输入图像;
[0011] I_Wk=aIk+(1‑a)Wk   (1)
[0012] 式(1)中:I_Wk是第k张添加水印之后的图像;a表示添加水印的透明度,且从0‑1中随机选择;
[0013] 步骤1.2、将RGB三通道水印图像集合W转为灰度图像集合G={Gk|k=1,2,…m},Gk表示第k张灰度图像,再将灰度图像集合G进行二值化,得到图像标签集合L={Lk|k=1,2,…m},Lk表示第k张带有水印的图像I_Wk的标签图像;
[0014] 步骤1.3、按照步骤1.1和步骤1.2的过程生成与训练集不同的测试集的输入图像及标签图像;
[0015] 步骤2、构建水印定位和分割的深度学习网络,包括:多卷积核特征提取网络、特征融合模块、特征解码网络和输出网络;
[0016] 步骤2.1、构造所述多卷积核特征提取网络,包括:H个并行的编码网络,每个编码网络的卷积核大小不同,用于实现对不同尺度特征的提取;每个编码网络包括N个编码模块,每个编码模块均包含一层卷积层、一层BN层和一个激活函数ReLU层;其中,N个编码模块的卷积层的输出通道数递增设置,并记为n1,n2,…nN;
[0017] 步骤2.2、构造所述特征融合模块,包含:F个卷积层,将F个卷积层的通道数设置为f1,f2,…fF,其中,f1=H×nN,fF=nN;
[0018] 步骤2.3、构造所述特征解码网络,包括N个解码模块,每个解码模块均包含一层卷积层、一层BN层和一个激活函数ReLU层,其中解码模块的卷积层的输出通道数递减设置,并记为n′1,n′2,…n′N;且n′1=nN,n′N=n1;
[0019] 步骤2.4、构造所述输出网络包括一个输入通道为n1且输出通道为1的卷积层和一个sigmoid层;
[0020] 步骤2.5、设置当前训练周期为t、最大训练周期为Tmax和每一批处理图像数量为batch_size;
[0021] 步骤2.6、在第t个训练周期中,按照批次大小为batch_size将所述训练集的输入图像依次并行输入至多个编码网络,经过每个编码网络的N个编码模块的特征提取,分别输出H个尺寸为a×b的编码特征图像;
[0022] 步骤2.7、将编码特征图像输入特征融合网络中,首先经过通道连接方式拼接再一起,得到尺寸为a×b且通道数为H×nN的特征图像,再经过F个卷积层进行特征融合,最后输出尺寸为a×b且通道数为nN的融合特征图像;
[0023] 步骤2.8、将所述融合特征图像输入到特征解码网络中,经过N个特征解码模块的特征解码后输出一个尺寸为a×b且通道数为n1的特征图像;
[0024] 步骤2.9、所述特征图像经过输出网络的卷积层输出通道数为1且尺寸为a×b的输出结果图,再经过Sigmoid层的处理,将输出结果图映射到0‑1之间,从而得到训练集中一个批次中所有输入图像的概率图,其中第k张输入图像I_Wk的每个像素点为水印部分或者非水印部分的概率图记为Ok;
[0025] 步骤3、训练网络:
[0026] 步骤3.1、采用式(2)计算所述概率图Ok和标签图像Lk的差距损失loss(Ok,Lk):
[0027]
[0028] 式(2)中,Ok,i表示将概率图Ok一维化后的第i个像素点的值,Lk,i表示将第k张标签图像Lk一维化后的第i个像素点的值,n表示图像一维化后的像素点的总数,i表示图像一维化后的像素点的坐标;
[0029] 步骤3.2、利用优化算法Adam将差距损失反向传播至水印定位和分割的深度学习网络中进行训练,以更新网络参数,直到差距损失收敛为止,从而得到最优参数的水印定位和分割网络;
[0030] 步骤4、利用最优参数的水印定位和分割网络对测试集的带有水印的图像集合进行测试,从而得到对应的水印概率图;
[0031] 设置阈值,用于对水印概率图进行二值化处理,并将大于或等于阈值的像素点设置为水印像点,小于阈值的像素点设置为非水印像素点,从而得到水印的标签图像。
[0032] 与已有技术相比,本发明的有益效果体现在:
[0033] 1、本发明首次提出制作水印定位分割数据集,通过训练集训练神经网络获取了准确高效的水印定位和分割能力,实现了水印的定位和分割,为进一步的水印的去除获得了准确有效的信息。
[0034] 2、本发明相对于传统算法人工设计特征,将特征提取模块和分割模块用神经网络实现,通过自动学习数据集的图像特征以实现水印定位和分割,替代了人力,提高了水印的定位和分割效率;
[0035] 3、本发明首次将二分类思想引入水印定位和去除,将水印像素视为一类,其他像素视为一类,进行水印的定位和分割,从而极大提高了水印定位和分割的准确性。
[0036] 4、本发明提出的水印定位分割数据集中,通过水印形状、位置、尺寸和透明度等的随机选择极大提高了水印定位和分割能力的鲁棒性。
[0037] 5、本发明提出的可见水印的定位和分割的深度学习网络框架,采用多尺度获取特征,以及融合特征解码等方式,提高对不同尺寸和不同位置水印的定位分割能力,提高了深度学习网络框架面对各种水印定位分割的准确性。

附图说明

[0038] 图1为本发明建立的水印定位和分割数据集中,训练集包含的部分图像;
[0039] 图2为本发明建立的水印定位和分割数据集中,测试集包含的部分图像;
[0040] 图3为本发明的水印定位和分割的神经网络结构图;
[0041] 图4为本发明方法流程图;
[0042] 图5为本发明测试集的测试结果图像。

具体实施方式

[0043] 本实施实例中,一种基于卷积神经网络的图像可见水印的定位和分割方法,是首先建立水印定位分割数据集,然后利用此数据集对提出的神经网络进行训练,最终得到分割后的水印,以实现水印的定位和分割。如图4所示,具体步骤如下:
[0044] 步骤1、生成可见水印图像数据集中训练集和测试集的输入图像及标签图像;
[0045] 步骤1.1、获取原始的彩色图像集合I={Ik|k=1,2,…m},Ik表示第k张原始的彩色图像,且第k张彩色图像Ik的尺寸为a×b,a表示长,b表示宽,m表示集合中图像数量;
[0046] 从k种字符串或其他水印模板中随机选择图像水印的样式,并随机选择小于原始的彩色图像尺寸的水印的尺寸,从而生成RGB三通道水印图像集合W={Wk|k=1,2,…m},Wk表示第k张水印图像,其中,第k张水印图像Wk中除水印部分的像素点外,其它像素点的初始值为0;
[0047] 具体实施中,首先生成训练集,利用算法生成1000张RGB三通道水印图像,除水印部分外,图像的其余初始值为0。图像水印的样式从三种字符串HFUT、ABCD和TRAIN中随机选择。水印的尺寸也是三种分别从30、45和60中随机选择。水印的位置在整个图像上随机出现。根据具体需要统一图像的尺寸和数量,这里将获取的原始彩色图像的尺寸a×b设置为300×300,图像数量m为1000张。
[0048] 随机确定水印的位置,从而利用式(1)将水印图像集合W添加到原始的彩色图像集合I上,从而得到带有水印的图像集合I_W={I_Wk|k=1,2,…m}并作为训练集的输入图像;
[0049] I_Wk=aIk+(1‑a)Wk   (1)
[0050] 式(1)中:I_Wk是第k张添加水印之后的图像;a表示添加水印的透明度,且从0‑1中随机选择;本实施例中,水印透明度a从0.2、0.5和0.8中随机选择。
[0051] 步骤1.2、将RGB三通道水印图像集合W转为灰度图像集合G={Gk|k=1,2,…m},Gk表示第k张灰度图像,再将灰度图像集合G进行二值化,得到图像标签集合L={Lk|k=1,2,…m},Lk表示第k张带有水印的图像I_Wk的标签图像;阈值选取为1,即像素点大于0则为1。
部分训练集的输入和标签示例见图1所示。
[0052] 步骤1.3、按照步骤1.1和步骤1.2的过程生成与训练集不同的测试集的输入图像及标签图像;具体实施中,对于测试集,重复步骤1获得,注意选取的彩色图像与训练集的不同,同时水印样式变为字符串TEST,尺寸a×b同样为300×300,数量m为100张。部分测试集的输入和标签示例见图2。
[0053] 步骤2、构建水印定位和分割的深度学习网络,包括:多卷积核特征提取网络、特征融合模块、特征解码网络和输出网络;
[0054] 步骤2.1、构造所述多卷积核特征提取网络,包括:H个并行的编码网络,每个编码网络的卷积核大小不同,用于实现对不同尺度特征的提取;每个编码网络包括N个编码模块,每个编码模块均包含一层卷积层、一层BN层和一个激活函数ReLU层;其中,N个编码模块的卷积层的输出通道数递增设置,并记为n1,n2,…nN;
[0055] 本实施例中,设置E1、E2和E3共3个编码模块,3个编码模块的输出卷积通道数均为30、60、90。E1的卷积核尺寸为3×3,步长和填充设置为1。E2的卷积核尺寸为5×5,步长和填充设置为1和2。E3的卷积核尺寸为7×7,步长和填充设置为1和3。
[0056] 步骤2.2、构造所述特征融合模块,包含:F个卷积层,将F个卷积层的通道数设置为f1,f2,…fF,其中,f1=3nN,fF=nN;
[0057] 本实施例中,设置F为2,第一个卷积层输入通道为270输出为90,第二个卷积层输入通道为90输出通道也为90,卷积核尺寸为3×3,步长和填充设置为1
[0058] 步骤2.3、构造所述特征解码网络,包括N个解码模块,每个解码模块均包含一层卷积层、一层BN层和一个激活函数ReLU层,其中解码模块的卷积层的输出通道数递减设置,并记为n′1,n′2,…n′N;且n′1=nN,n′N=n1;具体实施中,设置N为3,输出通道数为90,60,30,卷积核尺寸为3×3,步长和填充设置为1
[0059] 步骤2.4、构造所述输出网络包括一个输入通道为n1且输出通道为1的卷积层和一个sigmoid层;其中卷积核尺寸为3×3,步长和填充设置为1n1为30;本实例中水印定位分割的网络结构图见图3所示。
[0060] 步骤2.5、设置当前训练周期为t、最大训练周期为Tmax和每一批处理图像数量为batch_size;设置最大训练周期为200,batch_size设置为10。
[0061] 步骤2.6、在第t个训练周期中,按照批次大小为batch_size将所述训练集的输入图像依次并行输入至多个编码网络,经过每个编码网络的N个编码模块的特征提取,分别输出H个尺寸为a×b的编码特征图像;本实施例中,N为3,a×b为300×300,batch_size设置为10。
[0062] 步骤2.7、将编码特征图像输入特征融合网络中,首先经过通道连接方式拼接再一起,得到尺寸为a×b且通道数为H×nN的特征图像,再经过F个卷积层进行特征融合,最后输出尺寸为a×b且通道数为nN的融合特征图像;具体实施中,N为3,a×b为300×300,F为2,nN为90。
[0063] 步骤2.8、将所述融合特征图像输入到特征解码网络中,经过N个特征解码模块的特征解码后输出一个尺寸为a×b且通道数为n1的特征图像;N为3,a×b为300×300,n1为30。
[0064] 步骤2.9、特征解码网络输出的特征图像经过输出网络,解码网络的输出特征图变为通道数为1且尺寸与网络的输入图像相同的即a×b的输出结果图,输出结果图再经过一个Sigmoid层,将输出结果的范围映射到0‑1之间,得到一个batch_size中训练集中第的k张输入图像I_Wk的每个像素点为水印部分或者非水印部分的概率图Ok;
[0065] 步骤3、训练网络:
[0066] 步骤3.1、采用式(2)计算所述概率图Ok和标签图像Lk的差距损失loss(Ok,Lk):
[0067]
[0068] 式(2)中,Ok,i表示概率图Ok一维化后第i个像素点的值,Lk,i表示标签图像Lk一维化后第第i个像素点的值,n表示图像一维化后像素点的总数,i表示图像一维化后像素点的坐标。
[0069] 步骤3.2、利用优化算法Adam将差距损失反向传播至水印定位和分割的深度学习网络中进行训练,以更新网络参数,直到差距损失收敛为止,从而得到最优参数的水印定位和分割网络;其中,Adam优化器设置学习率为0.0001,betas设置为0.9和0.999;
[0070] 步骤4、利用最优参数的水印定位和分割网络对测试集的带有水印的图像集合进行测试,从而得到对应的水印概率图;
[0071] 设置阈值,用于对水印概率图进行二值化处理,并将大于或等于阈值的像素点设置为水印像点,小于阈值的像素点设置为非水印像素点,从而得到水印的标签图像。
[0072] 具体实施中,选取阈值为120,大于等于120的判断为水印像素点,小于等于120的判断为非水印像素点。测试集的输出定量结果见图5,测试集整体定性结果见表1。
[0073] 表1本发明测试集的SSIM和PSNR得分
[0074]Epoch(周期) SSIM PSNR
25 0.96 18
100 0.97 32
150 0.98 33
[0075] 综上所述,本发明提出过一种基于神经网络的图像可见水印的定位和分割方法,将二分类思想引入水印定位和分割即水印像素为一类其他像素为另一类,创新的建立水印分割数据集,设计神经网络.实验结果展现了模型在水印定位和分割上高准确率和泛化能力,将替代人工设计特征,为水印识别和水印去除提供水印的准确信息。为水印识别和移除提供了一种新的思路和方法。