一种基于样本错配训练的图像PRNU噪声提纯方法及系统与流程

文档序号:23656985发布日期:2021-01-15 13:54阅读:318来源:国知局
一种基于样本错配训练的图像PRNU噪声提纯方法及系统与流程

本发明涉及图像处理领域,具体涉及一种基于样本错配训练的图像prnu噪声提纯方法及系统。



背景技术:

当前,每天通过社交媒体生成和分享的视频和图像数量正在迅速增长,这主要得益于便捷的视听记录技术和移动互联网技术。而这些技术也为不法分子拍摄、传播含有非法信息的图像、视频提供了便利。而在数字图像取证领域需要解决如何鉴定数字图像的真实性和完整性、如何确定图像成像设备即判断图像的拍摄相机等问题。

近些年,国内外学者已经对数字图像来源取证技术进行了大量、深入的研究,并取得了一定的研究结果,当前主要包括主动和被动式取证两种技术。主动式取证技术要求在数字图像中添加识别信息,然后进行主动识别。被动式取证技术的主要原理是:成像设备由于受到设备内部的软件(如去噪、增强、压缩处理等),硬件(数码相机/录像机传感器特性、cfa结构等)以及自然场景(如相邻图像像素/图像帧间的强相关性等)的影响,那些原始的没有经过任何处理的数字图像往往会带有某些固有的统计规律,这种规律会因成像设备不同而存在差异。因此,它可以作为数字图像一种天然的“水印”信息,用以数字图像来源等取证工作。主动式取证技术由于需要事先将数字水印等信息添加到图像中,容易受到更改,并且在未预先添加数字水印等信息时具有较大的局限性。因此,被动式取证技术是数字图像来源取证技术未来的发展方向以及研究热点。其中,一种基于数字图像成像传感器模式噪声(sensorpatternnoise,spn)的被动式取证技术取得了较大的成功,其原理是图像传感器在成像时会不可避免地产生一种传感器模式噪声,spn主要由光照响应不一致性(photo-responsenon-uniformity,prnu)噪声组成,并且prnu噪声是由图像传感器自身制造工艺的缺陷和硅晶片的非均匀性性引起的,使得prnu噪声对于每一个成像设备是唯一的,且不会受到外界环境的影响,因此这种传感器噪声非常适合作为成像设备的固有“指纹”,用以数字图像取证工作。



技术实现要素:

针对现有技术中存在的缺陷,本发明的目的在于提供一种基于样本错配训练的图像prnu噪声提纯方法及系统,在原始图像成像传感器噪声的基础上进一步提纯,得到更高质量的prnu噪声。

为实现上述目的,本发明采用的技术方案如下:

一种基于样本错配训练的图像prnu噪声提纯方法,包括:

s100、获取同一数字图像传感器的多个噪声图像,形成深度堆叠自编码器的训练集;

s200、基于所述深度堆叠自编码器的训练集、样本错配的训练技术和人工神经网络,训练得到深度堆叠自编码器模型;

s300、获取某一数字图像传感器的噪声图像作为待提纯的prnu噪声图像,将其输入所述深度堆叠自编码器模型进行提纯,得到提纯后的高质量prnu噪声图像。

进一步,如上所述的基于样本错配训练的图像prnu噪声提纯方法,步骤s100包括:

s101、对同一数字图像传感器拍摄的多个图像进行降噪处理,计算得到所述多个图像的噪声残差;

s102、基于所述多个图像的噪声残差和最大似然估计法,计算得到每个图像的噪声的最大似然估计值作为对应的噪声图像。

进一步,如上所述的基于样本错配训练的图像prnu噪声提纯方法,步骤s101中,通过下式计算得到所述多个图像的噪声残差:

wi=ii-f(ii)(i=1,…,n)

其中,ii为第i个图像,f(ii)为对第i个图像进行降噪处理,wi为第i个图像的噪声残差,i、n为正整数。

进一步,如上所述的基于样本错配训练的图像prnu噪声提纯方法,步骤s101中,通过下式计算得到所述数字图像传感器的噪声k的最大似然估计值

其中,ii为第i个图像,wi为第i个图像的噪声残差,i、n为正整数。

进一步,如上所述的基于样本错配训练的图像prnu噪声提纯方法,步骤s200中,所述深度堆叠自编码器模型包括多个模块,每个模块均包括两个网络结构相同的自编码器,单个自编码器包括输入层、隐藏层和输出层三层神经网络,将所述深度堆叠自编码器的训练集作为第一个模块内第一个自编码器的输入,

