論文翻譯:Unsupervised Domain-Specific Deblurring via Disentangled Representations

Introduction

圖像的模糊嚴重影響圖像的本身質量,同時在進行圖像的識別和圖像中物體識別都會產生影響。圖像去模糊旨在從相應的模糊圖像中恢復潛在的清晰圖像。

大多數傳統方法將圖像去模糊任務公式化爲模糊核估計問題,在過去的十年中,已經開發了各種自然圖像和先驗覈來規範潛在銳利圖像的解空間,包括重尾梯度先驗,稀疏核先驗,梯度先驗,歸一化稀疏性和暗通道。

然而,這些先驗是通過有限的觀察來估計的,並且不夠準確。結果,去模糊的圖像通常欠去模糊(圖像仍然模糊)或過度去模糊(圖像包含許多僞像)。 

近年來深度神經網絡和 GAN 的巨大成功,已經提出了一些基於 CNN 的方法用於圖像去模糊,例如 Nimisha 在 ECCV 2018 發表的 Unsupervised Class-Specific Deblurring [1] 是一種基於 GAN 的無監督圖像去模糊方法,在模型上增加了重複損失和多尺度梯度損失。雖然它們在合成數據集上取得了良好的性能,但它們對一些真實模糊圖像的結果並不令人滿意。

另一類方法是基於現有的圖像到圖像的模型,例如 CycleGAN [2] 這類無監督端到端的模型,然而,這些通用方法通常編碼其他因素(例如:顏色、紋理)而不是將信息模糊到發生器中,因此不會產生良好的去模糊圖像。

文章對這些方法進行了一個可視化結果比對,同時也是展示了自己模型的優越性:

上圖最右側就是這篇文章的實驗效果,可以看出對比已有的基於深度神經網絡的去模糊模型還是展示了不錯的實現效果的。這些效果的實現得益於文章提出了一種基於解纏表示的無監督域特定圖像去模糊方法,通過將模糊圖像中的內容和模糊特徵解開,以將模糊信息準確地編碼到去模糊框架中。

我們後續再詳細分析,這裏總結一下文章的創新和優勢所在:

  • 內容編碼器和模糊編碼器將模糊圖像的內容和模糊特徵區分開,實現了高質量的圖像去模糊;
  • 對模糊編碼器添加 KL 散度損失以阻止模糊特徵對內容信息進行編碼
  • 爲了保留原始圖像的內容結構,在框架中添加了模糊圖像構造和循環一致性損失,同時添加的感知損失有助於模糊圖像去除不切實際的僞像。

模型詳解

我們還是先通過模型框架圖去理解文章設計的思路:

我們先把模型中的組間介紹清楚,由於模型的循環一致性設計,網絡的左右是基本對稱的,我們對左側組間交代下。

  • s 代表清晰的真實圖像,b 代表模糊的真實圖像,
  • 是生成的模糊圖像,是生成的清晰圖像。
  • 是清晰圖像的內容編碼器(可以理解爲圖像顏色、紋理、像素的編碼器),對應的是模糊圖像的內容編碼器,是模糊圖像的模糊編碼器(僅用來提取圖像的模糊信息)
  • 是模糊圖像生成器,是清晰圖像生成器,
  • 經過循環的轉換,ŝ 是循環生成的清晰圖像,b̂ 是循環生成的模糊圖像。

看了這個模型,大家是不是有一些疑問,我們的目的是實現圖像的去模糊,爲什麼要添加模糊編碼器?爲什麼還要主動去生成模糊的圖像?怎麼保證模糊圖像的內容編碼器真的提取到圖像的內容信息?爲什麼模糊編碼器要同時作用在上?

這些問題正是這篇文章區別於已有模型的關鍵,我們按照文章思路一步步去分析。

文章的一大創新就是模糊編碼器的設計它主要的作用是用來捕獲模糊圖像的模糊特徵,如何去保證這個模糊編碼器是真的提取到模糊圖像的模糊特徵了呢?

作者就採用了迂迴的思路,既然清晰的圖像是不含模糊信息的,如果清晰的圖像通過結合模糊編碼器模糊特徵去生成出模糊圖像,是不是可以說,模糊編碼器是在對清晰圖像做模糊化處理,這個模糊化的前提是什麼?那就是模糊編碼器確實提取到了圖像的模糊特徵,所以說由清晰圖像生成模糊圖像也保證了模糊編碼器是對圖像的模糊信息進行編碼的作用

同時,由清晰圖像到模糊圖像的生成過程中,清晰圖像的內容編碼器我們是有理由相信它是提取到了清晰圖像的內容信息(因爲清晰圖像並不包含模糊信息)。

文章爲了保證模糊圖像的內容編碼器是對模糊圖像的內容進行編碼,文章將清晰圖像內容編碼器和模糊圖像內容編碼器強制執行最後一層共享權重,以指導學習如何從模糊圖像中有效地提取內容信息。

