一种基于多任务学习卷积神经网络的图像隐写分析方法与流程

文档序号:15560695发布日期:2018-09-29 02:10阅读:819来源:国知局

本发明涉及图像信号处理、图像隐写分析领域,具体涉及一种基于多任务学习卷积神经网络的图像隐写分析方法。



背景技术:

图像隐写是指在图像的空域或变换域上嵌入密信,当前比较安全的隐写算法能自适应地将密信嵌入到内容复杂的区域以使之更难以被检测出来。而图像隐写分析的主要任务则是判断一张图像是否有被嵌入密信,即是一个二分类的问题。

传统的隐写分析算法主要包括特征的提取和分类器的设计这两大步骤。其中,所提特征是否有足够的区分能力直接决定最后分类器的性能。而特征的提取完全依赖于研究者对隐写图像与非隐写图像间差异的理解与认识这些先验知识。另外,特征提取与分类器的训练是依次进行而不是同时优化的。

深度学习,尤其是卷积神经网络在图像识别、目标检测等计算机视觉问题上取得了突破性进展。不需要依赖于手工设计的特征,卷积神经网络能自动从大量的训练数据中学到表征能力和鲁棒性都更强的特征。另外,一般在应用卷积神经网络时,特征提取和分类器的训练是端到端地联合优化的,可使最终的网络模型得到更优的性能。在利用卷积神经网络进行图像隐写分析的研究中,中科大的qian等人首先提出使用srm中用到的一个高通滤波器提取图像的高频特征,然后将其输入卷积神经网络,得到接近srm算法的性能。中山大学的ye等人使用了srm中用到的所有30个高通滤波器初始化神经网络的第一个卷积层,同时将图像中各个像素点是否被改变过的概率评估这种先验知识加入网络,得到优于maxsrmd2的结果。这些都是卷积神经网络在图像隐写分析领域非常有价值的尝试,取得了不错的结果。

在识别、检测等传统计算机视觉问题中,通过合理的设置,用同一个共享网络同时训练几个目标相近的任务,有可能可以取得比单独训练一个任务更好的结果。这是因为一方面在训练过程中加入了更多的监督信号,有助于学到更好的特征表示,另一方面可以在一定程度上防止网络过拟合到某一个任务的训练数据上,起到类似正则化的作用,提升网络的泛化能力。因此希望同样能通过多任务的学习来提高卷积神经网络在图像隐写分析任务中的性能。



技术实现要素:

本发明的目的是针对现有技术的不足,为了更好地提升卷积神经网络在图像隐写分析任务中的性能和泛化能力,提供了一种基于多任务学习卷积神经网络的图像隐写分析方法,能够在网络训练过程中同时对图像隐写分析和像素点隐写分析这两项任务进行优化学习。

本发明的目的可以通过如下技术方案实现:

一种基于多任务学习卷积神经网络的图像隐写分析方法,所述方法包括以下步骤:

s1、多任务学习网络模型设计:包括图像隐写分析主网络的设计和像素点隐写分析分支网络的设计;

s2、数据集的制作:使用隐写算法在设定嵌入率下对原始图像进行隐写得到对应的隐写图像,同时保存每张图像是否有被隐写的图像隐写分析标签和每张图像中每个像素点是否有被改变的像素点隐写分析标签;

s3、多任务学习网络模型初始化:使用高通滤波器对多任务学习网络模型中的第一层卷积层的权值参数进行初始化以提取图像的高频信息,其余卷积层使用xavier方式进行初始化;

s4、多任务学习网络模型的训练:将步骤s2中得到的数据集按设定比例随机划分为训练集和测试集,应用adam算法在训练集上对多任务学习网络模型同时进行图像隐写分析和像素点隐写分析有监督的学习训练,在测试集上进行测试,最后保存在测试集上结果最好的模型作为最终模型;

s5、使用在步骤s4中训练得到的在测试集上结果最好的多任务学习网络模型对其余新的测试图像进行隐写分析。