所述第一个模块的训练过程如下:

所述第一个模块内第一个自编码器的输入与期望输出保持一致,通过最小化重构误差进行无监督学习,训练完成后,提取所述第一个模块内第一个自编码器的真实输出作为所述第一个模块内第二个自编码器的输入,并将所述第一个模块内第一个自编码器的原始输入打乱顺序,形成所述第一个模块内第二个自编码器的期望输出,通过最小化重构误差进行无监督学习,训练完成后,得到所述第一个模块内第二个自编码器的真实输出,完成所述第一个模块的训练;

所述第二个模块的训练过程如下:

提取所述第一个模块内第一个自编码器的隐藏层输出作为所述第二个模块内第一个自编码器的输入,通过最小化重构误差进行无监督学习,训练完成后,提取所述第二个模块内第一个自编码器的真实输出作为所述第二个模块内第二个自编码器的输入,提取所述第一个模块内第二个自编码器的隐藏层输出作为所述第二个模块内第二个自编码器的期望输出,通过最小化重构误差进行无监督学习,完成所述第二个模块的训练;

按照所述第一个模块和所述第二个模块的训练过程对所述多个模块中的每个模块依次进行训练,训练完成后,提取每个模块中的隐藏层作为所述深度堆叠自编码器模型的编码器部分,提取每个模块中的输出层作为所述深度堆叠自编码器模型的解码器部分,再次将所述深度堆叠自编码器的训练集输入所述深度堆叠自编码器模型,通过最小化重构误差进行无监督学习,完成所述深度堆叠自编码器模型的微调过程。

进一步,如上所述的基于样本错配训练的图像prnu噪声提纯方法,所述方法还包括:

s400、基于s100的方法获取某一数字图像传感器的待提纯的prnu噪声图像,并将其通过s300得到高质量prnu噪声图像,分别计算所述待提纯的prnu噪声图像和所述高质量prnu噪声图像的峰值相关能量比值,将两个峰值相关能量比值进行比较,验证所述深度堆叠自编码器模型的提纯效果。

进一步,如上所述的基于样本错配训练的图像prnu噪声提纯方法,步骤s400中,通过下式计算得到所述待提纯的prnu噪声图像或所述高质量prnu噪声图像的峰值相关能量比值pce值:

其中,y=w,x和y的维度为m×n,i为某一数字图像传感器拍摄的真实图像,为所述待提纯的prnu噪声图像或所述高质量prnu噪声图像,w为所述真实图像的噪声残差,ρ(s;x,y)为x、y之间的相关性函数,ρ(speak;x,y)为相关性函数的最大值,sign(ρ(speak;x,y))为函数取最大值时的符号,n为以speak为中心的小块区域。

一种基于样本错配训练的图像prnu噪声提纯系统,包括:

获取模块,用于获取同一数字图像传感器的多个噪声图像,形成深度堆叠自编码器的训练集;

训练模块,用于基于所述深度堆叠自编码器的训练集、样本错配的训练技术和人工神经网络,训练得到深度堆叠自编码器模型;

提纯模块,用于获取某一数字图像传感器的噪声图像作为待提纯的prnu噪声图像,将所述待提纯的prnu噪声图像输入所述深度堆叠自编码器模型进行提纯,得到提纯后的高质量prnu噪声图像。

进一步,如上所述的基于样本错配训练的图像prnu噪声提纯系统,所述获取模块用于:

对同一数字图像传感器拍摄的多个图像进行降噪处理,计算得到所述多个图像的噪声残差;

基于所述多个图像的噪声残差和最大似然估计法,计算得到每个图像的噪声的最大似然估计值作为对应的噪声图像。

进一步,如上所述的基于样本错配训练的图像prnu噪声提纯系统,所述系统还包括:

验证模块,基于所述获取模块获取某一数字图像传感器的待提纯的prnu噪声图像,并将其通过所述提纯模块得到高质量prnu噪声图像,分别计算所述待提纯的prnu噪声图像和所述高质量prnu噪声图像的峰值相关能量比值,将两个峰值相关能量比值进行比较,验证所述深度堆叠自编码器模型的提纯效果。