爲了進一步儘可能多地抑制模糊編碼器對內容信息的編碼,通過添加一個 KL 散度損失來規範模糊特徵的分佈,使其接近正態分佈 p(z)∼N(0,1)。這個思路和 VAE 中的限制數據編碼的潛在空間的分佈思路是相近的,這裏將模糊編碼器的編碼向量限制住,旨在控制模糊編碼器僅對圖像的模糊信息進行編碼。

理清了上面的設計思路,這篇文章的實現就已經基本介紹完畢了。由模糊圖像去模糊到清晰圖像的過程中,將模糊圖像內容編碼和模糊編碼送入清晰圖像生成器重構得到去模糊的清晰圖像,清晰圖像到模糊圖像是爲了優化模糊編碼和模糊圖像的內容編碼的作用。

通過循環一致性,進行進一步的還原保證模型的魯棒性。核心的損失是圖像生成在 GAN 的對抗損失,結合感知損失達到圖像下一些僞影的優化。

模型損失函數

本部分是對模型實現的補充,在上一小節中,也是大致上分析了各類損失的作用,這裏做一個簡短的展開。

首先是對模糊編碼的隱空間分佈進行約束,這個約束通過 KL 散度去實現,這個過程和 VAE 的思路是一致的:

這裏的 p(z)∼N(0,1),具體的損失可進一步寫爲: 

此時,zb 可表示爲 zb=μ+z∘σ。

接下來就是 GAN 的那一套對抗損失,這裏寫一下清晰圖像生成的判別器損失,模糊圖像的是一致的:

循環一致損失參考的是 CycleGAN [2]:

感知損失的加入,作者是加在預訓練 CNN 的第 1 層的特徵,實驗中加在 ImageNet 上預訓練的 VGG-19 的 conv3,3。

感知損失中使用模糊圖像 b 而不是銳利圖像作爲參考圖像有兩個主要原因。首先,假設 b 的內容信息可以由預訓練的 CNN 提取。其次,由於 s 和 b 未配對,因此在 s 和之間應用感知損失將迫使對 s 中的無關內容信息進行編碼。值得一提的是,和 s 上沒有添加感知損失。這是因爲在訓練期間沒有在中發現明顯的僞像。

整個模型總的損失可寫爲:

實驗

文章的網絡的設計結構參考了 Diverse image-to-image translation via disentangled representations [3]。內容編碼器由三個卷積層和四個殘差塊組成。模糊編碼器包含四個卷積層和一個完全連接的層。

對於發生器,該架構與內容編碼器對稱,具有四個殘差塊,後面是三個轉置的卷積層。判別器採用多尺度結構,其中每個尺度的特徵圖經過五個卷積層,然後被饋送到 sigmoid 輸出。

採用 Adam 優化損失,對於前 40 個時期,學習速率最初設置爲 0.0002,然後在接下來的 40 個時期使用指數衰減。超參上 λadv=1, λKL=0.01, λcc=10, λp=0.1。 

實驗數據集採用三種數據集:CelebA 數據集,BMVC 文本數據集和 CFP 數據集。

CelebA 數據集包含超過 202,000 個面部圖像,文章設置了清晰圖像 100k,模糊圖像 100k,測試圖像 2137。BMVC 文本數據集由 66,000 個文本圖像組成,分配方式類似於 CelebA 數據集。CFP 數據集由來自 500 個主題的 7,000 個靜止圖像組成,並且對於每個主題,它具有正面姿勢的 10 個圖像和具有專業姿勢的 4 個圖像。 

對於 CelebA 和 BMVC Text 數據集,我們使用標準的 debluring 指標(PSNR,SSIM)進行評估。文章還使用去模糊圖像和真實圖像之間的特徵距離(即來自某些深層網絡的輸出的 L2 距離)作爲語義相似性的度量,因爲實驗發現它是比 PSNR 和 SSIM 更好的感知度量。

對於 CelebA 數據集,使用來自 VGG-Face 的 pool5 層的輸出,對於文本數據集,使用來自 VGG-19 網絡的 pool5 層的輸出。對於文本去模糊,另一個有意義的度量是去模糊文本的 OCR 識別率。在可視化模型和定量對比上,文章對比了各類模型的去模糊的效果:

實驗也對比了各個組間的有無對實驗結果的影響:

不僅僅在人臉圖像去模糊上,在文本去模糊上也展示了不錯的實驗效果:

 

總結

文章提出了一種無監督的領域特定單圖像去模糊方法。通過解開模糊圖像中的內容和模糊特徵,並添加 KL 散度損失以阻止模糊特徵對內容信息進行編碼。爲了保留原始圖像的內容結構,在框架中添加了模糊分支和循環一致性損失,同時添加的感知損失有助於模糊圖像去除不切實際的僞像。每個組件的消融研究顯示了不同模塊的有效性。

文章的創新之處正是內容編碼器和模糊編碼器的設計和應用,嘗試將內容和模糊信息分離,這對圖像到圖像的工作具有一定的指導意義。

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