常用損失函數(L1、L2、SSIM和MS-SSIM)對比簡介

1.介紹

    本文的介紹主要是參考論文:Loss Functions for Image Restoration with Neural Networks,而作者是從這三個實驗(image super-resolution, JPEG artifactsremoval, and joint denoising plus demosaicking)上來證明這幾個損失函數的好壞。

 

2.損失函數

    L1損失函數: 基於逐像素比較差異,然後取絕對值

    L2損失函數: 基於逐像素比較差異,然後取平方

    相對於L1損失函數,L2損失函數會放大最大誤差和最小誤差之間的差距(比如2*2 和0.1*0.1),另外L2損失函數對異常點也比較敏感。如果我們在訓練網絡的時候,只用L1損失函數或者L2損失函數的時候,很容易陷入到局部最優解中,如果選擇交替訓練的話,說不定會取得不錯的效果。

 

   在圖像質量評價指標中,有一個指標是PSNR(Peak Signal-to-Noise Ratio) 峯值信噪比,它正好對標L1和L2損失函數,但L1和L2是有一個共性:它們都是基於逐像素比較差異,沒有考慮人類視覺感知,更沒有考慮人的審美觀,所以PSNR指標高,並不一定代表圖像質量就好。在下面公式中,如果圖片中每個像素都由 8 位二進制來表示,那麼MAX就爲 255

 

   SSIM(結構相似)損失函數:考慮了亮度 (luminance)、對比度 (contrast) 和結構 (structure)指標,這就考慮了人類視覺感知,一般而言,SSIM得到的結果會比L1,L2的結果更有細節

 

   MS-SSIM(多尺度結構相似)損失函數:基於多層(圖片按照一定規則,由大到小縮放)的SSIM損失函數,相當於考慮了分辨率

 

   MS-SSIM+L1損失函數:作者這樣組合的原因是,MS-SSIM容易導致亮度的改變和顏色的偏差,但它能保留高頻信息(圖像的邊緣和細節),而L1損失函數能較好的保持亮度和顏色不變化。公式中α爲0.84,是作者試驗出來的,而G爲高斯分佈參數(MS-SSIM裏面也要用到這個)

 

3.效果對比

超分辨率:放大圖片對比會發現L2中出現光柵失真現象,最好去原論文放大看看

 

JPEG去塊:放大圖片對比會發現L2中還是有比較嚴重的塊狀現象,最好去原論文放大看看

 

去噪+去馬賽克:一眼看出,L2的效果明顯差一些,就不用放大了

 

    我個人覺得評價一張圖片的質量好不好,或者那個算法的效果好不好,應該結合主觀和客觀來評價,下圖的客觀數據也表明:MS-SSIM+L1損失函數是最好的

 

4.總結

     1.既然用了L2損失函數,爲何不嘗試一下L1損失函數

     2.如果不看PSNR指標,那就用MS-SSIM或者SSIM損失函數吧

     3.如果想獲得奇效,試一下組合損失函數也爲何不可

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章