本发明的有益效果在于:本发明所提供的方法及系统,采用人工神经网络进行数字图像成像传感器噪声的提纯训练,在训练时采取样本错配的策略,最终将人工神经网络训练成数字图像成像传感器噪声的提纯器,实现在原始图像成像传感器噪声的基础上进一步提纯,得到更高质量的prnu噪声。

附图说明

图1为本发明实施例中提供的一种基于样本错配训练的图像prnu噪声提纯方法的流程示意图;

图2为本发明实施例中提供的深度堆叠自编码器模型预训练的示意图;

图3为本发明实施例中提供的深度堆叠自编码器模型微调的示意图;

图4为本发明实施例中提供的一种基于样本错配训练的图像prnu噪声提纯方法的框架示意图;

图5为本发明实施例中提供的一种基于样本错配训练的图像prnu噪声提纯系统的结构示意图。

具体实施方式

下面结合说明书附图与具体实施方式对本发明做进一步的详细说明。

如图1所示,一种基于样本错配训练的图像prnu噪声提纯方法,包括:

s100、获取同一数字图像传感器的多个噪声图像,形成深度堆叠自编码器的训练集;

步骤s100包括:

s101、对同一数字图像传感器拍摄的多个图像进行降噪处理,计算得到多个图像的噪声残差;

具体地,可以通过下式计算得到多个图像的噪声残差:

wi=ii-f(ii)

其中,ii为第i个图像,f(ii)为对第i个图像进行降噪处理,wi为第i个图像的噪声残差,i=1,…,n,i、n为正整数。

s102、基于多个图像的噪声残差和最大似然估计法,计算得到每个图像的噪声的最大似然估计值作为对应的噪声图像;

具体地,可以通过下式计算得到数字图像传感器的噪声k的最大似然估计值

其中,ii为第i个图像,wi为第i个图像的噪声残差,i=1,…,n,i、n为正整数。

s200、基于深度堆叠自编码器的训练集、样本错配的训练技术和人工神经网络,训练得到深度堆叠自编码器模型;

深度堆叠自编码器模型包括多个模块,每个模块均包括两个网络结构相同的自编码器,单个自编码器包括输入层、隐藏层和输出层三层神经网络,将深度堆叠自编码器的训练集作为第一个模块内第一个自编码器的输入,

第一个模块的训练过程如下:

第一个模块内第一个自编码器的输入与期望输出保持一致,通过最小化重构误差进行无监督学习,训练完成后,提取第一个模块内第一个自编码器的真实输出作为第一个模块内第二个自编码器的输入,并将第一个模块内第一个自编码器的原始输入打乱顺序,形成第一个模块内第二个自编码器的期望输出,通过最小化重构误差进行无监督学习,训练完成后,得到第一个模块内第二个自编码器的真实输出,完成第一个模块的训练;

第二个模块的训练过程如下:

提取第一个模块内第一个自编码器的隐藏层输出作为第二个模块内第一个自编码器的输入,通过最小化重构误差进行无监督学习,训练完成后,提取第二个模块内第一个自编码器的真实输出作为第二个模块内第二个自编码器的输入,提取第一个模块内第二个自编码器的隐藏层输出作为第二个模块内第二个自编码器的期望输出,通过最小化重构误差进行无监督学习,完成第二个模块的训练;

按照第一个模块和第二个模块的训练过程对多个模块中的每个模块依次进行训练,训练完成后,提取每个模块中的隐藏层作为深度堆叠自编码器模型的编码器部分,提取每个模块中的输出层作为深度堆叠自编码器模型的解码器部分,再次将深度堆叠自编码器的训练集输入深度堆叠自编码器模型,通过最小化重构误差进行无监督学习,完成深度堆叠自编码器模型的微调过程。

基于样本错配的训练技术是指将两个基本自编码器的模型作为一个模块,模块内的每个训练模型都是独立的,但将模块依次堆叠后整个的训练过程是相互关联的。

图2是深度堆叠自编码器模型预训练的示意图,以训练两个模块为例,其中图2(a)是第一个模块的训练示意图,图2(b)是第二个模块的训练示意图。如图2(a)中左半部分所示,单一自编码器模型由输入层、隐藏层、输出层三层神经网络构成,其结构可以分为两个部分,即编码器(encoder)与解码器(decoder)。其训练流程为:x(n)表示第一个自编码器的输入,经过编码器部分后得到隐藏层的输出x(n),其中fe表示编码器的处理过程:

