吳恩達斯坦福CS230第一名:圖像超級補全,效果驚艷(附代碼)
新智元推薦
作者:Mark Sabini、Gili Rusak
編輯:肖琴、三石
【新智元導讀】圖像修復(Image inpainting)是一個已經被廣泛研究的計算機視覺問題,即恢復圖像中缺失的部分。斯坦福大學CS230課程的Mark Sabini等人提出「Image outpainting」,比圖像修復更進一步,能從一個圖像片段「推斷」出外延的部分,補全成整個畫面。這篇論文獲得了CS230期末poster的第一名,效果非常驚艷。
代碼和論文地址:
https://github.com/bendangnuksung/Image-OutPainting
https://cs230.stanford.edu/projects_spring_2018/posters/8265861.pdf
這是Painting Outside the Box: Image Outpainting 這篇論文的代碼實現。這篇論文在吳恩達的斯坦福大學CS230課程中獲得了期末Poster的第一名。
圖像修復(Image inpainting)是一個已經被廣泛研究的計算機視覺問題,涉及恢復圖像中缺失的部分。
目前最先進的圖像修復方法方法包括Satoshi Iizuka等人在SIGGRAPH 2017提出的基於GAN的方法[1],以及NVIDIA的Guilin Liu等人提出的基於CNN的方法[2]。
在這個研究中,我們的目標是將[1]的方法拓展到修復圖像之外的部分(outpainting),即補全超出圖像邊界的畫面。
通過遞歸地進行outpainting,可以任意地擴展圖像。
問題描述和數據準備
給定一幅 m × n 的源圖像 ,生成一幅 m × (n + 2k) 的圖像,其中
處於的中心
要看起來真實而且自然
要解決的問題是:m=128,n=64,k=32
數據
baseline圖像:128×128的RGB城市圖像
數據集:Place365-Standard [3]
包含36500張256×256的RGB圖像,被降低採樣到128×128
100張圖像用於驗證
Place365數據集中城市圖像的樣本
數據預處理:
給定圖像,標準化成 [0,1] →
定義mask M:
定義補足的mask
計算的平均像素強度
設
堆疊
輸出
方法
訓練Pipeline:
使用與文獻[1]類似的DCGAN結構(G,D);
給定Itr,進行預處理來得到In和Ip;
運行G(Ip)來得到outpainted的圖像Io;
在Io和ground-truth In上運行D;
訓練Schedule:
用於調節G和D的三階段訓練;
階段i:使用Adam(Ir=0.0001,β1=0.9,β2=0.999,ε=10-8)在迭代Ti中優化損失(i);
在18:2:80的分片中選擇T1,T2,T3
α=0.0004控制MSE損失
後處理:
將Io重整化為[0,255]→
使用泊松克隆(Seamless Cloning)來將和進行混合
模型
結構
除了G和D的最後一層之外,每一層都是ReLU。G和D的輸出是Sigmoid函數。其中,η是伸縮因子(dilation factors)。
Outpainting
驗證集中保留圖像樣本的修復結果,與原始ground-truth一起顯示。模型訓練了100個時段(相當於227,500次迭代),批量大小為16。
Places365的MSE損失
在Place365中訓練MSE損失。不同階段的背景顏色是不同的。在階段3中,由於將聯合損失(joint loss)進行了優化,MSE損失有小幅度增長。
本地標識符(Local Discriminator)
使用本地標識符進行訓練,減少了垂直條帶並提高了色彩保真度,但是增加了artifact和訓練時間。
擴張(dilation)的影響
網路的訓練在城市圖像上過擬合了。在擴張不足的情況下,由於接受域有限,網路無法outpaint。
遞歸的outpainting
在擴展和填充之後,可以將圖像輸入到網路中。遞歸地將這個過程進行重複操作,將圖像的寬度擴大到3.5。正如期望的那樣,雜訊隨著連續迭代而混合。
結論
最終實現了圖像的outpainting;
三階段的訓練有助於其穩定性;
對於outpainting,擴張卷積對充分的神經元接受域至關重要
雖然會伴隨雜訊和誤差,但對outpainting進行遞歸是可行的。
用Keras實現Image Outpainting
在代碼實現中,我們對256*256的圖像進行了一些修改:
添加了Identity loss,即從生成的圖像到原始圖像
從訓練數據中刪除了patches(訓練pipeline)
用裁減(cropping)代替了掩膜(masking)(訓練pipeline)
添加了卷積層
結果
模型用海灘的數據訓練了200 epochs。
Recursive painting
用Keras實現Image Outpainting
1. 準備數據:
2. 構建模型
要從頭開始構建模型,你可以直接運行』outpaint.ipynb",或
你可以下載訓練完成模型,並將其移到「checkpoint/」,然後運行它。
https://drive.google.com/file/d/1548iAtsNf3wLSc1i5zYy-HX8_TW95wi_/view?usp=sharing
Reference:
[1] S. lizuka, E. Simo-Serra, and H. Ishikawa. Globally and Locally consistent image completion. ACM Transactions on Graphics (TOG), 36 (4) : 107, 2017.
[2] G. Liu, F. A. Reda, K. J. Shih, T.-C. Wang, A. Tao, and B. Catanzaro. Image inpainting for irregular holes using partial convolutions. arXiv preprint arXiv:1804. 07723, 2018.
[3] B. Zhou, A. Lapedriza, A. Khosla, A. Oliva, and A. Torralba. Places : A 10 milLion image database for scene recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017.
新智元AI WORLD 2018大會【早鳥票】開售!
新智元將於9月20日在北京國家會議中心舉辦AI WORLD 2018 大會,邀請機器學習教父、CMU教授 Tom Mitchell,邁克思·泰格馬克,周志華,陶大程,陳怡然等AI領袖一起關注機器智能與人類命運。
大會官網:
http://www.aiworld2018.com/
即日起到8月19日,新智元限量發售若干早鳥票,與全球AI領袖近距離交流,見證全球人工智慧產業跨越發展。
活動行購票鏈接:
http://www.huodongxing.com/event/6449053775000
活動行購票二維碼:
※「馬化騰和錢穎一攜手啟動」清華-青騰未來科技學堂第二期開始報名!
※「AI震撼時間線」通用AI約在2040年出現,2200年地球將達I 型文明
TAG:新智元 |