用于训练神经网络的图像块的选择方法及图像质量评价方法
技术领域
本发明涉及用于训练神经网络和通过神经网络使用高方差图像块评价图像质量的图像块的选择。
背景技术
在过去的三十年中,由于多媒体和网络技术的快速发展,数字图像数据量一直处于爆炸式增长。每小时都有大量数字图像生成,使图像质量评价(IQA)成为学术和行业调查的热门课题。根据对参考图像的依赖性,IQA方法通常分为3类:全参考IQA(FR-IQA),部分参考IQA(RR-IQA)和无参考IQA(NR-IQA)。FR-IQA和RR-IQA假定全部或部分参考图像信息可用,并在参考图像和测试图像之间进行比较。PSNR,SSIM,FSIM,IFC和VIF是众所周知的FR-IQA算法。然而,由于并不总是有参考图像可用,所以NR-IQA在实际应用中更加理想;许多NR-IQA算法也已经开发出来了。第一代这些算法用于为某些特定的失真类型进行校准,如JPEG,JPEG2000和H.264/AVC。这些算法很难推广到其他新的失真类型。第二代NR-IQA算法专注于自然场景统计(NSS)的研究,并使用人工设计特征(handcrafted features)来捕捉影响图像质量的相关因素。常见的基于NSS的算法有DIIVINE,BLIINDS-II和BRISQUE。
近年来,深度学习被证明在各种问题上表现良好。深度学习的兴起也将NR-IQA的发展作为一种数据驱动方法发生了革命性的变化,它直接从原始图像块中学习区别特征。CORNIA和CNN-NRIQA首先使用这种方法。CORNIA旨在使用无监督特征学习直接从原始图像像素训练图像表示内核,而CNN-NRIQA使用卷积神经网络(CNN)将特征学习和回归整合到一个优化过程中。
康(Kang)等人在2014年计算机视觉和模式识别(CVPR)中“用于无参考图像质量评价的卷积神经网络”第1733-1740页描述了CNN在NR-IQA的应用。在文中,康等人提出了一个非常有意义的框架并取得了优异的成果。这种方法主要处理小图像块(如32×32像素),整个图像质量评分是小测试块的平均预测评分。然而,康的CNN-NRIQA网络只包含一个较浅的卷积层。因此,后来的研究人员使用224×224像素大小的完整图像来训练具有多层的深度CNN,用于处理有关小图像块不能与人类感知匹配所带来的问题。其他研究人员应用现有的深度CNN来微调参数。此外,针对每个图像块做权重调整的小图像块CNN已经被提出了。最近,一种基于CNN的前置视觉显著图(pre-SM)的NR-IQA方法被提出。结果表明,使用快速显著图(SM,saliency map)模型,显著区域图像块的预测误差平均低于同质等同区域。基于这个结果,pre-SM算法自适应地将CNN计算应用于图像块并且为整个评分评价中的显著块赋予更高的权重。这种技术可以通过主动质量评分获得高精准度。然而,即使使用快速SM模型,在图像质量评价过程中也需要SM计算。
因此,图像质量评价需要改进,特别地,用于学习图像质量评价的神经网络的训练输入需要改进。
发明内容
本发明公开了一种图像块选择方法,用于图像质量评价的神经网络训练。该方法包括:接收输入图像并从输入图像中提取一个或多个图像块;测量提取图像块的矩(moment);根据测量的矩决定接受还是拒绝所提取的图像块;提取更多的图像块直到被接受的提取图像块达到最小数量Nmin;或者,调整选择标准,直到被接受的提取图像块达到最小数量。
将所述选择的图像块输入到具有对应输入图像的图像质量评分(image qualityscore)的神经网络中,并且利用图像块和图像质量评分来训练神经网络。
本发明还提供了一种使用经训练神经网络进行图像质量评价的方法,包括接收输入图像并从输入图像中选择图像块用于评价。通过从输入图像提取一个或多个图像块,测量被提取图像块的矩,并根据测量的方差(the measured variance)和被提取图像块的位置决定接受或拒绝被提取的图像块,从而进行图像块的选择。然后根据测量的矩确定所接受图像块的一个或多个权重。重复图像块选择过程,直到接受足够多的提取图像块为止,并根据需要调整设置。成功条件是:所有接受的图像块的矩大于矩阈值;接受的图像块的数量大于最小数量阈值。将选择的图像块输入到经训练的神经网络中以获得所述选择图像块的图像质量评分。根据所述选择图像块的图像质量评分和相应的权重来确定输入图像的图像质量评分。
本发明还提供了一种在图像块选择过程中调整参数的方法:选择初始步长作为提取的图像块的初始最小可能距离;按此步长扫描图像,基于方差阈值(the thresholdvariance)Tvar筛选出N个图像块;如果N不大于或等于最小图像块数(Nmin),则以减小的步长重复扫描,直到N大于或等于Nmin。
附图说明
图1为一种实施例的神经网络总结构示意图;
图2为一种实施例的图像块质量评分预测误差与图像块方差的散点图;
图3为一种实施例的图像及其相应的图像块方差和质量评分预测误差;
图4为一种实施例的不同阈值下的基于方差阈值的图像块采样示意图;
图5为一种实施例的LCC,SROCC和NRT的质量评分估计与不同的图像块方差阈值的关系示意图;
图6为一种实施例的LCC,SROCC和NRT的质量评分估计与不同Nmin图像块的关系示意图。
具体实施方式
在以下描述中,通过经训练的神经网络来训练用于图像质量评价和评价方法的神经网络的图像块选择过程的方法和系统作为优选实施例进行阐述。对于本领域技术人员来说显而易见的是,在不脱离本发明的范围和精神的情况下,可以对实施方式进行增加和/或替换的修改。为了不模糊本发明,可以省略具体细节;然而,撰写本公开旨在使本领域技术人员能够在不需要过多实验的情况下实践本文的教导。
在一个实施例中,用于训练神经网络以进行图像质量评价的图像块选择方法包括:输入图像;从输入图像中随机提取一个或多个图像块;测量提取的图像块的矩;根据测量的矩决定接受或拒绝所提取的图像块;重复图像块选择过程,直到接受足够多的提取图像块为止,并根据需要调整设置。在图像块选择过程之后,将所提取的图像块以来自输入图像的相应图像质量评分输入到神经网络中,然后用图像块和相应的图像质量评分训练神经网络。
在基于神经网络的NR-IQA中,小图像块用于训练神经网络。在以前的方法中,在训练期间从训练图像随机采样图像块,其中质量标签被设置为源图像的评分,而且,每个图像块都被视为一个独立的样本。训练结束后,神经网络用于估算从测试图像中扫描出的各个图像块的评分。整个图像质量评分基于来自测试图像的采样图像块的预测评分的加权和。因此,最终评分的精准度高度依赖于单个图像块的质量评分估计。
在进行本发明时,发明人确认使用小图像块的主要缺点,是每个图像块并不具有相同的信息量。通常,与包含强边缘或复杂纹理的非同质图像块相比,来自平坦或光滑区域的同质图像块具有相对较低的精准度。这是因为在大多数真实世界的图像中,高质量和低质量图像的同质区域通常非常相似。因此,非常相似的同质图像块可能同时来自高质量图像和低质量图像。因此,在神经网络训练过程中,类似的同质图像块具有相对较高的机会被分配非常不同的质量标签。这些低质量的训练数据会在训练过程中混淆网络。另外,经训练的网络对于同质图像块质量的评分估计也是不可靠的。
基于发明人的这一发现,本发明确定使用图像块的矩,特别是二阶的矩(themoment of the second order),即图像块的方差作为用于执行图像块质量评分预测误差分析的同质性指标。像素方差是每个像素相对于相邻像素或中心像素变化的程度的量度,并给出所传递的信息量的指标。图像块方差定义为RGB颜色通道中选定图像块的平均像素值方差,可以表示为
其中varR(P),varG(P)和varB(P)分别是RGB颜色通道中像素值的方差。使用图像块方差作为同质性指标的原因是因为同质图像块通常在像素值中具有非常低的方差。
所述选择的神经网络使用公式(1)对所述选择的数据进行训练。如图1所示的所述选择的神经网络是卷积神经网络,也可以使用其他类型的神经网络。特别地,所述选择卷积神经网络是基于CNN的NR-IQA网络。图1所示的网络包括12个卷积层,每2个卷积层之间具有最大池(max-pooling)。除最后一个全连接层之外,所有层都由ReLU激活功能激活。所有卷积层都使用补零(Zero-padding)和3×3内核。在第11层后按照0.5的比率加入丢弃正则化(Dropout regularization),并且为ADAM优化器按照0.0001的学习率使用MAE损失函数。
用于图像块选择的图像取自LIVE数据库。LIVE数据库中80%的图像用于训练,其余20%用于测试。另外,我们对测试集的70,650个图像块进行了密集采样,进行质量评分预测误差分析。图2示出这些图像块在图像质量评分预测误差方面相对于图像块方差的散点图。容易观察到,对于质量评分估计,方差非常低的图像块的预测误差不可靠,因为它们的预测误差广泛摊开分布;相反,方差高的图像块的预测误差分布在预测误差较低的区域上。
为了进一步呈现这个现象,图3示出来自测试集的两个图像及其相应的图像块方差和质量评分预测误差如。这两个图像的同质区域具有非常低的图像块方差,其对应于图3(b)和图3(e)的黑色区域。图3(b)和3(e)的黑色区域对应于(correspond to)图3(c)和3(f)中所示的亮色区域。这表明同质区域产生相对较高的预测误差。这些例子进一步表明,图像块方差低的图像块对于估计整个图像质量评分是不可靠的。因此,除了使用方差较高的训练图像块外,整体图像质量评分也应偏向于方差较高的图像块。
基于上述发现,避免在神经网络训练和质量评分估计期间使用同质图像块。为了提高传统的基于CNN的NR-IQA的性能,本申请提出使用方差阈值来避免在神经网络训练和图像质量估计中使用这些低质量数据。另外,还提出使用基于方差的加权来计算整个图像质量评分。
图像块采样方法基于方差阈值。为了避免同质图像块用于神经网络训练,本发明修改了图像块采样策略。该方法包括:输入M个训练图像;从输入的训练图像中随机采样一个m×m的图像块;基于公式(1)计算图像块方差;选择一个大于预定义方差阈值(Tvar)的图像块;保留选定的图像块和相应的图像评分;重复图像块采样过程,直到足够的图像块(N)被采样;并将所有M*N个选择的图像块和相应评分提供给CNN模型用于训练。在实验中,LIVE数据库用于训练选定的CNN模型。M被设置为32并且N被设置为32,以便平衡每个阶段(epoch)的图像块数量和LIVE数据库中的数据丰富度。
图4给出了基于实验中的不同方差阈值的采样结果。图中的每个点代表图像块的中心点。点的不同形状表示不同方差阈值的结果。三角形表示没有设置方差阈值,可以观察到这些图像块是均匀分布的,并且许多图像块来自同质区域。当差异阈值增加时,采样的图像块倾向于聚集在边缘或纹理区域的非同质区域上。但是,对于较大的方差阈值,图像块将集中在特殊区域,如星形和菱形点所示。仅选择这些非常高的方差区域可能会破坏CNN模型的性能,因为将仅选择来自有限区域的训练图像块,并且在采样过程期间可能丢失许多信息。因此,较低的方差阈值也会被选择。
在一个实施例中,使用经训练神经网络进行图像质量评价的方法包括:输入图像;从输入图像中提取一个或多个图像块;测量被提取图像块的方差;根据测量的方差和被提取图像块的位置决定接受或拒绝被提取的图像块;重复该过程直到接受足够的被提取图像块为止,并在必要时调整设置;根据测量的方差值确定被接受图像块的一个或多个权重;将选定的图像块输入到经训练的神经网络中并获得图像块的图像质量评分;根据图像块评分和相应的权重计算图像评分。
在不使用来自同质区域的不可靠数据训练神经网络时,为了质量评分估计,也避免使用来自测试图像的同质图像块。但是,这可能不如以往按照相同的方差阈值Tvar从测试图像筛选出图像块那样直接。这是因为使用固定的采样步长来对具有大部分同质区域的一些测试图像进行采样,不能获得足够的图像块筛选出测试图像块。因此,提出了采用初始步长(Sinit)和测试图像块最小数量(Nmin)筛选出测试图像块的自适应步长方法。也就是说,基于在神经网络训练中使用的相同Tvar,最初测试图像使用初始步长扫描以从测试图像筛选出n个图像块。在初始扫描之后,确定n是否足够大以用于图像质量估计。如果n大于或等于Nmin,则质量评分评估将使用这n个图像块开始。但是,如果n低于Nmin,则可以再次扫描测试图像,步长减半,使得从测试图像筛选出更多图像块。图像块筛选过程可以重复进行,直到n大于或等于Nmin或步长减少到1。通过适当选择参数Tvar、Sinit和Nmin,始终可以筛选出足够的图像块用于质量评分计算。这是因为大多数现实世界的图像都包含足够多用于质量评价的非同质区域。
除了避免将同质图像块用于质量评分估计之外,基于如图3所示的预测误差特性,本发明还会偏向于具有较高方差的图像块的预测评分。这是因为高方差图像块更稳健,预测误差相对较低。因此,对于计算最终图像质量评分,可以使用图像块方差的加权平均值。对于使用自适应步长图像块筛选方法从测试图像获得的n个非同质图像块{P1,P2,...,Pn},整体图像质量评分Q由以下计算得到
其中Qj和varave(Pj)分别是预测质量评分和Pj的图像块方差。这种简单的加权平均可以使最终质量得分偏向于具有较高方差的图像块的预测得分。这可以提高基于CNN的NR-IQA的稳健性(robustness)。
如图1所示的基于CNN的NR-IQA网络,是使用Keras和TensorFlow作为后端与LIVE数据库中的测试图像实现的。LIVE数据库包含808个图像,随机选择80%的图像构建训练集,其余20%用于测试集。图1的卷积神经网络基于上述图像块采样策略训练1500个时间段(epochs)。在NR-IQA中,性能是通过质量评分与主观测试结果的相关程度来评价的,因此,LCC(Linear Correlation Coefficient,线性相关系数)和SROCC(Spearman Rank OrderCorrelation Coefficient,斯皮尔曼等级相关系数)用作性能指标。首先确定基于训练数据集的方差阈值和测试图像块最小数量如何影响用于参数选择的质量评分估计。假设训练集表示真实世界的图像特征,对比其他常见的方法,测试集用于评价本发明的性能。
图像块方差阈值(Tvar)是本发明方法的重要参数,其决定了用于神经网络训练和质量评分估计的非同质图像块的复杂性。首先根据LCC,SROCC和评分估算的计算时间来确定此参数如何影响质量评分估计性能。这些结果如图5所示,Tvar的范围在0.0到0.010之间。当只有Tvar固定的各种不同设置下,LCC和SROCC曲线是最高值。这两条曲线的趋势表明,LCC和SROCC都随着更高的Tvar而提高,但对于Tvar大于0.010的提高不明显。这符合观察结果,即具有非常低的图像块方差的同质图像块不可靠,导致更高的预测误差。因此,不能采用非常低的Tvar,因为太小的Tvar不能过滤出同质图像块。基于这个观察,Tvar被选择为高于0.001。但是,太高的Tvar值会滤除太多的图像块,因为某些有用的非同质图像块可能会被移除。方差阈值高的另一个缺点是评分估计过程的计算要求较高。这是因为较高的Tvar会导致更密集的图像块采样(小步长),以便获得足够数量的用于评分估计的图像块。质量评分估计针对不同Tvar的NRT(Normalized Run Time,归一化运行时间)也显示在图5中,这表明随着Tvar的高于0.005,NRT显着增加。基于这些结果,Tvar选择为0.005。然而,可以理解的是,Tvar可以选择为其他值,这由图像块采样选择的图像集和其他系统因素来决定。
另一个重要参数是测试图像块的最小数量(Nmin)。太少的测试图像块会导致不可靠的质量评分估计,而太多的测试图像块会显着增加计算需求。因此分析了Nmin如何影响LCC,SROCC和质量评分估算的计算时间方面的质量评分评价性能。这些结果如图6所示,Nmin从1到1024,其中Nmin=2x。基于LCC和SROCC的曲线,发现Nmin较大时,精准度较好,但是对于大于64(=26)的Nmin,这些提升变得不太显著。但是,质量评分估算运行时间也随着Nmin增加而增加,尤其是对于大于128(=27)的Nmin。为了实现合理的低计算需求以及高精准度,选择Nmin=128个图像块作为本发明方法的另一个主要设置。然而,可以理解的是,可以根据所述选择的计算要求和期望的精准度来选择更多或更少的图像块。
为了在一个不失真的具体设置中评价本发明的方法,选择了LIVE数据库的五种失真类型。该方法的关键参数是Tvar=0.005,Nmin=128和Sinit=128。表1显示了针对五种失真类型的LCC和SROCC的实验结果:JPEG2000压缩(JP2K)、JPEG压缩(JPEG)、WN(White Noise,白噪声)、BLUR(Gaussian Blur,高斯滤波)和FF(Fast Fading,快速衰落)。,本发明的方法将与以下方法相比:FSIM的FR-IQA方法,两种基于非CNN的NR-IQA方法(DIIVINE和CORNIA)以及两种现有技术的基于CNN的NR-IQA方法(Kang和Pre-SM)。本发明的方法基于具有一种特定类型的失真图像来评价。如表1所示,本发明方法优于所有前述这些方法,除了JPEG失真方法,及略低于Kang和Pre-SM方法。此外,本方法对于WN失真方面取得优异结果(大于或等于0.99)和JP2K失真方面取得突出表现。另外,表2列出并比较了本发明的方法与3种常用的FR-IQA方法(PSNR,SSIM和FSIM),4种基于非CNN的NR-IQA方法(DIIVINE,BLIINDS-II,BRISQUE和CORNIA)和8种CNN基于NR-IQA的方法。就所有比较方法中的LCC和SROCC而言,本发明的方法实现了最高的预测精准度。这些结果表明,去除同质图像块和基于方差加权的质量评分估计可以显着提高基于神经网络的NR-IQA性能。
表1
表2
方法 |
LCC |
SROCC |
PSNR |
0.868 |
0.873 |
SSIM |
0.913 |
0.906 |
FSIM |
0.960 |
0.964 |
DIIVINE |
0.916 |
0.917 |
BLIINDS-II |
0.930 |
0.931 |
BRISQUE |
0.940 |
0.942 |
CORNIA |
0.942 |
0.935 |
Kang |
0.953 |
0.956 |
Li |
0.956 |
0.935 |
VeNICE |
0.960 |
0.950 |
Sun |
0.958 |
0.959 |
Bosse |
0.972 |
0.960 |
Pan |
0.969 |
0.968 |
Zuo |
0.967 |
0.964 |
Pre-SM |
0.978 |
0.974 |
本发明 |
0.987 |
0.976 |
如上所示,对于基于CNN的NR-IQA神经网络,图像块方差低的小图像块对于训练和最终质量评分估计是不可靠的。另外,图像块方差高更有可能获得更高的预测精准度。基于这些新发现,本发明使用一个低图像块方差阈值来避免神经网络训练和质量评分估计中的同质图像块。为了提高(bias)方差高的图像块的测试评分,也可以使用基于方差的加权平均值来计算最终图像质量评分。测试结果表明,采用新的图像块方差方法可以在NR-IQA的LIVE数据库上实现最好的效果。此外,使用图像块方差作为同质性指标的预测误差特性的效果可用于其他基于神经网络的NR-IQA方法。也就是说,有可能以许多不同的方式利用这个特性来改进神经网络训练过程以及最终图像质量评分计算。
以上公开的和其他的特征和功能或其替代方式中的各种可以被组合成许多其他不同的系统或应用。本领域技术人员随后可以做出各种目前无法预料的或未预料到的替代方案,修改,变化或改进,其中的每一个也旨在被所公开的实施例所涵盖。