闫钧华,侯 平,张 寅,吕向阳,马 越,王高飞
(1.空间光电探测与感知工业和信息化部重点实验室(南京航空航天大学),南京 211106;2.南京航空航天大学航天学院,南京 211106)
(∗通信作者电子邮箱yjh9758@126.com)
图像在采集、传输、处理等过程中都有可能出现不同类型的失真,如:拍摄时因为光照不均匀等自然条件或相机的传感器件质量,使得图像上出现噪声点;在拍摄过程中相机未聚焦或相机抖动造成图像模糊;在传输过程中因为带宽限制需要对图像进行压缩引入压缩失真。图像单失真是指在一幅原始图像中引入一种失真类型。本文使用的主要是高斯噪声、高斯模糊、JPEG、JPEG200 和快速衰落失真(fast fading)这五种典型失真类型。混合失真类型是指多种图像失真类型之间的耦合,并非对两种单失真类型进行线性叠加就能得到。在研究不同失真类型耦合最终对图像会造成怎样的影响时,需要知道单失真类型会对原始图像质量造成怎样的退化。因此,图像单失真类型判定研究对后续混合失真类型判定的研究及图像质量评价、光学链路修正等领域都有非常重要的指导意义。
目前针对图像单失真类型判定研究主要基于支持向量机(Support Vector Machine,SVM)与卷积 神经网 络(Convolutional Neural Network,CNN)来实现的。Moorthy 等[1]提出了BIQI(Blind Image Quality Indices)算法,该算法通过提取图像在小波域的自然场景统计(Natural Scene Statistics,NSS)特征,利用支持向量机(SVM)得到单失真图像属于每个失真类型的概率;Moorthy 等[2]证明了不同失真类型会改变图像的自然场景统计特征,提出了SVM-GGD(SVM based on Generalized Gaussian Distribution)算法,使用广义高斯分布(GGD)来量化图像的失真特征,利用SVM 实现图像单失真类型判定;Moorthy 等[3]提出了BRISQUE(Blind Reference Image Spatial QUality Evaluator)算法,该算法在空域提取了图像的结构特征和方向特征,利用SVM 实现图像单失真类型判定;Chetouani 等[4]提出了IQMs(Image Quality Measures)算法,该算法依据不同的图像质量评价方法从原始图像和退化图像中得到质量评价作为特征,通过分类器LDA(Linear Discriminant Analysis)实现对图像单失真类型的判定;Mittal等[5]提出了DIVINE(Distortion Identification-based image Verity and INtegrity Evaluation)算法,该算法首先对图像进行多尺度小波分解,然后对这些参数进一步统计其特性作为特征,最后利用特征对单失真图像进行失真类型判定。Kang等[6]提出了IQA-CNN+(Image Quality Assessment based on CNN)算法,该算法使用多任务卷积神经网络对失真图像进行训练确定模型并最终实现单失真图像失真类型的判定和图像质量评价,由于网络深度比较浅,同时网络使用共享卷积层和全连接层,所以最终结果仍有很大提升空间;Wang 等[7]提出了CNN-SWA(result Selective Weighted Average based on CNN)算法,该算法对原始图像块进行不同感受野的特征提取,将深度特征图进行最大值和平均值池化,对特征信息进行融合并通过分类器实现图像的单失真类型判定;邬美银等[8]提出了VIDC-CNN(Video and Image Distortion Classfication based on CNN)算法,该算法通过单任务卷积神经网络实现视频图像失真检测及分类,相较于IQA-CNN+算法,图像失真类型的判定准确率明显上升;Ma 等[9]提出了MEON(Multi-task End-to-end Optimized deep Neural network)算法,该算法相较于IQACNN+算法则是将全连接层基于不同的任务分离,同时使用自己提出的GDN(Generalized Divisive Normalization)函数作为激活函数最终实现单失真图像的失真类型判定;Liang等[10]提出了MLLnet(CNN-based Multi-Label Learning model)算法,该算法通过问题转化的思想,将图像的失真判定问题转化为多分类问题,最终通过卷积神经网络实现对图像失真类型的判定。使用支持向量机对图像失真类型判定精度的高低取决于特征提取的好坏,同时受到样本集场景的影响,其算法的鲁棒性要弱于卷积神经网络的算法。而现有的卷积神经网络相关算法因为网络输入是原始图像,没有注重失真类型对图像高频信息的影响,因此判定精度仍有很大提升空间。
针对图像单失真类型判定平均精度较低的问题,结合大部分失真类型对图像的影响主要是高频信息的损失,本文提出了一种基于双通道的卷积神经网络实现单失真类型判定方法。实验结果表明所提方法能够准确地判定出图像中存在的单失真类型。
本文提出的网络模型结构如图1所示。
图1 基于双通道卷积神经网络的算法结构Fig.1 Algorithm structure based on two-channel convolutional neural network
首先,从原始图像中裁剪一个大小为112×112具有最大信息熵的图像块,同时对图像块进行小波变换提取水平、竖直以及对角的高频信息子特征图,将三个方向的高频信息子特征图叠加得到能够反映图像失真类型的高频信息特征图;然后,将原始图像块和对应高频信息特征图分别输入到各自卷积层中,原始图像分别输入到感受野为3×3、5×5、7×7 三个通道的卷积层中,高频信息特征图输入到感受野为5×5的卷积层中得到深层特征图;接着,将原始图像块的深层特征图与高频信息特征图的深层特征图进行融合并输入到全连接层中,全连接层各层神经元个数分别为4 096、1 024、4;最后,将全连接层最后一层的结果输入Softmax 分类器中得到图像的失真概率分布。
图像失真主要是因为图像高频信息的丢失[11],为了使网络能够更加快速有效地提取出图像中的失真特征,本文采用小波变换提取出能够反映出图像失真类型的高频信息图作为网络一个输入。
小波变换可以看作是一种卷积变换,给出一幅失真图像X,利用4个卷积滤波器进行小波变换,即:低通滤波器fLL和3个高通滤波器fLH、fHL、fHH。经过小波变换将图像X分解成4幅子带图像,即低频图像XLL和3 幅高频子带图像XLH、XHL、XHH,这4个滤波器具有固定参数。本文采用Haar小波变换对图像进行分解。4个滤波器的定义如下:
由式(1)可知,fLL、fLH、fHL、fHH彼此相互正交,且均为2×2的可逆矩阵,因此Haar小波变换操作定义如下:
式中:⊗表示卷积操作;↓2表示值为2 的下采样因子。取XLH、XHL、XHH高频子带图像叠加并求均值,得到失真图像对应高频信息图Xfeature,各子带图像XLL、XLH、XHL、XHH在位置(i,j)的像素值及高频信息图Xfeature可根据式(3)进行计算。
不同失真类型的高频信息图如图2 所示。由图2 可以看出,与参考图像的高频信息图(图2(b))相比,高斯模糊图像的高频信息图(图2(d))图像中物体边缘细节信息丢失比较严重;高斯噪声图像(图2(f))因为噪声点的加入覆盖了图像细节信息,从高斯噪声的高频信息图中基本辨别不出物体边缘信息;JPEG 高频信息图(图2(h))中不仅存在细节损失,同时存在“马赛克”失真特征;JPEG2000 高频信息图(图2(j))与JPEG 高频信息图相比,图像细节特征更加清晰,但从高频图中可以非常明显看出原图像中存在非常明显的“块效应”现象;fast fading 高频信息图(图2(l))中存在非常明显“残影”特征。将这些不同失真类型的高频信息图输入网络,有助于网络能够更快提取不同失真类型的失真特征。
图2 不同失真类型图像的高频信息图对比Fig.2 Comparison of high-frequency information maps with different distortion types of images
每幅失真图像对应失真类型标签采用独热编码。假设Xlabel={x1,x2,x3,x4,x5} 中各元素分别代表JPEG2000、JPEG、高斯白噪声(White Gaussian Noise,WN)、高斯模糊(Gaussian blur,Gblur)和快速衰落失真(fast fading)这五种失真类型。当单失真图像存在某种失真类型时,则对应元素值为1;如果不存在该种失真类型时,则对应元素值为0。具体标签设定方式如表1所示。
表1 单失真类型标签设定Tab.1 Single distortion type label setting
为了加快网络训练以及提升判定精度,本文将原始图像与对应高频信息图作为网络输入。高频信息图能够帮助网络更加准确快速地提取失真的高频特征,加快网络训练,有助于提升算法判定精度。为了能够更加有效地提取图像局部和整体特征,本文采用多感受野的卷积层提取原始图像的失真特征。
特征提取的网络结构细节如图3 所示,参照Inception[12]网络对原始图像使用三种不同感受野的卷积层结构设计,从左往右分别代表对原始图像进行感受野为3×3、5×5 和7×7 的特征提取。高频信息图则采用单通道、感受野为5×5 的卷积层结构对高频信息图进行特征提取。为了能够减少网络模型中的参数,参照VGG[13]卷积核采用堆叠方式将3×3的小卷积核替代尺寸为5×5和7×7大卷积核。将原始图像三种不同感受野的深度特征图及高频信息图的深度特征图拉伸成一维向量,把代表不同特征信息的一维向量进行拼接融合。
图3 卷积层结构Fig.3 Structure of convolutional layer
全连接层能够对不同感受野的深度特征信息进行有效融合与提炼,最后将全连接层最后一层的值输入Softmax 分类器中,实现失真类型判定。为了防止网络出现过拟合的情况,全连接层采用线性整流函数(Rectified Linear Unit,ReLU)[14]和dropout[15]的组合方式。同时dropout的舍弃概率为0.5。
ReLU 激活函数能将神经元中小于0 的神经元置为0,保证了神经元之间的稀疏性,同时也防止了网络过拟合。ReLU激活函数定义如式(4)所示。
最终,全连接层最后一层的神经元值输入Softmax 函数分类器得出图像失真类型。Softmax 函数分类器定义如式(5)所示。
式中:j代表需要判定的失真类型数量;xi代表全连接层最后一层的第i个神经元值;pi代表第i个神经元的图像失真类型概率值。
网络模型使用Softmax 交叉熵函数作为损失函数,采用随机梯度下降更新卷积神经网络中的参数,具体损失函数J定义如下:
式(6)中:y表示通过lable设定的标签值。式(7)中:m表示每个批中的图像数量;n代表失真类别数量;pmi代表第m幅图像中第i个神经元的图像失真类型概率值。式(8)中表示关于超参数ω的正则化;λ为正则化参数,取值为0.001。
通过随机梯度下降方法自适应地更新每个参数。网络中所有权重参数更新方式如下:
式中:α是学习速率,取值为0.02;l是网络每一层的序号。
LIVE(Laboratory for Image and Video Engineering)数 据库[16]共包含28幅彩色参考图像和779幅彩色失真图像。失真图像包含五种失真类型:高斯白噪声(WN)、高斯模糊(Gblur)、JPEG 压缩失真、JPEG2000 压缩失真、快速衰落失真(fast fading)。为了增加训练样本数量,采用旋转、镜像以及随机裁剪等方式扩充数据集。
本文将扩充的LIVE数据库中所有样本的80%用于训练,10%用于验证,10%用于测试,训练次数为30 000,最终得到图像单失真类型判定的准确率。实验所在测试平台为:E5-2640 处理器,主频2.40 GB,GTX1080Ti 显卡,显存11 GB,内存64 GB。操作系统为Windows 7,实验软件为Matlab 以及Python3.6.1+Tensorflow1.9.0(GPU版本)。
为了更好地确定网络整体结构,使用控制变量法,调整网络输入通道数量进行实验。不同网络结构在LIVE 数据库上的判定准确率对比如表2所示。由表2可以看出,通过对失真类型判定的准确率进行比较可知,将原始图像与对应的高频信息图作为网络输入的判定结果更好。因此本文采用将原始图像和高频信息图作为网络输入。
表2 不同网络结构在LIVE数据库上的判定准确率对比 单位:%Tab.2 Judgement accuracy comparison of of different network structures on LIVE database unit:%
现有五种图像单失真类型判定方法:BIQI、DIVINE、BRISQUE、MOGIQA(no reference Image Quality Assessment based on Multi Order Gradients)[17]、VIDC-CNN,这五种单失真类型判定方法在LIVE 数据库中的失真类型判定结果如表3所示。将本文方法与这五种图像单失真类型判定方法进行比较,表3 中,:加粗表示在图像失真类型判定方法中判定准确率排在前三名的方法,加下划线表示最优。从表3 可以看出,本文所提出的方法具有较高的图像单失真类型判定精度。在对LIVE数据库所有失真类型判定中,本文方法对高斯白噪声的判定精度最高,达到了100%;对于fast fading 的判定精度为86.46%,相较于其他失真类型判定方法对fast fading 的判定精度,本文方法的判定结果仍为最优。整体上来说,本文方法对各失真类型的判定准确率都排在前三的位置,针对五种失真类型判定平均准确率达到95.21%,并且对JPEG2000 和快速衰落失真这两种失真类型的判定精度相较其他五种图像单失真类型判定方法分别提升了至少6.69 个百分点和2.46 个百分点,表明本文方法对图像单失真类型的判定较为精确。
表3 不同单失真类型判定方法在LIVE数据库上的判定准确率对比 单位:%Tab.3 Judgement accuracy comparison of different single distortion type judgment methods on LIVE database unit:%
图4 以混淆矩阵的形式给出了本文方法对LIVE 数据库中不同失真类型的判定结果。
由图4 可以看出,本文方法对JPEG、WN、Gblur 三种失真类型判定的准确率均超过了0.95;但fast fading 失真与JPEG2000 失真相互之间出现误判,将fast fading 误判为JPEG2000 的比例是0.125,将JPEG2000 误判为fast fading 失真的比例是0.041 7。因为fast fading失真图像是由JPEG2000压缩与数据包丢失仿真而来,所以两种失真类型存在相似的失真特征使得判定精度较低,因此BIQI、DIVINE、BRISQUE、MOGIQA 以及VIDC-CNN 这五种单失真类型判定方法对JPEG2000 判定精度均低于90%,对fast fading 判定精度均低于85%。同时,本文方法对JPEG2000的判定精度为94.79%,对fast fading 的判定精度为86.46%,表明本文方法对LIVE 数据中图像的失真类型判定更加精确。
图4 不同失真类型判定结果的混淆矩阵Fig.4 Confusion matrix of judgement results of different distortion types
为了实现图像单失真类型的判定,本文提出了一种基于双通道的卷积神经网络方法判定图像单失真类型。该方法从失真图像和对应的高频信息图中提取深度特征信息,将深度特征信息进行融合并输入到全连接层中,通过Softmax 函数分类器最终实现图像单失真类型判定。在LIVE数据库中,图像失真类型判定准确率达到了95.21%,表明本文方法对单失真图像的失真类型判定具有较高的准确性。在图像失真类型判定领域,本文方法可作为研究图像混合失真类型判定的参考,扩展进一步的应用。