1. 程式人生 > >論文閱讀筆記《The Contextual Loss for Image Transformation with Non-Aligned Data》(ECCV2018 oral)

論文閱讀筆記《The Contextual Loss for Image Transformation with Non-Aligned Data》(ECCV2018 oral)

github 區域 偏移 org nbsp 修改 transfer style 但是

技術分享圖片


目錄:

  • 相關鏈接
  • 方法亮點
  • 相關工作
  • 方法細節
  • 實驗結果
  • 總結與收獲

相關鏈接

論文:https://arxiv.org/abs/1803.02077

代碼:https://github.com/roimehrez/contextualLoss


方法亮點

  • 文章主要提出了一個新的損失函數Contextual Loss,這個loss一開始是針對Non-Align Data提出的損失函數。主要通過計算圖像特征的相似度來衡量兩張圖片的相似性。

最令人驚艷的是,使用該損失函數,一個簡單的CNN網絡就能夠達到和CycleGAN一樣的效果。

作者在緊接著的論文中也證明了該損失函數在一對一圖像超分中也能取得不錯的結果。


相關工作

目前針對loss的研究有很多,在今年ECCV上收錄的文章中就可以看出來。

目前已有的loss主要有一下幾種:

  1. 針對圖像的pixel2pixel的loss:L1 , L2,SSIM
  2. 針對圖像特征的loss:perceptual loss,Gram loss
  3. 針對生成圖像和目標圖像的“逼真”程度的loss:GAN loss

L1 , L2,SSIM這類損失函數對input 和GT 的要求比較高,是逐像素進行匹配的,對以PSNR、SSIM為客觀評價指標的問題貢獻比較大,但是從目前的研究來看,單單用這類損失函數,已經不能夠滿足我們的需求了。比如SRGAN這篇論文中提到MSE代價函數使重建結果有較高的信噪比PSNR,但是缺少了高頻信息,出現過度平滑的紋理。perceptual loss的提出主要是為了更好的保留圖像的高頻信息https://www.jianshu.com/p/58fd418fcabf,與perceptual loss相似的,Gram loss也是計算在特征層上的損失,這兩個損失都是在整個VGG網絡中得到的特征層進行的計算,約束的是全局高頻特征的相似性;然而圖像的相似性一般是局部的,這些約束也不是十分的合理,本文的方法提出的損失函數約束的是局部的特征。在風格轉換、圖像翻譯等任務中,GAN loss是一個常見的損失函數,通過簡單的判斷生成的圖像是否“逼真”到以假亂真的程度,但是GAN的模式崩潰問題到目前都沒有一個較好的解決辦法。


方法細節

技術分享圖片技術分享圖片

兩張圖片要怎麽判斷是否相似呢?作者認為只要兩張圖片的特征中,相同區域的大部分特征能找到彼此相似的點就可以認為兩張圖片是相似的。如圖3(a),兩張圖像同一區域的特征塊中大部分是相似的(與點在特征圖塊的位置無關,只要能相似即可),就可以認為兩張圖像相似。這跟perceptual loss最不同的就是perceptual loss是跟特征的位置相關的(位置按點一一對應起來)。

在這篇文章中,作者利用了余弦相似的方法,通過計算特征之間的余弦距離衡量兩個特征的相似性。

具體計算方法如下:

技術分享圖片

其中的xi ,yj 為1*1*Channel大小的特征向量,N為特征patch大小


實驗結果

作者通過一系列的實驗來驗證他們提出的損失函數的有效性;

技術分享圖片

圖6的實驗:一張噪聲圖像(input)和多張清晰圖像(GT)(數據采集方法為,一張高清圖像中裁剪出N+1張圖片,每張圖片的采集的位置隨機小偏移,對其中一張圖片加入噪聲作為input,其他N張圖片作為GT),從圖6可以看出,由於隨機偏移的存在,如果單純的使用L1 損失(位置相關)的話,會引入模糊而使用本文提出的損失函數並不會引入模糊。並且我們訓練的時候並不需要指定一張GT和input進行訓練,每一輪的GT都可以是不一樣的。(即Non-paired)

本文還通過修改一些經典方法的損失函數與原有的方法進行對比,修改方式如下表所示:

技術分享圖片

style transfer:

技術分享圖片

從上面的結果對比中可以看出來,本文提出的方法學習的是局部的特征,而不是全局的特征。CNNMRF方法學習到的是圖片的全局特征,將Target的背景信息也學習到了。

技術分享圖片

在上面這個實驗中,本文的方法僅使用了一個簡單的CNN網絡和本文提出的損失函數就能夠達到和CycleGAN(兩個生成器和兩個判別器)差不多的效果。

另外兩個實驗的結果是以動畫的形式展現的,這裏沒法展現就不放出來了,有興趣的可以下載原論文看。

緊接著作者將提出的損失函數應用到超分中,也取得不錯的效果,這便是另外一篇文章的工作了。Maintaining Natural Image Statistics with the Contextual Loss

文章對比實驗的設置如下:(其中我們的方法的網絡結構是基於SRGAN,只修改了損失函數)

技術分享圖片

技術分享圖片

從上圖中可以很直觀的看出,引用了本文提出的損失函數,生成的圖像更接近GT,而不會像baseline方法,在耳朵地方多出一些皺紋。並且加入本文的損失函數,不僅在客觀指標上,在感知指標上均得到了很大的提升。


總結與收獲

本文主要是提出了一個基於余弦相似度的損失函數,該函數應用在VGG提取的特征層上,與以往的損失函數最大不同的是,該損失函數應用在特征層相應位置上的patch塊,而不是應用在整個特征。高層特征層一般包含的是圖像的語義特征,也就是說文章的損失函數是基於語義的,這也就是本文的loss為什麽Contextual Loss。應用該損失函數做圖像風格轉換任務,能夠實現眼睛-》眼睛、嘴巴-》嘴巴等對應區域的風格轉換。該損失函數目前看來可以應用的領域有很多,不僅僅局限於風格轉換的任務,缺點大概就是計算量比16年提出的perceptual loss要來的高,不過這主要取決於特征的patch塊(或對特征進行采樣)的大小。從這個角度來看,perceptual loss算是 Contextual Loss 的一個特例。


論文閱讀筆記《The Contextual Loss for Image Transformation with Non-Aligned Data》(ECCV2018 oral)