閆鈞華,侯 平,張 寅,呂向陽,馬 越,王高飛
(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%,表明本文方法對單失真圖像的失真類型判定具有較高的準確性。在圖像失真類型判定領域,本文方法可作為研究圖像混合失真類型判定的參考,擴展進一步的應用。