进一步地,步骤s1中所述图像隐写分析主网络的第一层为由30个5×5×1的卷积核组成的卷积层,用于提取图像的高频信息,其后依次连接有五个结构相同的网络小块,其中每个网络小块均由两个30×(3×3×30)的卷积层和一个均值池化层依次连接而成,第五个网络小块后连接一个包含有两个神经元的全连接层,作为预测图像是否有被隐写的两个输出。

进一步地,所述像素点隐写分析分支网络包括第一个网络小块后依次连接的一个输出通道数为2大小为2×(1×1×30)的卷积层和一个将特征图上采样2倍至输入图像大小的解卷积层,以及第二个网络小块后依次连接的一个输出通道数为2大小为2×(1×1×30)的卷积层和一个将特征图上采样4倍至输入图像大小的解卷积层;对上述得到的两个输入图像大小的特征图求和,得到的特征图作为对图像中各个像素点是否有被隐写的输出。

进一步地,步骤s2中,原始图像的图像隐写分析标签为0,隐写图像的图像隐写分析标签为1;对于隐写图像,将其与对应的原始图像中的每个像素点逐个进行比对,若相同,则将其像素点隐写标签对应位置置为0,否则置为1;对于原始图像,其各个位置像素点隐写标签均置为2,在后续训练时忽略。

进一步地,步骤s3中,所述高通滤波器为隐写算法srm中使用到的30个高通滤波器。

本发明与现有技术相比,具有如下优点和有益效果:

1、本发明通过多任务学习的方法,训练卷积神经网络同时优化图像隐写分析和像素点隐写分析这两个任务,从而使得网络在训练过程中得到了更多的监督信号,训练过程收敛得更快。

2、本发明采用多任务学习的技术方案,训练卷积神经网络同时优化图像隐写分析和像素点隐写分析这两个任务,从而使得网络更不容易陷入过拟合,泛化能力更强,得到更低的错误率。

附图说明

图1为本发明实施例多任务学习网络模型中结构相同的网络小块。

图2为本发明实施例多任务学习卷积神经网络图像隐写分析方法训练阶段的多任务学习网络模型。

图3(a)为本发明实施例原始图像的像素点值示例图、图3(b)为本发明实施例原始图像的像素点隐写分析标签示例图、图3(c)为本发明实施例隐写图像的像素点值示例图、图3(d)为本发明实施例隐写图像的像素点隐写分析标签示例图。

图4为本发明实施例对多任务学习网络模型中的第一层卷积层的权值参数进行初始化的30个高通滤波器。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例:

本实施例提供了一种基于多任务学习卷积神经网络的图像隐写分析方法,所述方法包括以下步骤:

s1、多任务学习网络模型设计,具体的网络参数设置和方法如下:

如图2所示,本实施例的多任务学习网络模型包括图像隐写分析主网络和像素点隐写分析分支网络,其中,图像隐写分析主网络的第一层为由30个5×5×1的卷积核组成的卷积层,用于提取图像的高频信息,其后依次连接有五个结构相同的网络小块,如图1所示,其中每个网络小块均由两个30×(3×3×30)的卷积层和一个大小为3×3、步长为2的均值池化层依次连接而成,第五个网络小块后连接一个包含有两个神经元的全连接层,作为预测图像是否有被隐写的两个输出。作为像素点隐写分析分支网络的其中一部分,第一个网络小块后再接一个大小为2×(1×1×30)的卷积层,该卷积层后紧接一个大小为2×(4×4×2),步长为2的转置卷积层将特征图上采样至输入图像大小;类似地,第2个网络小块后依次接大小2×(1×1×30)的卷积层和大小为2×(8×8×2),步长为4的转置卷积层,同样得到长宽与输入图像一致的特征图。对上述两张特征图求和,得到长宽与输入图像相等的两张特征图,这两张特征图的各个位置分别对应输入图像各个像素点是否有被改变的类别。

除第一个卷积层外,网络中的所有卷积层后都紧接修正线性单元relu作为非线性激活函数。为同时保留负半轴的高频信息,第一个卷积层后接截断线性单元tlu作为其激活函数,tlu的计算公式如下:

在本实施例中,设置t=3。

