盧 鵬, 劉楷贇, 鄒國良,王振華,鄭宗生
(上海海洋大學 信息學院,上海 201306)
數字信息化和顯示技術持續進步,圖像數據也持續飛速性地增長,廣泛出現在人們的生產生活中。圖像的視覺質量與用戶的體驗密切相關,是決定計算機視覺應用的重要因素之一[1]。圖像質量客觀評價的應用非常廣泛,例如用于評價圖像去霧[2]、圖像去噪[3]等圖像處理算法等。圖像質量評價(Image Quality Assessment,IQA)方法在圖像顯示技術等領域發揮了重要作用。
圖像質量評價有主觀評價和客觀評價兩種基本方法。主觀質量評價是觀查者本人對圖像的視覺質量來打分,主觀質量評價符合人眼的視覺系統(Human Visual System, HVS), 但不適用于實際系統[4]。依據對參考圖像的依賴程度,客觀圖像質量評價可以分為3種基本類型:全參考(Full-Reference)、半參考(Reduce-Reference)、無參考(No-Reference)。全參考和半參考IQA需要有參考圖像來輔助進行質量評價。常見的全參考方法有均方誤差(Mean squared error,MSE)、峰值信噪比(Peak signal-to-noise ratio,PSNR)[1]。比較典型的有結構相似度評估方法(Structural similarity,SSIM)[5],根據圖像的結構信息,通過分析和比較參考圖像和失真圖像之間結構信息的相似度,對失真圖像質量的評估和預測。Zhang等人基于此改進提出了基于特征的結構相似度方法(Feature similarity index,FSSIM)[6]。Heikh等人從信息論的角度出發,結合信息提取的過程來進行圖像質量評價,提出了視覺信息保真度評價方法(Visual information fidelity,VIF)[7]。
無參考圖像質量評價模型通常應用于缺少原始圖像的場景,具有實際的應用前景和價值[8]。通用類型的無參考算法一般遵循兩種方法,即基于自然場景統計(NSS)或機器學習的方式[9]。基于NSS的方法包括:Mittal 及其團隊通過對圖像提取形狀和方差等統計特征來進行圖像質量評價[10];Yu等人基于NSS通過色域映射的方式來評估圖像質量[11]。基于機器學習的方法包括:Bianco 等人通過使用 CNN 提取圖像特征,接著使用SVR回歸質量分數的方法來獲得預測評分[12];Ye及其團隊將多特征予以融合,采用深度學習的方法對彩色唐卡的修復圖像質量進行了評估[13];Fan等人通過自相似性顯著性檢測(SDSR)算法提取HDR圖像的顯著區域用于模擬人類的視覺注意力機制,然后根據亮度和對比度敏感度的視覺特征,設計了用于訓練質量預測模型的視覺質量感知網絡[14]。卷積神經網絡(CNN)作為深度學習中的網絡模型之一,被應用到IQA任務當中。Kang等人首次將卷積神經網絡應用到無參考圖像質量評價之中并提出了IQA-CNN模型[15]。他們提出的IQA-CNN由于首次將卷積神經網絡應用于IQA,因此蘊含重要意義。該算法首先將預處理后的圖像分成32×32的圖像塊,用整幅圖像主觀質量評分標注各分塊,再投入卷積神經網絡訓練;接著對得到的各分塊的圖像質量評分取平均值以獲得最終整幅圖像的質量評分。IQA-CNN方法的優勢在于將圖像分塊以滿足卷積神經網絡對于大數據量的要求,卻忽略了不同圖像塊的質量由于人眼視覺關注度不同而存在的差異性,也就是說用大圖像的主觀質量評分來標注分塊圖像的標簽并不準確。
通常情況下,圖像紋理特征豐富的區域會表示更多的圖像細節,人眼對于該區域的圖像質量更加敏感。信息熵是反應圖像信息豐富程度的度量方法,人眼傾向于從信息熵豐富區域來評估圖像質量。充分考慮以上兩個指標對人眼視覺關注區域的影響后,本文提出了一種基于多特征融合和深度學習的無參考圖像質量評價模型。在原始的IQA-CNN算法基礎上,計算每塊圖像的信息熵和圖像紋理特征,在訓練過程中用兩個指標計算視覺權重用以修改損失函數,最后在兩個通用數據集上進行檢驗,結果表明本文的算法性能要強于IQA-CNN等算法。
在進行訓練之前,通常會對圖像進行不重疊分塊操作,然后對每個分塊賦予整塊圖像的質量分數作為分數標簽[15]。文獻[15]中通過對比實驗發現,將整幅圖像分割成32×32的圖像塊,然后投入卷積網絡進行訓練能夠得到較高的算法性能。但是用整幅圖像的主觀質量分數賦標簽值的方法并不能準確代表各圖像分塊的質量評分,極易在訓練中產生了較大的偏差。圖1為LIVE數據集中所抽取的參考圖像。

