1. 程式人生 > >影象質量評價之結構相似性SSIM(上)

影象質量評價之結構相似性SSIM(上)

這篇文章主要介紹對影象質量進行打分評價的一個很經典的指數——結構相似性(structual similarity, SSIM)

具體一點兒來說,影象在各種情況下都有可能失真,比如經過傳輸、壓縮和縮放等等。圖片變換之後,我們自然很想知道失真影象(distorted image)的質量如何,也就是要對它進行影象質量評價(image quality assessment)。注意這種評價應用很廣泛,比如可以用作神經網路中的損失函式來度量生成圖片的質量。所以瞭解這個指數是很有用滴~

總體來講,本文提出了一種符合人類直覺的影象質量評價標準,叫做SSIM。SSIM的全稱為structural similarity

,也就是”結構相似性“的意思。從名字上我們不難發現,這種指標是在致力於向人類的真實感知看齊。

主觀 VS 客觀

那麼現在問題來了,影象質量究竟要怎麼評呢?大體來說,評價標準分為兩類:**客觀(objective)評價標準和主觀(subjective)**評價標準。其中:

  • 客觀評價標準中會設計一個可見性誤差(visibility of error)函式,這個函式會以某種標準計算參考影象(reference image)(也就是未失真的原始影象)和失真影象之間的差距,最後用計算出的值作為指標來衡量失真影象的質量。這些指標通常是根據**人類視覺系統(human visual system, HVS)**的特點設計的。
  • 主觀評價標準就不一樣了,它並非輸入圖片後自動化地輸出一個數值,而是以人的感覺為標準,說白了就是讓人(稱為觀察者)看看。例如找一些志願者評分,然後取均值。

簡而言之,客觀的評價標準就是計算一個數字,主觀評價就是看人的感受,相信讀者應該不難理解~

客觀評價標準的應用

客觀評價標準在很多方面有應用:

  1. 動態監控(monitor)和調整圖片質量:比如,網路上用於傳輸視訊的伺服器可以通過監控傳送質量來控制和分配視訊流的資源。
  2. 優化(optimize)影象處理系統(image processing system)中的演算法和引數:例如,在一個視覺通訊系統中,可以用一個量來協助尋找編碼解碼演算法的最優解等。
  3. 作為一個通用的評價標準衡量圖片質量:大家可以通過使用公認的同一個量來比較各自的方法優劣。

客觀評價標準的分類

根據評價失真圖片的時候是否需要參考原始圖片,客觀評價標準可分為下面三類(分類名稱是我自己隨便翻譯的不一定通用,大家懂意思就好):

  1. 全參考(full reference):評價時可以知道完全獲取的整張原始圖片。
  2. 無參考(no reference):評價圖片是完全不知道原始圖片是怎樣的。
  3. 部分參考(reduced reference):評價是隻能獲取到原始圖片的部分特徵(feature),比如直方圖之類的統計資訊。

這篇文章提出的SSIM是基於全參考的。

常見的客觀評價標準

常見的評價量主要有:

  1. MSE:MSE是mean square error的縮寫,也就是均方誤差。這是最簡單粗暴的一個量。它首先計算失真圖片與原圖每在個畫素上差的平方,然後取均值。
  2. PSNR:這個量全稱為峰值信噪比(peak signal-to-noise ration),這個量很容易計算(粗略地說是對影象上的最大值和MSE進行比較),而且有明確的物理意義,優化也方便,在很多地方都使用。

最終評價:我說了算!

俗話說,”實踐是檢驗真理滴唯一標準“,我們最終還是要看人對圖片的感知的,客觀評價標準有時候很不靠譜。

舉個栗子,假設我們使用MSE來度量圖片質量(也就是取圖片與原圖每個畫素上差的平方,然後計算均值),那麼我們直覺上會認為這個數字越小越好。同樣的MSE應該代表差不多的失真程度。但真的是這樣麼?我們來看下面這張圖,圖中(a)是原圖,其餘的圖片都是有失真的,它們的圖片質量在人類看來相差非常大,但是它們的MSE是一樣的!

01

所以,要想設計一個好的評價標準並不容易,我們認為人類具有很強的識別結構的能力,因此我們應該儘量設計一個能體現結構上的相似程度的量,這正是我們的SSIM的目標!

SSIM是基於區域性圖案亮度對比度進行計算的,具體的講解會在下一篇文章中介紹(大量公式預警==)。