x=f(x)=σe(we×x+be)

式中,x表示自编码器的输入,σe表示隐藏层的激活函数(非线性),we和be分别表示连接编码器输入层与隐藏层的权重与偏置参数,x表示隐藏层的输出。第i个模块中第j个自编码器的编码器处理过程用表示,i=1,…,n;j=1,2。

之后x(n)经过解码器部分后得到自编码器的真实输出其中gd表示解码器的处理过程:

式中,x表示解码器的输入,即编码器中隐藏层的输出,σd表示输出层的激活函数(非线性),wd和bd分别表示连接隐藏层和输出层的权重与偏置参数,表示解码器的输出。第i个模块中第j个自编码器的解码器处理过程用表示,i=1,…,n;j=1,2。

而自编码器训练的目标即是最小化编码器输入与解码器输出的重构误差,其损失函数可以表示为:

式中,n为训练样本(深度堆叠自编码器的训练集)的个数,x(n)为第n个输入样本,为第n个输出样本,为均方误差。在自编码器的训练过程中,通过优化以上损失函数,自编码器可以将输入x表示为隐藏层的输出x,然后可以将x重构为与输入x相近的真实输出

深度堆叠自编码器模型预训练两个模块的训练流程为:先进行第一模块的训练,第一个自编码器的输入(步骤s100形成的深度堆叠自编码器的训练集即是第一个自编码器的输入)为x(n),期望输出也为x(n),二者保持一致,通过最小化重构误差进行无监督学习,训练完成后,提取第一个自编码器的真实输出作为第二个自编码器的输入,并且将原始输入(原始输入即第一个自编码器的输入,原始输入和前面的输入是一个意思。)x(n)打乱顺序,形成第二个自编码器的期望输出x(m),通过最小化重构误差进行无监督学习,训练完成后得到第二个自编码器的真实输出如图2(a)所示。

接下来进行第二个模块的训练,首先取第一个模块中第一个自编码器的隐藏层输出(即x(n))作为第二个模块内第一个自编码器的输入,通过最小化重构误差与自身进行无监督学习,训练完成后,提取该自编码器的真实输出作为该模块内第二个自编码器的输入,此时取出第一个模块中第二个自编码器的隐藏层输出(即x(m))作为第二个模块内第二个自编码器的期望输出,通过最小化重构误差进行无监督学习,完成第二个模块的训练,如图2(b)所示。需要说明的是,单一自编码器模型由输入层、隐藏层、输出层三层神经网络构成,期望输出即理想情况下期望自编码器达到的输出,真实输出即实际训练完后自编码器的输出,二者总是存在误差,真实输出即输出层的输出,隐藏层输出即隐藏层的输出,二者存在关联。

图3是深度堆叠自编码器模型训练微调的示意图。在完成深度堆叠自编码器模型预训练中第i个模块的训练后,其中i=1,…,n,需要取单个自编码器中的隐藏层和输出层,组成深度堆叠自编码器模型,再次训练完成模型的微调过程。以图2的两个模块为例,依次取第一个模块、第二个模块中的第一个自编码器的隐藏层(即)组成深度堆叠自编码器模型的编码器部分,之后依次取第一个模块、第二个模块中的第二个自编码器的输出层(即)组成深度堆叠自编码器模型的解码器部分,即依次堆叠前面训练好的单个自编码器的输出层组成深度堆叠自编码器的解码器部分。再次将原始输入x(n)输入到深度堆叠自编码器网络中,通过最小化重构误差进行训练,完成深度堆叠自编码器模型的微调过程。

s300、获取某一数字图像传感器的噪声图像作为待提纯的prnu噪声图像,将待提纯的prnu噪声图像输入深度堆叠自编码器模型进行提纯,得到提纯后的高质量prnu噪声图像。

通过某一数字图像传感器拍摄得到多个真实图像,对多个真实图像进行处理,得到多个噪声图像作为待提纯的prnu噪声图像集,形成测试样本集,将测试样本集输入提纯模型(即深度堆叠自编码器模型)中,得到提纯的高质量prnu噪声形成的测试样本集,如图4所示。具体地,通过下式得到高质量prnu噪声图像:

其中,为待提纯的prnu噪声图像,为高质量prnu噪声图像。