圖1 Carnivaldolls圖像中不同區域圖像的質量差異明顯
紋理是一種反映圖像中同質現象的視覺特征,包含了圖像中事物表面結構組織排列的重要信息[16],反映了圖像中局部區域的像素灰度級的空間分布[17]。獲得圖像紋理特征通常基于統計的方法,比如計算灰度直方圖、灰度共生矩陣方法[18]、Tammre方法等。
圖像紋理包含了許多圖像中的細節信息。人眼傾向于從紋理特征更明顯的區域來評價圖像質量,而整幅圖像不同區域紋理特征的復雜程度是不同的。因此分塊后,不同分塊圖像質量應當存在差異性。為了驗證整幅圖像不同區域紋理特征程度的不同,選取了LIVE數據庫中bikes圖片,提取其中不同區域相同大小的圖像分塊后,計算其對應的灰度直方圖,如圖2所示。從圖2中可以看出,圖像的紋理特征通過像素以及周圍鄰域的灰度分布來表現[19],且不同區域的紋理特征存在差異性。

(a)參考圖像bikes以及同一圖像下不同區域的兩分塊
圖像的信息熵蘊含了圖像的結構信息,表達了信息的豐富程度[20]。信息熵可以用其來衡量局部圖像的敏銳度[21],圖像敏銳度越高,人眼越傾向于從該區域評價圖像質量[22]。而圖像分塊后,由于各分塊圖像的信息熵不相同,所以不同分塊圖像的質量評分會存在差異。假設圖像P(x,y)具有K個等級,圖像的熵可表示為

(1)
假定當pi=0時,pilogpi=0[21]。其中的pi表示灰度值為i的像素占比。
選取TID2008數據集中同一參考圖像的不同失真類型并提取其信息熵圖。如圖3所示。從圖3可以看出,對于同一參考圖像的不同失真類型來說,其信息熵分布與人類視覺感知區域比較符合。

圖3 相同程度的不同失真類型的圖像及其信息熵圖
本文采用類似于文獻[14]的網絡模型結構。在32×32的輸入圖像塊上使用50個7×7大小的卷積核,卷積滑動的步長為1,以此得到了50個大小為26×26的特征圖。為了更好地保留關聯性更強的圖像質量的局部特征,這里采用了最大池化的方式,池化窗口為26×26,使得每幅特征圖作為一個激活單元。接著采用兩個800個節點的全連接層方法,并使用ReLU作為其激活函數以加快訓練時誤差下降的速度,通過提出的多特征融合機制計算出的權重所修改的損失函數網絡得到各分塊圖像的質量分數,最后,取各分塊質量分數的平均值生成大圖像的質量分數。其模型如圖4所示。

圖4 本文使用的卷積神經網絡模型
在投入卷積神經網絡之前,為了減少與圖像質量無關或者關聯性較弱的圖像冗余特征,對圖像分塊進行局部歸一化的預處理[23];反之,如果對其進行全局歸一化處理,可能會降低CNN在訓練期間的性能[15]。采用的局部歸一化方法如下:

(2)

(3)
σ(i,j)=

