天天看點

High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis

文章目錄

    • 1. Abstract
    • 2. Introduction
      • 2.1 Context Encoder
      • 2.2 our method
      • 2.3 Main contributions of this paper
    • 3. The Approach
      • 3.1 Framework Overview
      • 3.2 The Joint Loss Function
      • 3.4 The Texture Network
    • 總結:
    • 總結:
    • 參考文獻

1. Abstract

提出了一種基于圖像内容和紋理限制聯合優化的多尺度神patch合成方法,該方法不僅儲存了圖像的上下文結構而且通過比對和采用深度神經分類網絡的中間層特征的相似性來産生高頻細節。

2. Introduction

現有的方法修補圖像的方法有兩類:

  1. 第一類依賴于紋理合成技術,這種方法修補缺失區域通過周圍的區域來擴張紋理

    缺點:這類的方法擅長傳播高頻的紋理資訊,但是不能夠捕獲圖檔的語義和全局結構資訊。

  2. 第二類采用資料驅動的方式修複圖檔,充分利用外部的大型資料集。這些方法假設被相似上下文包圍的區域可能擁有相似的内容.

2.1 Context Encoder

上下文編碼器,結合 L 2 L_2 L2​損失和生成對抗損失去直接預測缺失的像素。能夠很好的預測圖像的結構并且快速推理。盡管結果很好,但是這種方法有時會缺失精細的紋理細節,會導緻破損區域的周邊産生視覺上的人造假象。并且不能處理大像素的圖檔。

本文的動機:

