本文部分內容摘自:https://zhuanlan.zhihu.com/p/32553977
1. 背景介紹
在過去的幾十年里,由於質量評估(Quality Assessment,QA)在許多領域有其廣泛的實用性,比如圖像壓縮、視頻編解碼、視頻監控等,並且對高效、可靠質量評估的需求日益增加,所以QA成為一個感興趣的研究領域,每年都涌現出大量的新的QA算法,有些是擴展已有的算法,也有一些是QA算法的應用。
質量評估可分為圖像質量評估(Image Quality Assessment, IQA)和視頻質量評估(Video Quality Assessment, VQA),本文主要討論圖像質量評估。IQA從方法上可分為主觀評估和客觀評估。主觀評估就是從人的主觀感知來評價圖像的質量,首先給出原始參考圖像和失真圖像,讓標注者給失真圖像評分,一般采用平均主觀得分(Mean Opinion Score, MOS)或平均主觀得分差異(Differential Mean Opinion Score, DMOS)表示。客觀評估使用數學模型給出量化值,可以使用圖像處理技術生成一批失真圖像,操作簡單,已經成為IQA研究的重點。圖像質量評估算法的目標是自動評估與人的主觀質量判斷相一致的客觀圖像質量。然而,主觀評估費時費力,在實際應用中不可行,並且主觀實驗受觀看距離、顯示設備、照明條件、觀測者的視覺能力、情緒等諸多因素影響。 因此,有必要設計出能夠自動精確的預測主觀質量的數學模型。
IQA按照原始參考圖像提供信息的多少一般分成3類:全參考(Full Reference-IQA, FR-IQA)、半參考(Reduced Reference-IQA, RR-IQA)和無參考(No Reference-IQA, NR-IQA), 無參考也叫盲參考(Blind IQA, BIQA)。FR-IQA同時有原始(無失真、參考)圖像和失真圖像,難度較低,核心是對比兩幅圖像的信息量或特征相似度,是研究比較成熟的方向。NR-IQA只有失真圖像,難度較高,是近些年的研究熱點,也是IQA中最有挑戰的問題。RR-IQA只有原始圖像的部分信息或從參考圖像中提取的部分特征,此類方法介於FR-IQA和NR-IQA之間,且任何FR-IQA和NR-IQA方法經過適當加工都可以轉換成RR-IQA方法。進一步,NR-IQA類算法還可以細分成兩類,一類研究特定類型的圖像質量,比如估計模糊、塊效應、噪聲的嚴重程度,另一類估計非特定類型的圖像質量,也就是一個通用的失真評估。一般在實際應用中無法提供參考圖像,所以NR-IQA最有實用價值,也有着廣泛的應用,使用起來也非常方便,同時,由於圖像內容的千變萬化並且無參考,也使得NR-IQA成為較難的研究對象。
2. 數據集
要想公正的比較各個IQA算法的性能,有必要建立一個具有各種內容和失真的圖像數據集。圖像質量評估的數據集也很多,如表1。具有廣泛認可的數據集有:LIVE,TID2008,TID2013,CSIQ,IVC和Toyama。給定這些數據集,然后就可以計算平均主觀評分和客觀模型預測值之間的差異和相關性。 更高的相關性表明更好的模型性能。
表1:IQA 公開數據集[9]
3. 評估方法
上面簡單介紹了IQA的背景知識和數據集,下面是本文的重點,主要介紹IQA的評估指標,使用一些傳統算法和深度學習算法解決IQA問題。
3.1 評估指標
衡量圖像質量評估結果的指標有很多,每種指標都有自己的特點,通常比較模型客觀值與觀測的主觀值之間的差異和相關性。常見的2種評估指標是線性相關系數(Linear Correlation Coefficient, LCC)和Spearman秩相關系數(Spearman's Rank Order Correlation Coefficient, SROCC)。LCC也叫Pearson相關系數(PLCC),描述了主、客觀評估之間的線性相關性,定義如下:
其中 表示失真圖像數,
、
分別表示第
幅圖像真實值和測試分數,
、
分別表示真實平均值和預測平均值。
SROCC衡量算法預測的單調性,計算公式為:
其中 、
分別表示
、
在真實值和預測值序列中的排序位置。
除此之外,還有Kendall秩相關系數(Kendall Rank Order Correlation Coefficient,KROCC)、均方根誤差(Root Mean Square Error, RMSE)等評估指標。KROCC的性質和SROCC一樣,也衡量了算法預測的單調性。RMSE計算MOS與算法預測值之間的絕對誤差,衡量算法預測的准確性。
3.2 傳統算法
以下簡單介紹使用傳統算法評估FR-IQA、RR-IQA和NR-IQA,文中提到的大部分算法可參考網站cvpr16_gmad。
3.2.1 FR-IQA
對於FR-IQA的研究越來越成熟,出現了很多有影響力的算法,主要是傳統算法。比如峰值信噪比(Peak Signal to Noise Ratio, PSNR)通常用來評價一幅圖像壓縮后和原圖像相比質量的好壞,PSNR越高,壓縮后失真越小,可以借助均方誤差(Mean Square Error, MSE)來計算,計算公式為:
其中 、
表示兩個
的單色圖像。
表示圖像點顏色的最大值,如果每個采樣點用 8 位表示,那么就是 255。對於彩色圖像來說
的定義類似,只是
是所有方差之和除以圖像尺寸再除以 3。
PSNR是圖像、視頻處理領域應用最廣的性能量化方法,計算復雜度小,實現速度快,已經應用在視頻編碼標准H.264、H.265中。盡管PSNR具有上述特點,但是局限性很明顯,受像素點的影響比較大,與主觀評價一致性比較低,沒有考慮人類視覺系統(Human Visual System, HVS)的一些重要的生理、心理、物理學特征。基於HVS,提出了誤差靈敏度分析和結構相似度分析(Structural SIMilarity Index, SSIM)[1]的評價方法。結構相似性假定HVS高度適應於從場景中提取結構信息,試圖模擬圖像的結構信息,實驗表明場景中物體的結構與局部亮度和對比度無關,因此,為了提取結構信息,我們應該分離照明效果。后來又發展出多尺度的結構相似性(Multi-Scale Structural SIMilarity Index, MS-SSIM)[1]和信息量加權的結構相似性(Information Content Weighted Structural Similarity Index, IW-SSIM)[13],在多尺度方法中,將不同分辨率和觀察條件下的圖像細節結合到質量評估算法中。 VIF[12]算法使用高斯尺度混合(Gaussian Scale Mixtures, GSMs)在小波域對自然圖像進行建模,由源模型,失真模型和HVS模型三部分組成。MAD[8]算法假定HVS在判斷圖像質量時采用不同的策略,即使用局部亮度、對比度掩蔽和空間頻率分量的局部統計量的變化來尋找失真。FSIM[1]算法強調人類視覺系統理解圖像主要根據圖像低級特征,選擇相位一致性(Phase Congruency, PC)和圖像梯度幅度(Gradient Magnitude, GM)來計算圖像質量。后又加入顏色特征並用相位一致性信息做加權平均,發展出FSIMc[1]算法。VSI[15]算法把FSIMc中的相位一致性特征換成了顯著圖,保留FSIMc中的梯度和顏色信息,提高了效果。GMSD[14]只用梯度作為特征,采用標准差pooling代替以前的均值pooling,達到了較好的效果。總體上來說,FR-IQA算法性能和速度都在提高,准確率也達到了新高度,如下表2:
表2:不同FR-IQA算法在四個不同的數據集上的表現對比
3.2.2 RR-IQA
雖然FR-IQA取得了良好的效果,但在許多應用中,參考圖像獲取不到,只能獲取參考圖像的一部分信息或間接特征,這便發展出RR-IQA。 RR-IQA方法為參考圖像無法完全訪問的情況提供了解決方案。 這種類型的方法通常先從參考圖像提取最小參數集,然后結合失真圖一起來估計質量。RR-IQA研究中的一個重要問題是如何確定IQA任務的有效參數。Maalouf et al等人[10]提出了基於群變換的RR算法, 給定參考圖像及其失真版本,將圖像組應用於兩個圖像以便提取圖像的紋理和梯度信息, 然后將該信息通過CSF濾波和閾值處理以獲得靈敏度系數,最后通過將失真圖像的靈敏度系數與參考圖像的靈敏度系數進行比較來估計圖像質量。Guanawan等人[6]提出了基於局部諧波分析對阻塞或模糊降級的圖像進行操作的RR-IQA算法,從邊緣檢測圖像來計算局部諧波幅度信息,然后將該信息與失真圖像一起用於估計圖像質量。還有其他的基於自然場景統計(Natural Scene Statistics, NSS)的RR-IQA方法,一般的RR-IQA系統見下圖:
3.2.3 NR-IQA
現實場景中,人們在沒有參考圖像的情況下能夠無差錯地判斷失真圖像的質量,但從計算機的角度來看,這項任務是相當具有挑戰性的。 NR-IQA算法試圖不用參考圖像來評估圖像質量。
絕大多數NR-IQA算法試圖檢測特定類型的失真,如模糊,塊效應,各種形式的噪聲等。 例如,用於銳度、模糊度估計的算法已被證明對於模糊圖像的NR-IQA表現良好。 NR-IQA方法可以評價圖像的模糊度,有基於邊緣分析的方法,如使用Sobel、Canny提取圖像邊緣。有基於變換域的方法,如使用DCT、DWT進行模糊評價。有基於像素統計信息的方法,如統計圖像協方差矩陣的最大的前幾個特征值的跡作為圖像銳度的估計。NR-IQA方法可以估計噪聲,有基於濾波的方法、基於小波變換和其他一些變換域的方法。 NR-IQA方法可以評估塊效應,有基於塊邊界和變換域的方法。NR-IQA方法還可以評估JPEG和JPEG2000的壓縮失真。
還有一些基於通用類型的NR-IQA算法,這些算法不檢測特定類型的失真,他們通常將IQA問題轉化成一個分類或回歸問題,其中分類、回歸是使用特定的特征進行訓練的。 相關的特征要么使用自然場景統計提取,要么通過機器學習和深度學習發現。NR-IQA使用自然場景統計的一個主要思想是,自然圖像表現出一定的統計規律,可以在失真的情況下進行評估。 我們可以通過提取特征來估計質量,這些特征指示這些統計數據在失真圖像中的偏離程度,比如BLINDS-II[1],這些方法速度通常非常慢,因為使用了計算耗時的圖像轉換。有基於SVM的方法,這類方法先提取圖像空間域或變換域特征, 基於已有的數據訓練支持向量回歸分析模型(Support Vector Regression, SVR),或者對失真圖像使用SVM+SVR模型,代表算法有BIQI[1],DIIVINE[1],BRISQUE[1]等。或者使用概率模型的方法,比如BLIINDS[11],NIQE[1]。或者基於碼本的方法,比如CORNIA[1]。並且 CORNIA證明,可以直接從原始圖像像素學習判別圖像特征,而不使用手工提取特征。
3.3 深度學習算法
最近幾年,深度學習已經引起了研究者們的關注,並在各計算機視覺任務上取得了巨大的成功。 具體而言,CNN已經在許多標准的對象識別基准上表現出了優越的性能。 CNN的優勢之一是可以直接將原始圖像作為輸入,並將特征學習融入到訓練過程中。 CNN具有深層次的結構,可以有效地學習復雜的映射,同時要求最小的領域知識。這里主要介紹使用深度學習訓練NR-IQA。
Le Kang等人[7]使用5層CNN准確的預測NR-IQA,網絡結構圖如下。該方法輸入32*32大小的圖像塊,使用局部歸一化、結合全局max pooling、min pooling、Relu非線性激活層,選擇SVR損失函數,使用帶動量的SGD來訓練模型。 在網絡結構中,特征學習和回歸被整合到一個優化過程中,從而形成一個更有效的估計圖像質量的模型。 這種方法在LIVE數據集上表現了當時最好的性能,並且在交叉數據集實驗中顯示了出色的泛化能力。文章最后還做了圖像局部失真的實驗,證明了CNN的局部質量估計能力。
圖2:Le Kang等人使用的網絡結構
Weilong Hou等也采用深度學習算法進行圖像質量評價。使用BIQA框架,綜合圖像代表,NSS特征,混合特征,分類,后驗概率計算等功能為一體,由3級小波變換細節特征為輸入,訓練過程先采用受限波爾茲曼機RBM進行層間學習,再通過反向傳播算法進行微調,最后將預測結果分為5個等級。這個新的基於分類框架比回歸框架更加自然,對小訓練集更加穩定,通過實驗證明模型更加的高效和魯棒。
Ke Gu等人[5]介紹了一種新的基於深度學習的圖像質量指數(Deep learning based Image Quality Index, DIQI)來評估無參考圖像質量。首先把RGB圖像轉換到YIQ顏色空間,從中提取3000個特征,然后使用L-BFGS算法訓練一個稀疏的自動編碼器,輸入數據是s×3000的矩陣,s表示訓練樣本的個數,設計一個3層的DNN,使用剛才訓練的自動編碼器初始化DNN,然后使用線性函數計算輸出,最后根據損失函數使用反向傳播算法微調DNN每層的權重。實驗結果表明DIQI的有效性,並且對比經典的FR-IQA、RR-IQA算法,DNN是IQA研究中一個有前景的方向。
圖3:DIQI結構和稀疏表示
Sebastian Bosse等人[4], 設計了一個端到端的深度神經網絡。作者修改了VGG網絡,新網絡包含10個卷積層、5個pooling層來提取特征,2個fc層做回歸,將大圖片分成多個小塊作為輸入。然后NR-IQA與FR-IQA共用網絡,可以學習出局部權重和局部質量,計算MAE損失進行端到端的訓練。作者對比了三種特征向量的融合、空間pooling和權重估計,最后 和平均權重效果最好。只使用NR-IQA分支就可以預測NR-IQA,網絡設計比較靈活。實驗評估了一些有代表性的公開數據集,都表現出了優越的性能,通過跨數據集的測試表明該算法有很好的泛化能力。
圖4:Sebastian Bosse等人使用的網絡結構
Simone Bianco等人[3]使用了DeepBIQ模型,DeepBIQ通過將原始圖像的多個子區域上預測的分數進行平均來估計圖像質量。輸入圖像塊,加載預訓練模型微調CNN,輸出SVR來計算每個圖像塊的分數。作者評估了幾種效果:1)使用不同的預訓練模型,2)使用大量的圖像塊而不是整個圖像訓練,同時使用不同的特征和結果融合策略,3)由於圖片數據量少,固定網絡全連接前的權值,使用NR-IQA數據微調網絡。測試圖像質量挑戰數據集的結果表明,DeepBIQ取得了幾乎0.91的LCC。 此外,在許多情況下,DeepBIQ的質量分數預測更接近平均觀察者的分數。
圖5:DeepBIQ 特征的不同融合方式
Xialei Liu等人[2]提出RankIQA模型來評估無參考圖像的質量。之前的模型主要都是從提取特征和網絡方面做改進,並沒有考慮數據集圖像少的問題。而RankIQA正是從數據預處理出發,取得了NR-IQA最好效果。 為了解決IQA數據集不足的問題,通過已知質量的圖片使用圖像處理變換生成不同級別不同類型的排序的失真圖像。這些排序的圖像集是自動生成的,而不用人工標注。這樣就得到一個大數據集,然后就可以選擇一個更寬更深的網絡來訓練。作者首先選擇Siamese網絡學習出生成數據排序關系的表示特征,然后將訓練好的Siamese網絡中表示的知識遷移到傳統的CNN中,從而估算出單個圖像的絕對圖像質量。作者還改進了一個比傳統Siamese網絡更高效的反向傳播算法:以前Siamese網絡使用成對的樣本訓練網絡,這樣有大量樣本有重復計算,現在所有樣本只前向傳播一次,統計出loss,然后計算梯度進行反向傳播,這樣得到更快的訓練速度和更低的損失。作者實驗了三個從淺到深的網絡:Shallow,Alexnet,VGG16。Shallow包含4個卷積層和一個fc層,最后VGG16的結果最好。我們還可以訓練測試一些更深的網絡或者設計一些新網絡。作者測試TID2013表明,RankIQA超過state-of-the-art 5%,並且在LIVE測試中,RankIQA優於現有的NR-IQA技術,甚至超越了FR-IQA方法的最新技術,從而無需參考圖像就可以推斷IQA。
圖6:RankIQA網絡結構
3.4 實驗結果
在表3中, 統計了一些FR-IQA算法和NR-IQA算法在LIVE數據集上的表現,到目前為止結果最好是RankIQA,RankIQA在NR-IQA上的評估指標甚至超過了FR-IQA。
表 3: 各算法在 LIVE 數據集上的 LCC 和 SROCC 表現
根據RankIQA的主頁https://xialeiliu.github.io/RankIQA/提供的文檔和源碼,首先生成一批排序的失真圖像,使用腳本准備好訓練、測試集,然后使用網絡進行訓練。訓練模型分為2個階段,第一階段使用Siamese網絡通過排序圖像學習出圖像的表示特征,第二階段使用第一階段訓練好的模型微調自己的IQA數據。我使用自己的數據集:訓練集7.5W張,測試集6500,分別微調出了回歸和分類模型,微調時使用較小的學習率,回歸結果見表4,后使用TID2013+FT模型微調出分類的准確率為 。與公開數據集上的LCC和SROCC差別都比較大,可能原因是自己數據的主觀性比較強,與公開數據集存在分布差異。
表4: 訓練測試自己數據的表現
4 總結
從NR-IQA的發展來看,經歷了先前針對特定失真類型到基於規則判斷的方法后,逐漸到提取復雜特征、基於機器學習的方向發展,直到現在使用深度學習的方法,NR-IQA取得了較好的結果。深度學習具有復雜的網絡結構和很好的非線性映射能力,可以端到端的完成特征提取和識別,從實驗結果來看,性能超過其他機器學習的方法,在IQA中發揮了重要的作用。但其局限性是設計網絡和訓練網絡都需要一定的技巧,另外訓練需要大量的數據,數據量少容易產生過擬合。各個IQA算法也有其局限性,目前還沒有客觀評價視頻編碼的算法,雖然PSNR已經應用在視頻編碼標准中,但是實驗證明PSNR和SSIM等算法並不能客觀的評價圖像質量,如圖7,圓外6幅圖像MAE相同,即PSNR相同,可是主觀觀測差別很大,圖中SSIM不同,貌似SSIM效果好點,但是有論文證明SSIM並不比PSNR優秀。PSNR范圍[0,100],SSIM的范圍[0,1],他們也沒有准確的對應關系。也還沒有客觀評價與主觀評價一致性高的算法,如圖8,主觀與客觀呈現非線性的關系。目前各IQA算法主要評估圖片質量都是單一的質量值,並不能反應綜合圖像質量情況,在各個數據集上SRCC高並不意味着總體上SRCC高。IQA算法對數據集依賴嚴重,現實中自然圖片千變萬化,包含多重失真,比公開數據集更復雜,僅靠提升LCC和SROCC是遠遠不夠的。所以現有的IQA算法只能解決一部分問題,如果投入使用還需繼續探索。
圖7: 圓內是原始圖像,圓外是 6 幅加入不同失真圖像,它們 PSNR 相同,SSIM 不同
圖8: 主觀平均得分與模型預測得分的非線性關系
參考文獻
[1] Algorithm Reference. https://ece.uwaterloo.ca/~zduanmu/cvpr16_gmad.
[2] RankIQA: Learning from Rankings for No-reference Image Quality Assessment. https://xialeiliu.github.io/RankIQA.
[3] S. Bianco, L. Celona, P. Napoletano, and R. Schettini. On the use of deep learning for blind image quality assessment. arXiv preprint arXiv:1602.05531, 2016.
[4] S. Bosse, D. Maniry, K.-R. Müller, T. Wiegand, and W. Samek. Deep neural networks for no-reference and full-reference image quality assessment. IEEE Transactions on Image Processing, 27(1):206–219, 2018.
[5] K. Gu, G. Zhai, X. Yang, and W. Zhang. Deep learning network for blind image quality assessment. In Image Processing (ICIP), 2014 IEEE International Conference on, pages 511–515. IEEE, 2014.
[6] I. P. Gunawan and M. Ghanbari. Reduced reference picture quality estimation by using local harmonic amplitude information. In London Communications Symposium, volume 2003, pages 353–358, 2003.
[7] L. Kang, P. Ye, Y. Li, and D. Doermann. Convolutional neural networks for no-reference image quality assessment. In Proceedings of the IEEE conference on computer vision and pattern recognition, pages 1733–1740, 2014.
[8] E. C. Larson and D. M. Chandler. Most apparent distortion: full-reference image quality assessment and the role of strategy. Journal of Electronic Imaging, 19(1):011006–011006, 2010.
[9] 圖像質量評價怎么了 – 全參考方法整理與實用性探討. https://zhuanlan.zhihu.com/p/24804170.
[10] A. Maalouf, M.-C. Larabi, and C. Fernandez-Maloigne. A grouplet-based reduced reference image quality assessment. In Quality of Multimedia Experience, 2009. QoMEx 2009. International Workshop on, pages 59–63. IEEE, 2009.
[11] M. A. Saad, A. C. Bovik, and C. Charrier. A dct statistics-based blind image quality index. IEEE Signal Processing Letters, 17(6):583–586, 2010.
[12] H. R. Sheikh and A. C. Bovik. Image information and visual quality. IEEE Transactions on image processing, 15(2):430–444, 2006.
[13] Z. Wang and Q. Li. Information content weighting for perceptual image quality assessment. IEEE Transactions on Image Processing, 20(5):1185–1198, 2011.
[14] W. Xue, L. Zhang, X. Mou, and A. C. Bovik. Gradient magnitude similarity deviation: A highly e cient perceptual image quality index. IEEE Transactions on Image Processing, 23(2):684–695, 2014.
[15] L. Zhang, Y. Shen, and H. Li. Vsi: A visual saliency-induced index for perceptual image quality assessment. IEEE Transactions on Image Processing, 23(10):4270–4281, 2014.
[16] 視頻/圖像質量評價綜述(一)(二)(三): https://zhuanlan.zhihu.com/p/54539091