(4)
其中:w是高斯函數窗口的權重值,本文采用的是3×3大小的窗口,I(x,y)是失真圖像;M、N分別表示圖像的高和寬;K、L是歸一化窗口的大小且不可超過圖像大小。
(1)將數據集中的圖像按照式(2)~(4)進行局部歸一化處理后,將圖像進行分割為不重疊的32×32大小的圖像塊。每個圖像塊對應的標簽為整幅圖像的圖像質量分數。
(2)提取各圖像分塊的信息熵和紋理特征并計算重要性權重。
(3)將所有圖像塊投入到IQA-CNN網絡模型進行訓練并根據重要性權重改進L2損失函數以增強代表性強的圖像分塊在訓練中的權重。
(4)在得到最優參數的模型后,任意選取圖像進行測試,在得到分塊圖像的質量分數后取均值求得整幅圖像的質量評分。
3.3.1 基于紋理特征和信息熵的歸一化
首先,提取整幅圖像所對應的分塊的灰度直方圖,通過公式(5)計算其均值T用以表示紋理特征。

(5)
其中,pi是指第i個像素的灰度值。
接著通過公式(1)直接計算分塊圖像的信息熵H。最后通過公式(6)對計算的兩個特征進行歸一化操作得到紋理特征權重W1(i)與信息熵權重W2(i)。

(6)
其中:N表示每幅大圖像被分割成不重疊的分塊的個數。I表示第i個圖像塊灰度直方圖的均值T或者信息熵H。i的取值范圍為1~N。
3.3.2 對于重要性權重的計算
由于紋理特征和圖像信息熵都能對分塊圖像產生質量影響,從而導致對整幅圖像質量評價的結果產生偏差。基于此,本文將紋理特征權重和信息熵特征權重相結合,提出了一個重要性權重W(i),用以減弱分塊圖像的質量偏差對整幅圖像產生的質量影響。重要性權重計算如下:
W(i)=w1(i)×w2(i).
(7)
根據上述公式,從TID2008數據集中選取出同一程度不同失真類型的圖片來分塊和計算結合后重要性權重W并將其進行可視化操作,具體效果如圖5所示。
圖5中,顏色深淺的程度不同代表重要性權重不同,顏色越深,代表權重越大。由圖5中失真圖像與兩特征結合后的權重圖對比來看,失真圖像的權重分布基本都與原圖像的特征分布相對應,且比單信息熵歸一化權重圖更貼近人類視覺感知區域。因此說明,圖像分塊具有越高的權重,其代表性越強。

(a)Refimg
若分塊圖像的重要性權重越高,則其對于整幅圖像來說越具有代表性。因此,本文提出給原網絡中的L2損失函數添加權重值:

