圖像修復(Image inpainting)是一個已經(jīng)被廣泛研究的計算機視覺問題,即恢復圖像中缺失的部分。斯坦福大學CS230課程的Mark Sabini等人提出“Imageoutpainting”,比圖像修復更進一步,能從一個圖像片段“推斷”出外延的部分,補全成整個畫面。這篇論文獲得了CS230期末poster的第一名,效果非常驚艷。
這是Painting Outside the Box: Image Outpainting這篇論文的代碼實現(xiàn)。這篇論文在吳恩達的斯坦福大學CS230課程中獲得了期末Poster的第一名。
圖像修復(Image inpainting)是一個已經(jīng)被廣泛研究的計算機視覺問題,涉及恢復圖像中缺失的部分。
目前最先進的圖像修復方法方法包括Satoshi Iizuka等人在SIGGRAPH 2017提出的基于GAN的方法[1],以及NVIDIA的Guilin Liu等人提出的基于CNN的方法[2]。
在這個研究中,我們的目標是將[1]的方法拓展到修復圖像之外的部分(outpainting),即補全超出圖像邊界的畫面。
通過遞歸地進行outpainting,可以任意地擴展圖像。
問題描述和數(shù)據(jù)準備
給定一幅 m × n 的源圖像
,生成一幅 m × (n + 2k) 的圖像
,其中



要解決的問題是:m=128,n=64,k=32
數(shù)據(jù)
baseline圖像:128×128的RGB城市圖像
數(shù)據(jù)集:Place365-Standard [3]
包含36500張256×256的RGB圖像,被降低采樣到128×128
100張圖像用于驗證
Place365數(shù)據(jù)集中城市圖像的樣本
數(shù)據(jù)預處理:
給定圖像
,標準化成 [0,1] →?
定義mask M:
定義補足的mask
計算

設
堆疊
輸出
方法
訓練Pipeline:
使用與文獻[1]類似的DCGAN結(jié)構(gòu)(G,D);
給定Itr,進行預處理來得到In和Ip;
運行G(Ip)來得到outpainted的圖像Io;
在Io和ground-truthIn上運行D;
訓練Schedule:
用于調(diào)節(jié)G和D的三階段訓練;
階段i:使用Adam(Ir=0.0001,β1=0.9,β2=0.999,ε=10-8)在迭代Ti中優(yōu)化損失(i);
在18:2:80的分片中選擇T1,T2,T3
α=0.0004控制MSE損失

后處理:
將Io重整化為[0,255]→
使用泊松克隆(Seamless Cloning)來將
和
進行混合
模型

結(jié)構(gòu)
除了G和D的最后一層之外,每一層都是ReLU。G和D的輸出是Sigmoid函數(shù)。其中,η是伸縮因子(dilation factors)。
Outpainting
驗證集中保留圖像樣本的修復結(jié)果,與原始ground-truth一起顯示。模型訓練了100個時段(相當于227,500次迭代),批量大小為16。

Places365的MSE損失
在Place365中訓練MSE損失。不同階段的背景顏色是不同的。在階段3中,由于將聯(lián)合損失(joint loss)進行了優(yōu)化,MSE損失有小幅度增長。
本地標識符(Local Discriminator)
使用本地標識符進行訓練,減少了垂直條帶并提高了色彩保真度,但是增加了artifact和訓練時間。
擴張(dilation)的影響
網(wǎng)絡的訓練在城市圖像上過擬合了。在擴張不足的情況下,由于接受域有限,網(wǎng)絡無法outpaint。
遞歸的outpainting
在擴展和填充之后,可以將圖像輸入到網(wǎng)絡中。遞歸地將這個過程進行重復操作,將圖像的寬度擴大到3.5。正如期望的那樣,噪聲隨著連續(xù)迭代而混合。
結(jié)論
最終實現(xiàn)了圖像的outpainting;
三階段的訓練有助于其穩(wěn)定性;
對于outpainting,擴張卷積對充分的神經(jīng)元接受域至關(guān)重要
雖然會伴隨噪聲和誤差,但對outpainting進行遞歸是可行的。
用Keras實現(xiàn)Image Outpainting
在代碼實現(xiàn)中,我們對256*256的圖像進行了一些修改:
添加了Identity loss,即從生成的圖像到原始圖像
從訓練數(shù)據(jù)中刪除了patches(訓練pipeline)
用裁減(cropping)代替了掩膜(masking)(訓練pipeline)
添加了卷積層
結(jié)果
模型用海灘的數(shù)據(jù)訓練了200 epochs。
Recursive painting
用Keras實現(xiàn)Image Outpainting
1. 準備數(shù)據(jù):
2. 構(gòu)建模型
要從頭開始構(gòu)建模型,你可以直接運行’outpaint.ipynb',或
你可以下載訓練完成模型,并將其移到“checkpoint/”,然后運行它。
-
圖像
+關(guān)注
關(guān)注
2文章
1096瀏覽量
42344 -
計算機視覺
+關(guān)注
關(guān)注
9文章
1715瀏覽量
47641
原文標題:吳恩達斯坦福CS230第一名:圖像超級補全,效果驚艷(附代碼)
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
《DNK210使用指南 -CanMV版 V1.0》第三十七章 image圖像對比實驗
數(shù)字圖像處理,Digital Image Processing
急求51單片機輸出pwm波的程序,能從一個I/O口輸出就行,之前找了很多都改不對
GoldWave如何裁剪音樂片段
怎么設計視頻圖像畫面分割器?
一個能通過空間條件坐標和隱變量生成圖像片、并合成完整圖片的網(wǎng)絡模型
Halcon教程:Image、Regiong、XLD基礎
“Image outpainting”能從一個圖像片段“推斷”出外延的部分補全成整個畫面
評論