本文是基于上下文編碼器進行改進的

  • context Encoder 編碼器并不完美,1.生成的像素的紋理細節可以進一步改善。2.無法處理高分辨率圖像
  • 神經網絡風格遷移(Neural style Transfer可以用來借鑒,将一張圖像的樣式轉移到另一張具有相同内容的圖像上,本文采用圖像風格轉移的算法對生成的像素進行紋理增強。

2.2 our method

提出了混合的優化方法:利用 cnn 的編碼解碼的預測能力和神經網絡patch生成真實高頻細節的能力。将encoder-decoder的預測作為全局内容上的限制,而缺失區域和已知區域的局部神經patch的相似性作為紋理限制。

内容限制可以訓練一個類似于Context Encoder的内容預測網絡,紋理限制是用缺失區域的周圍進行模組化的,使用的是來自預訓練的分類網絡的中間特征圖的patch.

為了處理高像素中的較大缺失的圖檔,提出了一種多尺度的神經網絡patch合成方法:

假設測試圖檔是 512X512,hole在圖檔的中間為256x256.然後用步長為2, 每次下采樣為原圖的一半,建立3層的金字塔結構。那麼最小像素的圖檔就是128x128和64x64的hole.然後開始從粗到細的填洞任務。

2.3 Main contributions of this paper

  1. 提出了一個聯合優化架構:通過使用卷積神經網絡模組化全局内容限制和局部的紋理限制來對圖像進行修複
  2. 在基于上述的架構下,進一步介紹了多尺度神經網絡patch合成算法在高像素圖檔上的修複。
  3. 發現了來自分類網絡的中間層特征可以被用來合成真實圖檔的内容和紋理,而不隻是先前用來做圖像的風格遷移。
High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis

圖1,架構概述(下)以及上下文網絡的結構(上)

3. The Approach

3.1 Framework Overview

  • holistic content term:是全局結構限制,捕獲圖像的語義和全局結構資訊
  • local texture term:局部的紋理資訊統計,通過預訓練的VGG網絡來得到,確定缺失區域的精細的細節和其他部分保持相似。使用神經網絡的patch來定義相似性,此前這個被用來捕獲圖像的風格。

首先訓練全局的内容網絡f,該網絡的輸入是一張圖檔,缺失區域用平均值填充。一旦内容網絡被訓練好,将網絡的輸出 f ( x 0 ) f(x_0) f(x0​)作為初始的内容限制加入聯合優化。

為了優化紋理項,将圖檔x輸入預訓練好的 VGG 網絡(局部紋理網絡),在預選确定好的網絡特征層上:迫使3x3神經網絡patch在有洞的區域和無洞區域的相似性。

該方法提出的架構應用于高分辨率的圖像修複問題采用多尺度的方法,對一張帶有較大破損的高分辨率的圖檔,首先下采樣圖檔,使用預訓練好的内容網絡擷取參考的内容,基于參考内容來優化wrt 内容和紋理限制在低分辨率上。優化的結果被上采樣,作為精細尺度修複的初始值。在實際操作中,對于512x512是圖檔采用3個尺度。

3.2 The Joint Loss Function

輸入圖檔x,輸出圖檔為 x 0 x_0 x0​,R表示x的缺失區域, R ϕ R^\phi Rϕ表示在vgg-19中的特征圖 ϕ ( x ) \phi(x) ϕ(x)的相應區域, h ( . ) h(.) h(.)定義為對子圖或子特征圖的提取操作。h(x,R)傳回x的R區域的顔色内容。 h ( ϕ ( x ) , R ϕ ) h(\phi(x),R^\phi) h(ϕ(x),Rϕ)傳回特征圖 ϕ ( x ) \phi(x) ϕ(x)的 R ϕ R^\phi Rϕ區域的内容。

High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis

總損失包含三項,即内容網絡(L2損失)、紋理損失和TV損失,以上是最小化的聯合損失函數。上述的i是尺度的數量,本文使用了3個尺度,x為ground truth圖像(沒有缺失)。最後一項是總的變異損失項,在圖像進行中常用來保證圖像的平滑。

###3.3 The Content Network

對缺失區域采用 L 2 L_2 L2​損失和生成對抗損失:

1. L 2 L_2 L2​損失如下公式:

L L 2 ( x , x g , R ) = ∣ ∣ f ( x ) − h ( x g , R ) ∣ ∣ 2 2 L_{L_2}(x,x_g,R)=||f(x)-h(x_g,R)||^2_2 LL2​​(x,xg​,R)=∣∣f(x)−h(xg​,R)∣∣22​

x是帶破損的輸入圖檔, x g x_g xg​是真實圖檔在R區域的子圖。

2.生成對抗損失:

L a d v ( x , x g , R ) = m a x E x ∈ X [ l o g ( D ( h ( x g , R ) ) ) + l o g ( 1 − D ( f ( x ) ) ) ] L_{adv}(x,x_g,R)=maxE_{x\in X}[log(D(h(x_g,R)))+log(1-D(f(x)))] Ladv​(x,xg​,R)=maxEx∈X​[log(D(h(xg​,R)))+log(1−D(f(x)))]

D是鑒别器。

總損失:

L = λ L l 2 ( x , x g , R ) + ( 1 − λ ) L a d v ( x , x g , R ) L=\lambda L_{l2}(x,x_g,R)+(1-\lambda)L_{adv}(x,x_g,R) L=λLl2​(x,xg​,R)+(1−λ)Ladv​(x,xg​,R)

本文的實驗中 λ \lambda λ=0.999

  • 像前面所述的一樣,内容網絡就是一個上下文編碼器,先獨立訓練内容網絡,訓練後的内容網絡的輸出将用于優化整個提出的架構。
  • 如圖1中的内容網絡的結構圖,與原始的Context Encoder有一點不同:
    1. ​ 中間的通道全連接配接層被标準的全連接配接層取代
    2. 所有的 Relu激活函數層或者Leaky ReLU激活函數層被ELU層代替。認為ELU比ReLU和Leaky ReLU能更好的處理大量的負神經網絡。

3.4 The Texture Network

  • 紋理網絡的目标是確定生成像素的細節與有效像素細節相似
  • 一定程度上,分類網絡的不同層次的特征圖代表的了圖像的風格,本文采用預訓練好的vgg19的網絡,使用的relu3_1和relu4_1層來計算。
High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis

首先,将圖像輸入預先訓練好的VGG-19網絡,得到relu3_1和relu4_1層(中間層)的特征映射。然後,他們将特征映射分為兩組,一組是空洞區域( R ϕ R^{\phi} Rϕ),另一組是外部區域(即有效區域)。在孔洞區域内,每個局部特征patch P的大小為s x s x c (s為空間大小,c為特征映射數量)。他們所做的是找到孔洞區域外最相似的patch,然後計算每個局部patch及其最近的鄰居的L2的平均距離。

| R ϕ R^{\phi} Rϕ|為在區 R ϕ R^{\phi} Rϕ域内采樣的patch總數,P_i為以i為中心的局部patch, nn(i)計算為:

High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis

總結:

  1. 該論文是粗到細網絡的早期版本,首先對缺失部分進行重建,修複的部分盡可能的保證像素級别重建精度,是為了保證結構的正确性,然後對重構的部分進行紋理修複,使得修複後的圖檔具有好的視覺效果

    6)]公式.png)

總結:

  1. 該論文是粗到細網絡的早期版本,首先對缺失部分進行重建,修複的部分盡可能的保證像素級别重建精度,是為了保證結構的正确性,然後對重構的部分進行紋理修複,使得修複後的圖檔具有好的視覺效果
  2. 紋理損失最開始是用在圖像風格遷移領域的,本文的工作證明,通過這一損失,我們可以擷取更清晰的生成圖像。

參考文獻

- [1] High-Resolution Image Inpainting using Multi-Scale Neural Patch Synthesis

- [2] [使用多尺度patch合成來做高分辨率的圖像複原](https://mp.weixin.qq.com/s?__biz=Mzg5ODAzMTkyMg==&mid=2247494334&idx=2&sn=7954763a1e6b53fe384eb17d97a0ecb8&chksm=c06a62e3f71debf50f82afafc8e5739568ce4f11b327c6c09ffdb5c05658c032e02b9b00b371&scene=21#wechat_redirect)

繼續閱讀