(8)
其中:ypred是每個分塊的預測值,yi是每個分塊的標簽值。
權重值越高,代表性強的分塊實際質量分數與原始標簽值的偏差越大,網絡就會通過產生更高的損失來彌補這樣的偏差。通過這樣的修改,可以使代表性更強的分塊在訓練中發揮更強的作用,讓訓練變得更加準確有效。
本文的所有實驗結果及部分對比實驗基于Windows 10 Intel Core i5-10210U CPU1.60 GHz,內存為16 GB,使用了Python中的機器學習庫Pytorch。
在本文的實驗過程中,使用到了LIVE(http://live.ece.utexas.edu/index.php)和TID2008(http://www.ponomarenko.info/tid2008.html)兩個公開數據集。LIVE標準數據庫中有29幅參考圖像,并在此基礎上加入5種不同類型和等級的失真,生成了包括高斯白噪聲(WN)、高斯模糊(GBlur)、JPEG失真、JPEG2000失真以及快速衰落(FF)等失真類型的779幅失真圖像。TID2008數據庫有25幅參考圖像,并且以此添加17種失真類型生成1 700張失真圖片。為對比LIVE數據庫,從TID數據庫抽取了400幅圖像來進行測試以驗證本文算法的泛化性能,兩個數據庫詳細信息如表1所示。

表1 LIVE和TID2008數據庫信息對比
LIVE數據庫還提供了每幅圖像對應的平均主觀得分差值(Differential Mean Opinion Score,DMOS)作為其主觀質量評分,分值在[0,100]。圖像DMOS值越大,表示其質量越差,如圖6所示。

圖6 LIVE數據庫中不同程度的同一失真類型圖像及其DMOS值
TID2008數據集也提供了平均主觀得分(Mean Opinion Score,MOS)作為其主觀質量評分,分值在[0,9]。MOS值越高,代表圖像質量越好,如圖7所示。

圖7 TID2008數據庫中不同程度的同一失真類型圖像及其MOS值
為了能夠客觀地衡量算法的性能,本文選用了兩個通用性能指標來對提出的算法進行評估,分別是Spearman 秩相關系數(Spearman’s rank-order correlation coefficient,SROCC)和 線 性 相 關 系 數(Linear correlation coefficient,LCC)。這兩個指標都是用來衡量算法和人類視覺系統(Human visual system,HVS)的主觀評價的一致性,SROCC評價算法輸出和主觀評價的單調性;LCC評價算法輸出和主觀評價的線性相關性[24]。
秩相關系數(SROCC)計算公式如下:

(9)
其中,di是第i個圖像的主觀質量評分和預測評分的差值。
線性相關系數(LCC)計算公式如下:

(10)
其中:si是第i個圖像的主觀質量評分,xi則是其預測評分。
一般來說,兩個指標的值越高,代表方法性能越高;反之,則較差。
訓練過程中,將LIVE數據集按照0.6∶0.2∶0.2比例劃為訓練集、驗證集和測試集,訓練的學習率設置為0.01,批樣本數量為64。在此基礎上,每次訓練的epoch為1 500輪。進行1 000次訓練操作,并測試得到每次的算法性能指標值,最后取均值作為其最終的性能評價,該操作顯著降低了訓練過程對測試過程的影響。實驗過程中,為了驗證本文算法的準確性和有效性,選擇了一些有代表性的全參考和無參考算法來進行對比。全參考方法包括SSIM、PSNR等方法;無參考評價方法包括CORNIA[25]、BRISQUE[26]、DIIVINE[27]、VI-IQA[28]、MS-C[29]等方法。
從表2、表3中可以看出,本文提出的方法對于不同失真類型基本都能獲得良好的主客觀一致性,對于SROCC和LCC性能指標基本提升0.5%以上。在對數據集綜合評價的情況下,本文提出的多特征融合的卷積神經網絡的方法相比其他全參考、無參考方法都有了明顯的提升,SROCC和LCC提升至少0.9%以上。并且進行消融實驗后發現,融合兩特征權重的算法性能強于單特征權重的性能。為了驗證算法的泛化性能,對TID2008數據集進行上述實驗。

表2 LIVE數據庫上SROCC對比

表3 LIVE數據庫上LCC對比
從表4、表5中可以看出,在TID2008數據集上,無論是對單獨失真類型的評價還是對于數據集綜合評價來說,本文提出的修改權重的損失函數的方法相對于其他算法得到了很大的提升,SROCC與LCC至少提升0.6%,且基本優于使用單特征權重的算法性能。對于提取的失真圖像可以根據更加貼近人眼視覺區域的特征權重,得到更為貼切有效的質量分數。在TID2008數據集的基礎上對本文算法得到的主觀質量分數和客觀質量分數繪制散點圖,如圖8所示,發現本方法的散點對于y=x曲線的擬合效果較好。基于以上兩種數據集的實驗結果,可以充分說明本文算法的泛化性及有效性。
本文基于IQA-CNN方法提出了改進:通過對圖像紋理特征和信息熵計算重要性權重,并修改損失函數為帶權重的損失函數,使得更能夠代表整幅圖像的圖像分塊能夠在訓練過程中發揮更大的作用。通過改進的算法模型與幾種典型的圖像質量評價方法比較,在LIVE數據集上綜合驗證,SROCC與LCC指標為0.962和0.960,算法性能提升至少0.9%;在TID2008數據集上綜合驗證,SROCC與LCC指標為0.922和0.926,算法性能提升至少0.6%。消融實驗也證明,結合兩特征權重的算法性能高于單特征的算法性能。本文算法改進了原有算法的不足,基本能夠準確地評估各種類型及程度的失真圖像,預測結果與人類視覺感知有很好的一致性。