手機照片腦補成超大畫幅,這個GAN想像力驚人
夏乙 伊瓢 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
斯坦福兩名學生Mark Sabini和Gili Rusak,在CS230的期末作業里把圖像補到了取景框外邊。
就像這樣:
原本像手機拍攝的照片一樣小的一幅畫,一下子變成了開闊的大圖。
機器根據它天才的「腦補力」,將白天和傍晚的豎幅海景圖腦補出左右兩側的樣子還原出了方形海景圖照片。看上去除了左右兩側有種照片被水泡了的模糊感之外,就是完整的一張照片。
Keras實現
最近,印度班加羅爾一位小哥Bendangnuksung(簡稱Bendang)看中了這種演算法,決定把它發揚光大。於是,他根據論文中的訓練方法,打造了一個超低門檻的Keras實現,還把可處理的解析度從128×128提升到了256×256。
一經推出,在Reddit上引起轟動。
大家紛紛表示過於厲害了:
你該不會是用訓練集做的測試吧?
牛逼,喜歡這種很實用的東西。
效果太好了,簡直不像是真的。
除了能看出原圖和生成內容的邊界之外,其他簡直完美。
甚至還開腦洞想出了應用場景:
4:3畫幅的電影可以無暇延伸成21:9的了!還可以把舊電影放大成4k畫面!
如果我把我的半個臉給它,能給我恢復過來么?
但是也有不少網友指出了一個小問題:這個模型的訓練和測試過程很不規範,Bendang展示的效果圖,是訓練數據中就包含的。
Bendang解釋說這個Keras實現,是用海灘數據集訓練的,整個數據集一共就350張圖,(你們就理解一下嘛)。
然後,他也給出了一張真正的測試效果:
效果勉勉強強。
有了Keras實現,這麼cool的想法確實好上手很多,不過在訓練和測試這件事上,大家不要學印度小哥。
訓練過程
在論文中,這個模型的用到的訓練集相當大,有超過3萬張圖片。不過每張圖片只是128×128的小圖。
首先,按照這個要求準備資料庫,找到36500張128×128的照片,保留100張做測試集。
處理好的數據,通過這樣一個DCGAN構架訓練。
後面測試集的結果如下,第一排是輸入的窄圖,第二排是輸出效果,第三排則是這張圖的原圖。
比較一下第二排和第三排看出,結果還不錯,除了部分圖片有一些明顯的邊緣之外,還是可以看出圖像的連續性的。另外,還有五倍寬度版:
彩蛋
這篇論文獲得了CS230作業中的Outstanding Posters。在CS230的作業中,還有很多十分有趣的研究,比如說,Final Project Prize Winners第一名的作業,照著衛星圖畫地圖。
而且,量子位悄悄LinkedIn了一下幾位拿到了第一名作者,貌似都是華人/華裔學霸(亮點自尋)。
傳送門
Keras實現:
https://github.com/bendangnuksung/Image-OutPainting
相關論文:
Painting Outside the Box: Image Outpainting with GANs
Mark Sabini and Gili Rusak
海報:
http://marksabini.com/files/cs230__Painting_Outside_the_Box_Image_Outpainting_with_GANs__poster.pdf
論文:
http://marksabini.com/files/cs230__Painting_Outside_the_Box_Image_Outpainting_with_GANs__report.pdf
原作者的代碼:
https://github.com/ShinyCode/image-outpainting
—完—


※起飛前被抓!FBI逮捕華人工程師:竊密蘋果無人車,原計劃搭乘海航回國
TAG:量子位 |