一、概述
??近期看了一些low-level vision相關的文章飘言,發(fā)現(xiàn)很多工作都有使用一些經典的損失函數(shù)仅颇。加上做的項目主要以回歸任務為主缕题,所以考慮將一些圖像重建及回歸任務中常用的損失函數(shù)進行整理和記錄伊者。
二素挽、常用損失函數(shù)
1. MSE
??MSE可能是早期圖像重建類任務用的最多褐捻,也是作為默認選項的損失函數(shù)偏螺。其特點可以歸納如下:
- 優(yōu)點:
- 收斂速度快:整體來說,L2損失的梯度相比L1大一些叼架,故其收斂速度很快畔裕。
-
可解釋性強:優(yōu)化重建圖像與GT之間的MSE等同于優(yōu)化兩個圖像之間的PSNR
MSE與PSNR之間的關系
- 缺點:
- 對小error不友好:當重建圖像與GT之間error較小時,L2損失函數(shù)接近0的位置梯度很小乖订,導致train step更小扮饶。這一缺陷對于精確的位置回歸任務(如關鍵點檢測)而言影響較大(參考Wing Loss論文)
-
容易受到outlier干擾:回到梯度公式
,若預測值是一個很大的異常值(如11,13,1000,8)乍构,則loss會被該異常值主導甜无。尤其是對于regression target邊界值沒有明確限制的情況,不推薦使用MSE
- 用于重建任務中會造成圖像模糊:由于最小化MSE相當于最小化數(shù)據(jù)集經驗分布和高斯分布之間的KL散度哥遮,而高斯分布是單模態(tài)的(參考:為什么L2損失函數(shù)會造成圖像模糊岂丘?)
2. L1損失
圖像生成、重建昔善、回歸任務(如深度估計)應用最廣泛的per-pixel loss形式元潘。Homography estimation任務[5]中也常用作photometric loss畔乙。
2.1 變體1——wing loss[3]
適合用于解決regression訓練到后期時君仆,pred和gt之間的小偏差問題(比如訓練后期某個樣本的error為10,batch內其他樣本error為1但是仍需要繼續(xù)優(yōu)化,那么由于梯度由前者主導返咱,會導致小error的樣本很難被訓到)钥庇。通過在零點附近使用log函數(shù),給小error大梯度咖摹,以解決上述問題评姨。
注意,Wing loss論文中另一個貢獻是提出一種pose-based data balancing approaches萤晴,解決facial landmark數(shù)據(jù)集中headpose分布不均的問題吐句,也非常值得學習。
- wing loss公式
- wing loss示意圖
2.2. 變體2——Charbonnier loss
這個loss看起來只是在l1 loss基礎上多了一個店读,好像沒什么特點嗦枢。但是在近兩年不少大公司的論文中(如[2]),多見用該loss代替l1/l2 loss來優(yōu)化圖像重建屯断,或者更一般的文虏,任意regressor的訓練都可以試試該loss。
2.3. 變體3——Balanced MSE loss
最近剛出的工作殖演,來自商湯[11]:
3. Perceptual loss與generic perceptual loss
Perceptual loss在image synthesis任務取得了令人矚目的成功氧秘。該損失最早在[7]中用來優(yōu)化風格遷移與超分任務;后續(xù)多見于許多圖像復原工作中趴久,并逐漸成為相關研究以及業(yè)界實踐中的標準范式丸相。
阿德萊德大學沈春華團隊最近的文章對perceptual loss做了新的解讀,并提出一種generic perceptual loss[8]彼棍。本文認為已添,perceptual loss真正work的并非vgg網絡的預訓練權重,而是CNN網絡本身滥酥。通過將vgg預訓練權重用隨機初始化參數(shù)代替更舞,作者能夠在指標上和原perceptual loss達到一致。這一發(fā)現(xiàn)很大程度提高了該方法的靈活性和便捷性坎吻,在此基礎上作者探索了用不同網絡結構計算感知損失的效果缆蝉,并將其成功推廣到更一般的結構性預測任務,如語義分割瘦真、實例分割刊头、深度估計等,均在SOTA基礎上取得一定提升诸尽。
根據(jù)[8]中的分析原杂,perceptual loss的高效并不在于提取感知特征進行對比,而在于利用深度神經網絡您机,很大程度上考慮了輸出變量統(tǒng)計特性之間的關聯(lián)與依賴穿肄。從這個角度來說年局,"perceptual loss"這個名稱其實并不準確,或者說[8]其實和感知無關咸产,只是單純的沿用這一名稱矢否。
另外,這篇論文很容易讓人想到Deep Image Prior脑溢,另外幾乎是模型壓縮中那篇很有名的rethinking論文[9]僵朗,在dense prediction領域的翻版...因為[9]的核心觀點就是說pruning最重要的并不是大模型的weight,而是模型結構本身屑彻。
Perceptual loss這種思想在很多研究方向上得到了拓展验庙。MMLab的DGP[12]中提出了一種基于pretrained GAN Discriminator的特征損失,由于預訓練的判別器和生成器一同訓練社牲,作者認為使用該模型比在第三方任務上訓練的VGG更加自然壶谒。
4. 結構化損失函數(shù)
在某些圖像(比如強紋理的圖像)生成、恢復任務中膳沽,有時也需要對預測結果進行結構上的約束汗菜。該方向上應用比較廣泛的是SSIM loss,另外2017年Amazon的一篇論文[4]提出挑社,早些年Gatys等在風格遷移工作提出的texture loss陨界,其中的Gram矩陣在衡量“符合人類感知的”圖像塊相似度時具有令人印象深刻的表現(xiàn)。
4.1 SSIM loss
優(yōu)點:
· SSIM從照明度痛阻、對比度菌瘪、圖像結構等多個方面對比兩張圖像的相似度
缺點:
· 可能造成顏色、亮度等出現(xiàn)偏移阱当,導致結果不夠飽和
4.2 Gram Matrix-based texture loss
論文[5]在研究單幅圖像超分辨率重建任務時發(fā)現(xiàn)俏扩,僅使用單個texture loss來訓練CNN即可達到GAN+混合loss訓練的結果。這表明深度特征的Gram矩陣在捕獲圖像的perceptual representations上非常強大弊添,非常適用于對LPIPS等感知相似性要求比較高的場景录淡,而不僅僅是風格遷移任務。
5. Unpaired images損失度量
5.1 Contextual Loss
大多數(shù)圖像生成油坝、重建任務假設網絡生成圖像和目標圖像之間在空間上保持嚴格的像素級對齊嫉戚。上面的L1/L2/Perceptual loss也均基于該假設。然而很多研究方向并不存在嚴格成對的數(shù)據(jù)澈圈,比如style或者domain transfer彬檀。即便是在圖像復原任務中,clean和observation之間也往往存在misplacement瞬女,如下圖所示窍帝。
以色列理工大學的研究人員提出了一種上下文損失[10],其將圖像視作特征的集合诽偷,通過比較兩圖像特征集合之間的相似度坤学,來衡量圖像整體的相似程度疯坤。
三、常用的評價指標
3.1 LPIPS
四拥峦、參考:
[1] rediscovery of ssim index in image reconstruction
[2] 2021-Google-Multi-Stage Progressive Image Restoration
[3] 2018-Wing loss for robust facial landmark localisation with convolutional neural networks
[4] 2017-The Unreasonable Effectiveness of Texture Transfer for Single Image Super-resolution
[5] 2017-Unsupervised Deep Homography: A Fast and Robust Homography Estimation Model
[6] 2018-The unreasonable effectiveness of deep features as a perceptual metric
[7] 2016-Perceptual losses for real-time style transfer and super-resolution
[8] 2021-Generic Perceptual Loss for Modeling Structured Output Dependencies
[9] RETHINKING THE VALUE OF NETWORK PRUNING
[10] The Contextual Loss for Image Transformation with Non-Aligned Data
[11] https://zhuanlan.zhihu.com/p/501956790
[12] 2020-ECCV-Oral Deep Generative Prior