基于深度学习去除图像压缩噪声的方法、装置及处理器
技术领域
本发明属于图像处理技术领域,具体地说,是涉及一种基于深度学习去除图像压缩噪声的方法、装置及处理器。
背景技术
在当今的信息化时代,数字化的多媒体技术已经渗透到生活的各个方面,图像信息质量的好坏对于人们的交流有很大的影响。具有图像采集功能的各类电子产品己经成为了每个人的生活必需品,各类社交软件,诸如微信、QQ、微博,需要传输大量的图像。为了提高传输效率,通常会对原始图像进行有损压缩处理来节省带宽,减轻网络载荷,提高响应速度。
但是,在有损压缩过程中,会使得图像出现压缩噪声,在不同程度上影响人们的视觉感官,有时甚至会导致丢失很多图像特征,使图像模糊不清,影响图像的结构信息而妨碍人们的视觉体验,且受噪声污染的图像也会对后续图像处理造成极大的不利影响,主要包括图像分割、提取、检测以及识别等。因此对图像进行去噪处理,使得处理复原后的图像尽可能接近原始没有压缩的图像,是相当有必要且非常重要的。
现有技术中,去除图像压缩噪声的方法可以分为基于空域、频域滤波去噪方法和基于模型优化的滤波去噪方法。虽然基于空域和频域滤波去噪方法简单有效,但这是针对简单的图像去噪情祝而言,然而现实世界中的图像引入压缩噪声是一个复杂的过程,效果总是差强人意。基于模型优化的方法是从贝叶斯的观点出发,当图像的似然概率己知,图像的先验概率将对图像的去噪声复原结果起着至关重要的作用。尽管基于模型的方法能同时处理若干个种类的图像复原问题,并且取得了较好的复原结果,但是普遍存在两大主要缺点:一是这些方法的优化都比较复杂,在测试时基本上都表现出耗时性,难以做到计算快的同时高效复原;二是模型基本上都是非凸的,模型参数需要人为地去选择,从而导致要获得好的复原效果比较艰难。
发明内容
本发明的目的之一是提供一种基于深度学习去除图像压缩噪声的方法及装置,解决现有技术去除压缩噪声存在的处理速度慢、准确性低等的问题。
为实现上述发明目的,本发明提供的方法采用下述技术方案予以实现:
一种基于深度学习去除图像压缩噪声的方法,包括:
将待处理的图像输入已训练的残差网络,获取所述待处理的图像的压缩质量因子估计值;所述残差网络中,最后一层为全连接层,所述全连接层的神经元数量为1,所述残差网络的损失函数为平方损失函数;
将所述待处理的图像及所述压缩质量因子估计值输入已训练的全卷积神经网络进行处理,获得去除压缩噪声后的图像。
优选的,所述残差网络为18层网络,包括有17层卷积层和一层所述全连接层,所述卷积层和所述全连接层之间执行全局平均池化操作。
优选的,所述全卷积神经网络的损失函数为绝对值损失函数。
如上所述的方法,所述全卷积神经网络为快速灵活去噪网络FFDNet,将所述待处理的图像及所述压缩质量因子估计值输入已训练的全卷积神经网络进行处理,获得去除噪声后的图像,具体包括:
对所述待处理的图像进行pixel_shuffle像素洗牌的逆变换,将所述待处理的图像变换为宽度和高度减半、通道数变为四倍的第一张量T1,所述第一张量T1的形状为(4*C,W/2,H/2);C为所述待处理的图像的原始通道数,W和H分别是所述待处理的图像的原始宽度和原始高度;
将所述压缩质量因子估计值作为一个通道,形成该通道的第二张量T2,所述第二张量T2的形状为(1,W/2,H/2),所述第二张量T2的每个元素均为所述压缩质量因子估计值;
将所述第一张量T1和所述第二张量T2进行concat拼接,形成第三张量T3,所述第三张量T3的形状为(4*C+1,W/2,H/2);
将所述第三张量T2输入已训练的快速灵活去噪网络FFDNet,获得去噪后的张量,所述去噪后的张量的形状为(4*C,W/2,H/2);
将所述去噪后的张量进行pixel_shuffle像素洗牌变换,获得所述去除压缩噪声后的图像。
如上所述的方法,所述残差网络采用下述方法进行训练:
获取不含压缩噪声的未压缩样本图像集,采用多个已知压缩质量因子值分别压缩所述未压缩样本图像集,形成压缩样本图像集;
利用所述压缩样本图像集和所述已知压缩质量因子值训练残差网络,获得所述已训练的残差网络。
如上所述的方法,利用所述未压缩样本图像集、所述压缩样本图像集及所述已知压缩质量因子值训练所述全卷积神经网络,获得所述已训练的全卷积神经网络。
为实现前述发明目的,本发明提供的装置采用下述技术方案予以实现:
一种基于深度学习去除图像压缩噪声的装置,包括:
压缩质量因子估计值获取单元,用于将待处理的图像输入已训练的残差网络,获取所述待处理的图像的压缩质量因子估计值;所述残差网络中,最后一层为全连接层,所述全连接层的神经元数量为1,所述残差网络的损失函数为平方损失函数;
压缩噪声去除单元,用于将所述待处理的图像及所述压缩质量因子估计值输入已训练的全卷积神经网络进行处理,获得去除压缩噪声后的图像。
优选的,所述残差网络为18层网络,包括有17层卷积层和一层所述全连接层,所述卷积层和所述全连接层之间执行全局平均池化操作;所述全卷积神经网络的损失函数为绝对值损失函数。
如上所述的装置,所述全卷积神经网络为快速灵活去噪网络FFDNet,所述压缩噪声去除单元将所述待处理的图像及所述压缩质量因子估计值输入已训练的全卷积神经网络进行处理,获得去除压缩噪声后的图像,具体包括:
对所述待处理的图像进行pixel_shuffle像素洗牌的逆变换,将所述待处理的图像变换为宽度和高度减半、通道数变为四倍的第一张量T1,所述第一张量T1的形状为(4*C,W/2,H/2);C为所述待处理的图像的原始通道数,W和H分别是所述待处理的图像的原始宽度和原始高度;
将所述压缩质量因子估计值作为一个通道,形成该通道的第二张量T2,所述第二张量T2的形状为(1,W/2,H/2),所述第二张量T2的每个元素均为所述压缩质量因子估计值;
将所述第一张量T1和所述第二张量T2进行concat拼接,形成第三张量T3,所述第三张量T3的形状为(4*C+1,W/2,H/2);
将所述第三张量T2输入已训练的快速灵活去噪网络FFDNet,获得去噪后的张量,所述去噪后的张量的形状为(4*C,W/2,H/2);
将所述去噪后的张量进行pixel_shuffle像素洗牌变换,获得所述去除压缩噪声后的图像。
本发明的目的之二是提供一种处理器,包括上述的基于深度学习去除图像压缩噪声的装置。
与现有技术相比,本发明的优点和积极效果是:本发明提供的基于深度学习去除图像压缩噪声的方法及装置,利用残差网络获取图像的压缩质量因子估计值,为压缩噪声去除提供参考信息,然后将压缩质量因子估计值和要处理的图像一同输入至全卷积神经网络进行处理,从而获得去除压缩噪声后的图像;由于通过残差网络估计压缩质量因子,为全卷积神经网络提供参考信息,参考信息的获取速度快、准确性高,且无需再人为选择去除压缩噪声需要的一些参数,减少了因人为选择参数的不准确性和复杂性,进一步提升了压缩噪声去除的速度和准确性;而且,采用残差网络估计压缩质量因子,由于残差网络中具有全局池化层,不需要对输入的图像进行裁剪或缩放等处理,保留了原始图像的细节,能够估计出更加准确的压缩质量因子;所采用的残差网络中,将残差网络的全连接层的神经元数量置为1,将全连接层的损失函数设置为平方损失函数,将质量因子估计作为回归任务处理,充分保留了压缩质量因子的全序关系,提高了质量因子估计的准确性,进而提升压缩噪声去除的性能。
结合附图阅读本发明的具体实施方式后,本发明的其他特点和优点将变得更加清楚。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明基于深度学习去除图像压缩噪声的方法一个实施例的流程图;
图2是本发明基于深度学习去除图像压缩噪声的装置一个实施例的结构框图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下将结合附图和实施例,对本发明作进一步详细说明。
请参见图1,该图所示为本发明基于深度学习去除图像压缩噪声的方法一个实施例的流程图,具体来说,是利用压缩质量因子去除图像压缩噪声的方法的一个实施例。
如图1所示,该实施例采用下述过程去除图像压缩噪声:
步骤11:将待处理的图像输入已训练的残差网络,获取待处理的图像的压缩质量因子估计值。
待处理的图像是指压缩后的图像,在压缩时通常产生有压缩噪声。在使用残差网络估计压缩质量因子时,为提高估计的准确性,需要尽可能保留压缩质量因子的全序关系,因此,该实施例将压缩质量因子估计作为回归任务处理,以充分利用其相对应的全序关系。因此,对于残差网络,最后一层设置为全连接层,且全连接层的神经元数量置为1,输出1个结果。同时,残差网络训练时采用的损失函数为平方损失函数,以适用各种压缩方式产生的压缩噪声,增大网络适用范围,提高网络抗干扰能力。平方损失函数表示如下:
其中,X1是含有压缩噪声的图片,f是残差网络,f(X1)是压缩质量因子估计值,Y1是压缩质量因子的真实值。
并且,在该步骤中,残差网络是利用样本集已经训练好的网络,只需要将待处理的图像作为输入,输入至已训练的残差网络,输出即为该待处理的图像的压缩质量因子估计值。
残差网络可以采用下述过程进行训练:
获取不含压缩噪声的未压缩样本图像集,采用多个已知压缩质量因子值分别压缩该未压缩样本图像集,形成压缩样本图像集。譬如,采用20、30、40、50、60、70、80这七个压缩质量因子值,分别压缩未压缩样本图像集,形成压缩样本图像集。可以采用JPEG压缩算法将未压缩样本图像集中的图像压缩成小体积的图像,形成压缩样本图像集。具体压缩方法和过程为现有技术,在此不作具体阐述。
然后,将压缩样本图像集输入至残差网络中,其中,残差网络的最后一层为全连接层,全连接层的神经元数量为1,残差网络的损失函数为平方损失函数,并将压缩样本图像集中的每幅图像所对应的已知压缩质量因子值作为残差网络的输出结果的参考值,训练残差网络的参数,获得参数确定的训练好的残差网络。
在其他一些优选实施例中,为了减轻网络参数大小,提高估计速度,使得残差网络更具有实用性,残差网络选用18层网络ResNet18,包含有17层卷积层和最后一层的全连接层,卷积层和全连接层之间执行全局平均池化操作。并且,对于该18层的残差网络,使用3*3的卷积核,执行步长为1的卷积操作。第1至5层的卷积核数是64,之后在第6层,第10层和第14层步长变为3,卷积核数加倍。而且,改进的18层网络ResNet18中所有激活层的激活函数均采用ReLU函数,函数公式为:
步骤12:将待处理的图像及压缩质量因子估计值输入已训练的全卷积神经网络进行处理,获得去除压缩噪声后的图像。
在步骤11获得待处理的图像的压缩质量因子估计值之后,将其作为一个输入,连通待处理的图像一并输入到全卷积神经网络进行处理,获得去除压缩噪声后的图像。
其中,全卷积神经网络也是利用样本集已经训练好的网络。具体来说,可以是利用上述训练残差网络时的未压缩样本图像集、压缩样本图像集以及已知的压缩质量因子值训练,获得已训练的全卷积神经网络。更具体来说,是将压缩样本图像集及每幅图像所对应的已知的压缩质量因子值作为输入,将未压缩样本图像集作为全卷积神经网络的输出结果的参考值,训练全卷积神经网络的参数,获得参数确定的、训练好的全卷积神经网络。
对于全卷积神经网络,可以采用现有技术中适用于去噪的网络,譬如,采用去噪卷积神经网络Dncnn、图像重构卷积神经网络IRCNN、全卷积自适应图像去噪器fc-aide、统一去噪网络UDN中的其中一种网络结构。作为优选实施方式,对于全卷积神经网络,训练时,其损失函数设置为绝对值损失函数,能够充分利用绝对值损失对离群值不敏感的特性,提高去噪后的图像的清晰度。绝对值损失函数表示如下:
L(Y2,f(X2))=|Y2-f(X2)|。
其中,X2是含有压缩噪声的图片和压缩质量因子估计值组成的张量,f是全卷积神经网络,f(X2)是噪声去除后的图像,Y2是未压缩样本图像,也即原始干净的、不含有噪声的图像。采用该实施例的方法去除图像压缩噪声,通过残差网络估计压缩质量因子,为全卷积神经网络提供参考信息,参考信息的获取速度快、准确性高,且无需再人为选择去除压缩噪声需要的一些参数,减少了因人为选择参数的不准确性和复杂性,进一步提升了压缩噪声去除的速度和准确性;而且,采用残差网络估计压缩质量因子,由于残差网络中具有全局池化层,不需要对输入的图像进行裁剪或缩放等处理,保留了原始图像的细节,能够估计出更加准确的压缩质量因子;所采用的残差网络中,将残差网络的全连接层的神经元数量置为1,将残差网络的损失函数设置为平方损失函数,将质量因子估计作为回归任务处理,充分保留了压缩质量因子的全序关系,提高了质量因子估计的准确性,进而提升压缩噪声去除的性能。
下表一列出了利用样本集训练后的残差网络的参数。
表一残差网络参数设置
将表一中的迭代次数设置为不同值、其余参数保持不变,形成多个已训练的残差网络,利用多个已训练的残差网络进行测试,来估计已知压缩质量因子值的图像的压缩质量因子估计值,并将压缩质量因子估计值和所对应的已知压缩质量因子值求均方误差,来测试残差网络的准确性。下表二列出了针对相同的测试样本集在不同迭代次数下的均方误差MSE。
表二测试结果
从上表二中可以看出,在迭代次数为200时,压缩质量因子估计值和所对应的已知压缩质量因子值的均方误差为0.099,小于0.1。测试结果表明,训练的残差网络在估计压缩质量因子时准确性高。
在其他一些优选实施例中,采用快速灵活去噪网络FFDNet作为全卷积神经网络,去除图像压缩噪声。在采用快速灵活去噪网络FFDNet时,为提高FFDNet网络的感受野,提升去噪性能,采用下述方法处理待处理的图像,获得去除噪声后的图像:
首先,对待处理的图像进行预处理,过程如下:
对待处理的图像进行pixel_shuffle像素洗牌的逆变换,将待处理的图像变换为宽度和高度减半、通道数变为四倍的第一张量T1,第一张量T1的形状为(4*C,W/2,H/2)。其中,C为待处理的图像的原始通道数,如图像为RGB彩色图像,通道数为3,如为灰度图像,通道数为1;W和H分别是待处理的图像的原始宽度和原始高度。
然后,将残差网络输出的压缩质量因子估计值作为一个通道,形成该通道的第二张量T2,第二张量T2的形状为(1,W/2,H/2),并且,第二张量T2的每个元素均为压缩质量因子估计值。
再然后,将第一张量T1和第二张量T2进行concat拼接,形成第三张量T3,第三张量T3的形状为(4*C+1,W/2,H/2)。其中,concat是用于连接两个或多个数组的拼接方法,具体拼接实现过程参考现有技术。
然后,对预处理后的图像去噪处理,具体的,是将第三张量T2输入已训练的FFDNet网络,获得去噪后的张量,去噪后的张量的形状为(4*C,W/2,H/2)。在该优选实施例中,FFDNet网络的损失函数设置为绝对值损失函数。
FFDNet网络对预处理后的图像去噪处理后,输出的直接结果是张量,而不是图像,为了将张量还原回图像,还需要将去噪后的张量进行pixel_shuffle像素洗牌变换,把(4*C,W/2,H/2)还原成(C,W,H),获得去除压缩噪声后的图像。
在这些优选实施例中,采用FFDNet网络,结合pixel_shuffle像素洗牌逆变换后的张量及压缩质量因子估计值形成的张量,按照通道进行拼接,对图像进行压缩噪声去除,具有更好的自适应性。
图2示出了本发明基于深度学习去除图像压缩噪声的装置一个实施例的结构框图。具体来说,在该实施例中,去除图像压缩噪声的装置包括有压缩质量因子估计值获取单元21和压缩噪声去除单元22。其中,压缩质量因子估计值获取单元21用于将待处理的图像input输入已训练的残差网络,获取待处理的图像的压缩质量因子估计值。并且,在残差网络中,最后一层为全连接层,全连接层的神经元数量为1,残差网络的损失函数为平方损失函数。压缩噪声去除单元22用于将待处理的图像input及压缩质量因子估计值获取单元21所输出的压缩质量因子估计值输入已训练的全卷积神经网络进行处理,获得去除压缩噪声后的图像。
该装置中的各个单元运行相应的软件程序,按照图1实施例或优选实施例的方法流程工作,实现图像压缩噪声的去除。该装置所产生的技术效果参考上述方法实施例,在此不作复述。
上述装置可以配置为处理器的一部分,以利用处理器实现对图像压缩噪声的去除。
以上实施例仅用以说明本发明的技术方案,而非对其进行限制;尽管参照前述实施例对本发明进行了详细的说明,对于本领域的普通技术人员来说,依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明所要求保护的技术方案的精神和范围。