閆鈞華,侯平,張寅,呂向陽,馬越,王高飛
(1.空間光電探測與感知工業(yè)和信息化部重點實驗室(南京航空航天大學),南京 211106;2.南京航空航天大學航天學院,南京 211106)
隨著信息科技的飛速發(fā)展,人們對圖像質量的要求越來越高。高質量的圖像包含了更加豐富的信息,能夠有效地提升信息傳遞的準確性。然而圖像在經(jīng)過采集、壓縮、處理和傳輸?shù)冗^程中會引入多種不同程度的失真類型,這些失真圖像會影響接收者對圖像信息的理解。因此圖像失真類型的判定對圖像質量評價、圖像復原以及光學鏈路的修正等一些領域都有非常重要的指導意義。
由于不同失真類型的特征存在相似性難以區(qū)分,所以部分失真特征的相似性成為了失真類型判定的難點之一。關于圖像失真類型判定的研究大致可分為兩類:第一類首先提取圖像中的自然場景統(tǒng)計特征,然后利用機器學習實現(xiàn)圖像失真類型的判定;第二類基于圖像分類的思想,通過卷積神經(jīng)網(wǎng)絡(Convolutional Neural Network,CNN)實現(xiàn)圖像失真類型的判定。
第一類方法主要有:Moorthy 等[1]提出的無參考圖像質量指標(Blind Image Quality Indices,BIQI)算法,該算法通過提取圖像在小波域的自然場景統(tǒng)計特征(Natural Scene Statistics,NSS),利用支持向量機(Support Vector Machine,SVM)得到單失真圖像屬于每個失真類型的概率;Moorthy等[2]提出的無參考空域圖像質量評價(Blind Reference Image Spatial Quality Evaluator,BRISQUE)算法,該算法從空域中提取圖像的結構特征和方向特征,利用SVM 實現(xiàn)單失真圖像的失真類型判定;Mittal 等[3]提出的基于失真類型判定的圖像真實性與完整性評價(Distortion Identification-based Image Verity and INtegrity Evaluation,DIIVINE)算法,該算法首先對圖像進行多尺度小波分解,然后對這些參數(shù)進一步統(tǒng)計特性作為特征,最后利用特征對單失真圖像進行失真類型判定。
第二類方法主要有:鄔美銀等[4]提出的基于卷積神經(jīng)網(wǎng)絡的視頻圖像失真(Video and Image Distortion Classfication based on CNN,VIDC-CNN)檢測及分類算法,該算法通過單任務的卷積神經(jīng)網(wǎng)絡實現(xiàn)視頻圖像中的失真檢測及分類;李鵬程等[5]提出的基于Gabor 小波和CNN 的圖像失真類型判定算法(image distortion type determination algorithm based on Gabor wavelet and CNN,Gabor-CNN),該算法利用失真對圖像信息的影響,采用Gabor 小波對圖像進行特征粗提取,再通過改進的CNN進一步提取關鍵特征,通過Softmax分類器實現(xiàn)對圖像的失真類型判定;Ma 等[6]提出的基于多任務端到端優(yōu)化深度卷積神經(jīng)網(wǎng)絡(Multi-task End-to-end Optimized deep Neural network,MEON)的圖像質量評價,該算法將全連接層基于不同的任務分離開來,同時使用提出的GDN(Generalized Divisive Normalization)函數(shù)作為激活函數(shù)最終實現(xiàn)單失真圖像的失真類型判定。
雖然上述幾種單失真判定算法能夠有效地對單失真圖像中的失真類型進行判定,但無法實現(xiàn)對混合失真圖像中失真類型的判定。Yuan等[7]提出了基于多任務卷積神經(jīng)網(wǎng)絡的局部混合失真圖像質量評價(Locally and Multiply Distortion Image Quality Assessment,LMDIQA)算法,該算法搭建了三個卷積神經(jīng)網(wǎng)絡分別實現(xiàn)對圖像是全局失真還是局部失真的判定、對圖像混合失真類型的判定以及對圖像質量的評價;Liang 等[8]提出了基于卷積神經(jīng)網(wǎng)絡的多標簽學習(CNNbased Multi-Label Learning,MLLNet)混合失真類型判定算法,該算法首先將多標簽分類問題轉換成多分類問題,然后使用卷積神經(jīng)網(wǎng)絡模型來同時訓練所有分類器,最終把各分類器的分類結果進行融合,實現(xiàn)對混合失真圖像的失真類型判定。上述兩種混合失真類型判定算法能夠有效對特有的幾種混合失真類型進行有效的判定,但這兩種算法未采用多種不同尺寸的卷積核對失真圖像進行更加準確的失真特征提取,因此混合失真類型判定算法的判定精度仍然存在很大的提升空間。同時,這兩種混合失真類型判定算法采用問題轉化的思想來解決混合失真類型判定的問題,因此隨著判定的混合失真類型種類增加,網(wǎng)絡模型越來越復雜,判定精度也隨之降低。
針對上述兩種混合失真類型判定算法的不足,本文在卷積神經(jīng)網(wǎng)絡研究的基礎上,提出了一種基于多尺度多分類器卷積神經(jīng)網(wǎng)絡的圖像失真類型判定方法,相較于現(xiàn)有的混合失真類型判定方法,能夠對更多種類的混合失真類型進行更加精確的失真類型判定。
如圖1 所示,本文提出的多尺度多分類器卷積神經(jīng)網(wǎng)絡分為兩個部分。
圖1 圖像混合失真類型判定方法結構Fig.1 Structure of image multiply distortion type judgement method
1)第一部分是設置共享卷積層,用于提取圖像的淺層特征。由于不同種類的失真類型對圖像區(qū)域大小的影響不同,為了保證卷積層能夠更加充分地提取失真特征,因此本文采用了多種不同感受野的卷積層來提取圖像的失真特征。
2)第二部分是多分類器并行結構。將不同感受野的淺層特征圖分別輸入到五個子分類器相應的通道中,針對各個子分類判定的失真類型進行特征提取得到深層特征圖并將深層特征圖進行融合;通過全連接層對特征進行融合提煉,輸入到Sigmoid 函數(shù)分類器中得到失真類型;最終將五個子分類器的判定結果進行融合,得到圖像的混合失真類型。
相較于現(xiàn)有的兩種混合失真類型判定算法,本文方法存在以下優(yōu)勢:1)通過信息熵閾值從失真圖像中截取含有邊緣等其他高頻信息的圖像塊,保證輸入圖像中存在豐富的失真信息;2)將圖像塊輸入到3× 3、5× 5和7× 7不同感受野的卷積層中對失真圖像進行更加有效的失真特征提取,通過最大值池化得到淺層特征圖像;3)采用多標簽分類的思想解決混合失真類型判定問題,可以準確地判定出更多種類的混合失真類型。
每幅混合失真圖像塊對應的失真類型標簽采用多熱標簽編碼。假設中各元素分別代表JPEG2000、JPEG、高斯白噪聲(White Gaussian Noise,WN)、高斯模糊(Gaussian blur,Gblur)和快速衰落失真(fast fading)五種失真類型。當混合失真圖像存在某種失真類型時,則對應元素的值為1;如果不存在該種失真類型時,則對應元素的值為0。具體的標簽設定方式如表1所示。
表1 混合失真類型標簽設定Tab.1 Multiply distortion type label setting
為了使深層特征圖能夠更加準確提取出圖像的混合失真特征,本文方法首先對原始圖像進行淺層特征的提取,同時利用卷積神經(jīng)網(wǎng)絡對混合失真圖像進行失真類型判定,其判定的精度與卷積核的大小密切相關。尺寸大的卷積核感受野范圍大,有助于對全局信息的提取,同樣也會導致圖像細小特征的丟失。尺寸小的卷積核能夠充分提取圖像的局部特征,當圖像局部信息過少時不能提取出圖像的有效特征信息。在采用單一卷積核的卷積層結構時,會導致圖像全局與局部特征信息在卷積提取的過程中有所丟失,造成判定精度下降。因此本文參照Inception 模型[9]采用多通道卷積層結構利用不同尺寸的卷積核提取圖像特征,從而減少圖像信息的損失。為了減少網(wǎng)絡模型中的參數(shù),參照視覺幾何組(Visual Geometry Group,VGG)模型[10]卷積核采用堆疊方式將3× 3 的小卷積核替代尺寸為5× 5和7× 7大卷積核。
淺層特征提取的網(wǎng)絡結構細節(jié)如圖2 所示,卷積層中采用三通道的結構設計,從左往右分別代表對原圖像進行感受野為3× 3、5× 5、7× 7 的特征提取;同時各通道第一個最大值池化之前每層卷積核個數(shù)均設置為32,之后的每層卷積核個數(shù)均設置為64。
圖2 淺層特征提取網(wǎng)絡結構Fig.2 Shallow feature extraction network structure
2.3.1 圖像深層特征提取
將不同感受野的淺層特征圖分別輸入到每個子分類器相應感受野的卷積層中,針對每個子分類器需要判定的失真類型對淺層特征圖進行更深層次的特征提取,最終得到每個子分類器的深層特征圖。子分類器卷積層結構如圖3 所示,輸入到每個子分類器中三種不同感受野的特征圖維度均為28×28× 64,子分類卷積層中卷積核個數(shù)設置為128,通過最大值池化最終得到每個子分類器的三種不同感受野的深層特征圖,每種感受野的深層特征圖維度均為14 × 14 × 128。將三種不同感受野的特征圖拉伸成一維向量并進行拼接,實現(xiàn)不同深層特征的融合。
圖3 深層特征提取網(wǎng)絡結構Fig.3 Deep feature extraction network structure
2.3.2 子分類器判定圖像失真類型
全連接層對不同感受野的深層特征信息進行有效的融合與提煉,最終將全連接層最后一層的值輸入分類器中,實現(xiàn)混合失真類型的判定。為了加快網(wǎng)絡的訓練速度以及防止網(wǎng)絡出現(xiàn)過擬合的情況,全連接層采用了線性整流函數(shù)(Rectified Linear Unit,ReLU)[11]和批量歸一化(Batch Normalization,BN)[12]的組合方式。
ReLU 激活函數(shù)能將神經(jīng)元中小于0 的神經(jīng)元置為0,保證了神經(jīng)元之間的稀疏性,同時也防止了網(wǎng)絡過擬合。ReLU激活函數(shù)定義如式(1)所示。
批量歸一化(BN)能夠保留全局特征,同時也能有效地約束每層神經(jīng)元的分布范圍,有利于網(wǎng)絡的收斂,加快網(wǎng)絡的訓練速度。批量歸一化(BN)定義如式(2)所示。
其中:x為全連接層神經(jīng)元的權值;mean為全連接層神經(jīng)元權值的平均值;δ為全連接層神經(jīng)元權值的方差;C是為了避免分母為0添加的一個極小值,取值為0.001。
全連接層最后一層輸出的四個值通過Sigmoid 函數(shù)分類器最終得出每個子分類器的類型判定結果。Sigmoid 分類器定義如式(3)所示。
其中:xi為全連接層最后一層的神經(jīng)元值。
采用多分類器并行的結構可以減少每個分類器的分類數(shù)量來提升分類精度[13];同時采用多分類器并行的結構可以增加分類器的數(shù)量,一定程度上能夠防止混合失真類型的誤判。本文的判定算法中共設定五個子分類器,每個子分類器分別判定四種失真類型。將五個子分類器對應的失真類型概率值相加取均值,均值最大的兩種失真類型即為圖像的混合失真類型。
如表2 所示,假設混合失真圖像中存在JPEG 和Gblur 兩種失真,五個子分類器分別對圖像中的失真類型進行判定,判定的子分類器將JPEG 和Gblur 的混合失真類型誤判為JPEG2000 和Gblur 混合失真類型,同時其他四個子分類器判定結果正確。將五個子分類器的判定結果進行融合,最終依舊能正確得到該幅圖像中存在的JPEG 和Gblur 兩種失真類型。通過表2 可以看出,采用多分類器并行的結構并將每個子分類器的分類結果融合的方法,在一定程度上能夠防止失真類型的誤判。
表2 子分類器判定結果融合樣例Tab.2 Fusion samples of sub-classifier judgement results
網(wǎng)絡模型使用Sigmoid交叉熵函數(shù)作為損失函數(shù),采用隨機梯度下降的方式更新網(wǎng)絡中的參數(shù)。具體損失函數(shù)如下:
其中:m表示每個批中的圖像塊數(shù)量,批大小取值為32;n表示失真類型的數(shù)量;y為多熱編碼的標簽值;lables為混合失真類型的標簽值;pi為網(wǎng)絡的預測值;xi為全連接層最后一層的神經(jīng)元值。
通過隨機梯度下降方法自適應地更新每個參數(shù)。網(wǎng)絡中所有權重參數(shù)更新方式如下:
式中:α是學習速率,取值為0.01;l是網(wǎng)絡每一層的序號。
目前大多數(shù)失真圖像數(shù)據(jù)庫都是單失真數(shù)據(jù)庫,如LIVE(Laboratory for Image and Video Engineering)[14]、CSIQ(Categorical Subjective Image Quality)[15]等?;旌鲜д鎴D像數(shù)據(jù)庫數(shù)量相對較少,目前國內外圖像質量評價等領域采用的混合失真圖像數(shù)據(jù)庫主要包括LIVE-MD(LIVE Multiply Distorted images)[16]、MDID(Multi-Distortion Image Database)[17]等。由于LIVE-MD 和MDID 等混合失真圖像數(shù)據(jù)庫中圖像的失真類型較少或者失真圖像數(shù)量較少,因此本文建立了自然場景混合失真圖像數(shù)據(jù)庫(Natural Scene Multiply Distorted Images Database,NSMDID)。
NSMDID 中的參考圖像數(shù)據(jù)來源于LIVE 數(shù)據(jù)庫的28 幅不同場景的參考圖像。每幅參考圖像引入JPEG2000、JPEG、高斯白噪聲、高斯模糊和fast fading 這5 種失真類型中的任意2 種,共10 種混合失真類型。同時每種失真類型對應6 種隨機的失真程度,每一幅參考圖像的一種混合失真類型對應36幅不同程度的混合失真圖像,每種混合失真類型的圖像數(shù)量約為1044幅。
部分混合失真圖像樣張如圖4所示。
圖4 混合失真數(shù)據(jù)庫(NSMDID)部分樣張Fig.4 Some samples of Natural Scene Multiply Distorted Image Database(NSMDID)
為了能夠更好地確定網(wǎng)絡的整體結構,采用控制變量法,對網(wǎng)絡結構進行改變并實驗,最終確定網(wǎng)絡的最優(yōu)模型。網(wǎng)絡結構對比實驗中,共采用三種網(wǎng)絡結構進行實驗:第一種網(wǎng)絡結構采用單個分類器對圖像進行失真類型判定;第二種網(wǎng)絡結構則是在子分類器結構中不設置卷積層,不對特征圖進行更深層次的特征提?。坏谌N網(wǎng)絡結構則是本文最終采用的網(wǎng)絡結構,最終的實驗結果如表3所示。
表3 不同結構的混合失真類型判定方法對混合失真類型判定的的準確率 單位:%Tab.3 Accuracies of multiply distortion type judgement methods with different structures for multiply distortion type judgement unit:%
根據(jù)最終的實驗結果可以看出,多尺度多分類器卷積神經(jīng)網(wǎng)絡相較于其他兩種網(wǎng)絡結構,能夠更加準確地判定出圖像中存在的混合失真類型。
本文將混合失真圖像數(shù)據(jù)庫NSMDID 中所有樣本的80%用于訓練,10%用于驗證,10%用于測試,訓練次數(shù)為50000,最終得到圖像失真類型判定的準確率。MLLNet 算法為圖像混合失真類型判定方法,因為該方法判定的混合失真類型數(shù)量較少,不適合與本文方法進行對比。本文實驗側重展示了混合失真圖像中存在的失真類型的判定準確率,分析了多尺度多分類器卷積神經(jīng)網(wǎng)絡算法的混合失真類型判定性能。本文實驗所用測試平臺為:E5-2640 處理器,主頻為2.40 GB,GTX1080Ti 顯卡,顯存為11 GB,64 GB 內存。實驗系統(tǒng)為Windows 7,實驗軟件為Python3.6.1+Tensorflow1.9.0(GPU版本)。
本文混合失真判定方法對圖像的失真類型判定的準確率如表4所示。由表4結果可以看出,本文方法對混合失真圖像數(shù)據(jù)庫NSMDID 的失真圖像進行失真類型判定,平均準確率達到91.4%,表明了該方法對于圖像失真類型判定有較好的實用性。從失真類型角度分析,本文提出的方法對于fast fading+WN 的判定準確率最高,達到了100%;對于混合失真類型中有高斯模糊失真類型的失真圖像判定準確率均大于95%。單失真圖像在加入高斯模糊的失真類型時,既能夠在圖像中保留模糊的失真特征,同時也能夠保留圖像另外一種失真類型的部分失真特征,所以混合失真類型中存在高斯模糊的混合失真圖像判定精度高。
表4 本文混合失真類型判定方法在NSMDID上對圖像混合失真類型判定的準確率 單位:%Tab.4 Accuracy of proposed multiply distortion type judgement method for image multiply distortion type judgement on NSMDID unit:%
圖5 以混淆矩陣的形式給出了不同混合失真類型之間的判定結果。
由圖5 可以看出,當混合失真類型中存在JPEG 和JPEG2000 時,混合失真圖像的失真類型判定準確率都低于90%,同時fast fading+JPEG2000失真類型的判定準確率最低。這是因為JPEG 和JPEG2000對圖像進行壓縮時分別采用了離散余弦變換和離散小波變換,在失真程度比較大的時候,這兩種失真類型會將其他失真類型的特征遮蓋住,主要表現(xiàn)出JPEG 和JPEG2000 的失真特征,所以存在JPEG 的混合失真圖像會被判定為存在JPEG 的其他混合失真類型,同樣存在JPEG2000 的混合失真圖像會被判定為存在JPEG2000 的其他混合失真類型。
圖5 不同混合失真類型之間判定結果的混淆矩陣Fig.5 Confusion matrix of judgement results of different multiply distortion types
對圖像進行失真類型判定是失真圖像復原以及光學鏈路修正這兩個領域的重點研究方向之一。本文根據(jù)失真類型對圖像中不同頻率信息的影響,提出了一種基于多尺度多分類器卷積神經(jīng)網(wǎng)絡的混合失真類型判定方法。首先,在預處理階段利用信息熵閾值截取的方法從原始圖像中得到含有邊緣等其他高頻信息的圖像塊;其次,相較于LMDIQA 與MLLNet算法卷積層結構設置,本文方法設置不同感受野的卷積層結構從失真圖像中提取不同尺度的特征,提升失真類型的判定精度;最后,相較于采用問題轉換的思想解決混合失真類型判定問題,本文采用多標簽分類思想解決大量混合失真類型判定具有更好的效果。在圖像失真類型判定領域中,本文所提方法可解決含有兩種單失真類型的混合失真判定問題,但在實際成像過程中,形成的圖像往往存在兩種以上的混合失真類型,針對更加復雜的混合失真類型的判定有待進一步的研究。