s2、数据集的制作,方法如下:本实施例使用bossbase1.01作为训练/测试集,该数据集包含10000张大小为512×512的灰度图,受限于计算资源且为了得到更多的训练数据,先将上述10000张图像都平均切分为不相交的4个图像块,即可得到4×10000张256×256的图像。选用特定的隐写算法(如s-uniward)在特定嵌入率(如0.4)下对得到的40000张图像进行隐写,即可得到40000张对应的隐写图像。随机选取其中的30000张原始图像及其对应的隐写图像作为训练集,剩下的10000张原始图像及其对应的隐写图像作为测试集。

原始图像的图像隐写分析标签为0,隐写图像的图像隐写分析标签为1;对应每张图像,其像素点隐写分析标签是2维的,大小为256×256,对应图像上的各个点是否有被改变过。对于隐写图像,将其与原始图像逐像素点进行比对,若相等,则对应位置的像素点隐写分析标签为0,否则为1;对于原始图像,为了平衡正负样本点,其所有像素点隐写分析标签均设为2,在训练阶段忽略其对像素点隐写分析损失函数的贡献,本实施例原始图像的像素点值示例图如图3(a)所示、原始图像的像素点隐写分析标签示例图如图3(b)所示、隐写图像的像素点值示例图如图3(c)所示、隐写图像的像素点隐写分析标签示例图如图3(d)所示。

s3、多任务学习网络模型初始化:使用srm中提出的30个高通滤波器(对应的具体参数如图4所示)对多任务学习网络模型中的第一层卷积层的权值参数进行初始化以提取图像的高频信息,其余卷积层使用xavier方式进行初始化,全连接层的参数则进行均值为0、标准差为0.01的高斯初始化,网络中的所有偏置项均初始化为0。

s4、多任务学习网络模型的训练:如图2所示,整个多任务学习网络同时优化图像隐写分析和像素点隐写分析两个任务,二者均采用softmax计算损失函数。假设输入为x,其对应的标签为y,训练batch的大小为m,总共的类别数量为c,预测函数为hθ(x),则损失函数的计算公式如下:

其中,在像素点隐写分析任务中,在每个像素点处均计算softmax损失。因大部分像素点是没有被改变过的,故为了数据均衡,在计算损失时,给不同的类别赋予不同的权重。若对应各个类别的权重为w={w0,w1...wc-1},带权重的softmax损失函数计算如下:

具体到本实施例中,假设在步骤s2中得到没有被改变过的像素点(标签为0)与被改变过的像素点(标签为1)的比例为n:1,则应有:

根据上式可以得到对应的权重为:

另外,像素点隐写分析任务只对隐写图像计算损失,原始图像对像素点隐写分析任务的损失没有贡献,故在上述步骤s2中将原始图像的像素点隐写分析标签均置为2,在计算像素点隐写分析任务损失时忽略标签为2的像素点,即:

因根据上式计算的像素点隐写分析损失是在图像的各个像素处得到的,故对应整张图的像素点隐写分析损失是二维的,将其在空域上求均值后即可得到一维的整张图平均的像素点隐写分析损失lpixel,将其跟图像隐写分析损失limage加权求和,即可得到最终的综合损失ltotal,即:

ltotal=λimagelimage+λpixellpixel

在本实施例中权重参数λimage=1,λpixel=0.25,具体可根据实验结果进行调整。

使用adam算法最小化得到的综合损失ltotal,则可同时优化训练图像隐写分析和图像像素点隐写分析两个任务。具体的训练参数如下:各个batch的大小为32,包含16张原始图像及其对应的隐写图像;初始学习率设为0.0001,训练过程遍历训练集70次后将学习率降为0.00001后再遍历训练集30次结束训练。每遍历训练集一遍,在测试集上测试一遍,保存在测试集上图像隐写分析任务中错误率最小的模型作为本实施例的最优网络模型。

s5、使用在步骤s4中训练得到的在测试集上结果最好的多任务学习网络模型对其余新的测试图像进行隐写分析。

以上所述,仅为本发明专利较佳的实施例,但本发明专利的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明专利所公开的范围内,根据本发明专利的技术方案及其发明专利构思加以等同替换或改变,都属于本发明专利的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1