获取提纯后的高质量prnu噪声之后,还可以对待提纯的prnu噪声图像和高质量prnu噪声进行验证,验证深度堆叠自编码器模型的提纯效果。具体地,通过以下方式进行验证:

s400、基于s100的方法获取某一数字图像传感器的待提纯的prnu噪声图像,并将其通过s300得到高质量prnu噪声图像,分别计算待提纯的prnu噪声图像和高质量prnu噪声图像的峰值相关能量比值,将两个峰值相关能量比值进行比较,验证深度堆叠自编码器模型的提纯效果。

验证时选择的待提纯的prnu噪声图像的真实图像来源于对应的某一数字图像传感器,所以其峰值相关能量比值均是大于预设阈值的。将待提纯的prnu噪声图像经提纯模块提纯后得到高质量的prnu噪声图像,然后分别计算待提纯的prnu噪声图像与提纯后的高质量prnu噪声图像的峰值相关能量比,将所述两个峰值相关能量比值进行比较,峰值相关能量比值大越大,说明其来源于对应的数字图像传感器的可能性越高,从而验证深度堆叠自编码器模型实现了对待提纯的prnu噪声图像中无关噪声的有效去除,得到了高质量的prnu噪声。

具体地,可以通过下式计算得到待提纯的prnu噪声图像或高质量prnu噪声图像的峰值相关能量比值pce值:

其中,y=w,x和y的维度为m×n,i为某一数字图像传感器拍摄的真实图像,为待提纯的prnu噪声图像或高质量prnu噪声图像,w为真实图像的噪声残差,ρ(s;x,y)为x、y之间的相关性函数,ρ(speak;x,y)为相关性函数的最大值,sign(ρ(speak;x,y))为函数取最大值时的符号,n为以speak为中心的小块区域(尺寸范围:11×11像素)。

本发明将峰值相关能量比(peaktocorrelationenergyratio,pce)值作为检验待测图像是否来源于特定数字图像传感器的依据,在计算出pce值后,对该值进行阈值判断,若大于等于阈值,则认为待测图像来源于具有该prnu噪声的数字图像传感器。大量实验表明pce阈值设定为60,可以很好的判别待测图像是否来源于特定相机。为了验证本发明的有效性特,使用74台相机拍摄的74×50=3700幅图像来测试,一部相机中的50张图片作为同类样本,其余73部相机验证集中的3650张图片作为异类样本,最后,在所有的相机上我们得到3700个同类样本的pce值和270100个异类样本的pce值,对这些pce值做出不同阈值下的判断,可得到真阳率和假阳率,进而画出roc曲线,由于提纯后的高质量prnu噪声其峰值相关能量比较大,因此用roc曲线可以明显反应出来提纯前后二者的区别,较大的pce值对应的roc曲线其更接近左上角(0,1)点。测试结果显示相机传感器噪声在经过深度堆叠自编码器模型的压缩-解压缩过程时进一步去除了无关噪声,得到了提纯的prnu噪声。因此,本发明所提供的方法对数字图像成像传感器噪声具有提纯的功能。

如图5所示,一种基于样本错配训练的图像prnu噪声提纯系统,包括:

获取模块100,用于获取同一数字图像传感器的多个噪声图像,形成深度堆叠自编码器的训练集;

训练模块200,用于基于深度堆叠自编码器的训练集、样本错配的训练技术和人工神经网络,训练得到深度堆叠自编码器模型;

提纯模块300,用于获取某一个数字图像传感器的噪声图像作为待提纯的prnu噪声图像,将待提纯的prnu噪声图像输入深度堆叠自编码器模型进行提纯,得到提纯后的高质量prnu噪声图像。

获取模块100用于:

对同一数字图像传感器拍摄的多个图像进行降噪处理,计算得到多个图像的噪声残差;

基于多个图像的噪声残差和最大似然估计法,计算得到每个图像的噪声的最大似然估计值作为对应的噪声图像。

系统还包括:

验证模块400,基于获取模块100获取某一数字图像传感器的待提纯的prnu噪声图像,并将其通过提纯模块300得到高质量prnu噪声图像,分别计算待提纯的prnu噪声图像和高质量prnu噪声图像的峰值相关能量比值,将两个峰值相关能量比值进行比较,验证所述深度堆叠自编码器模型的提纯效果。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其同等技术的范围之内,则本发明也意图包含这些改动和变型在内。

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