圖像翻譯已然不是一件新鮮的事情了,但最近博主Keijiro Takahashi不僅實(shí)時(shí)的完成了這個(gè)圖像生成任務(wù),而且還將它“貼”到了3D模型上,打造了一只生動(dòng)可愛(ài)的“專屬小貓咪”!
看!這貨竟然比神筆馬良還要厲害!
隨著GAN、pix2pix等技術(shù)的提出,圖像翻譯已然不是一件稀奇的事情。但實(shí)時(shí)且3D的圖像翻譯,卻算的上是喜聞樂(lè)見(jiàn)了。
作者Keijiro Takahashi歷經(jīng)半個(gè)月的時(shí)間,終于“翻譯”出了這只活靈活現(xiàn)的3D小喵咪:
專屬貓咪,你值得擁有!
其實(shí),搞出來(lái)個(gè)這樣的喵咪并不難。
首先,用Sketch Pad畫(huà)一個(gè)貓!
類似于非常出名的edges2cats,Sketch Pad也是一種演示方法,但它還是實(shí)時(shí)的。
其次,需要一些系統(tǒng)的要求:
Unity 2018.1
計(jì)算著色器功能(DX11,Metal,Vulkan等)
盡管它是以平臺(tái)無(wú)關(guān)的方式實(shí)現(xiàn)的,但它的許多部分都針對(duì)NVIDIA GPU體系結(jié)構(gòu)進(jìn)行了優(yōu)化。
為了完美地運(yùn)行Sketch Pad,作者建議使用GeForce GTX 1070或更高版本的Windows系統(tǒng)。
那么,如何使用訓(xùn)練過(guò)的模型呢?
這個(gè)存儲(chǔ)庫(kù)不包含任何用來(lái)節(jié)省帶寬和存儲(chǔ)配額且經(jīng)過(guò)訓(xùn)練的模型。
要在Unity Editor上運(yùn)行示例項(xiàng)目,需下載預(yù)先訓(xùn)練好的edges2cats模型,并將其復(fù)制到Assets/StreamingAssets中。
該實(shí)現(xiàn)只支持在Christopher Hesse交互演示中使用的.pict權(quán)重?cái)?shù)據(jù)格式。你可以選擇一個(gè)預(yù)先訓(xùn)練好的模型或者使用pix2pix-tensorflow來(lái)訓(xùn)練你自己的模型。
經(jīng)典Pix2pix
Pix2pix 是一個(gè)不同圖像效果的轉(zhuǎn)換工具,基于GAN實(shí)現(xiàn)。Pix2pix由UC Berkeley的Phillip Isola等人提出,論文最早在2016年11月在arxiv上公開(kāi),并被CVPR 2017錄取。雖然是比較老的論文,但作為一篇很經(jīng)典的論文,非常值得一讀,因此我們也在這里介紹一下Pix2pix的方法。
論文研究了條件對(duì)抗網(wǎng)絡(luò)作為一種圖像到圖像轉(zhuǎn)換問(wèn)題的通用解決方案。這些網(wǎng)絡(luò)不僅學(xué)習(xí)從輸入圖像到輸出圖像的映射,還學(xué)習(xí)了用于訓(xùn)練該映射的損失函數(shù)。這使得對(duì)傳統(tǒng)上需要非常不同的損失公式的問(wèn)題應(yīng)用相同的通用方法成為可能。
研究人員證明了這種方法在從標(biāo)簽地圖合成照片,從邊緣地圖重建對(duì)象,以及給黑白圖像上色等任務(wù)中都是有效的。這項(xiàng)工作表明我們可以在不需要手工設(shè)計(jì)損失函數(shù)的情況下獲得合理的結(jié)果。
圖1:有條件的對(duì)抗性網(wǎng)絡(luò)是一種通用的解決方案,似乎可以很好地解決各種各樣的問(wèn)題。這里我們展示幾種方法的結(jié)果。在每種情況下都使用相同的架構(gòu)和目標(biāo),只是簡(jiǎn)單地在不同的數(shù)據(jù)上訓(xùn)練。
在一些任務(wù)中,可以相當(dāng)快地在小數(shù)據(jù)集中獲得不錯(cuò)的結(jié)果。例如,為了學(xué)習(xí)生成外墻(如上圖所示),我們僅花了大約2小時(shí)訓(xùn)練了400張圖像(用一個(gè)Pascal Titan X GPU)。然而,對(duì)于更困難的問(wèn)題,在更大的數(shù)據(jù)集上進(jìn)行訓(xùn)練可能是很重要的,而且需要花費(fèi)很多小時(shí)甚至數(shù)天的時(shí)間。
既然是基于GAN的,那么Pix2pix也離不開(kāi)生成器和判別器。
GAN是生成模型,它學(xué)習(xí)從隨機(jī)噪聲向量z映射到輸出圖像y,即:G : z → y。
相比之下,條件GAN是從觀察到的圖像x和隨機(jī)噪聲向量z,學(xué)習(xí)它們與y的映射,即:G : {x, z} → y。
生成器G是訓(xùn)練來(lái)產(chǎn)生輸出的,目的是讓這些輸出不被對(duì)抗訓(xùn)練的鑒別器D將其與“真實(shí)”圖像區(qū)分開(kāi)來(lái);同時(shí),鑒別器D被訓(xùn)練來(lái)盡可能地檢測(cè)到生成器的“假”輸出。訓(xùn)練過(guò)程如下圖所示:
訓(xùn)練一個(gè)從map edges到photo的條件GAN
網(wǎng)絡(luò)架構(gòu)
這里采用了深度卷積生成對(duì)抗網(wǎng)絡(luò)DCGAN中的生成器和鑒別器的結(jié)構(gòu)進(jìn)行調(diào)整。生成器和鑒別器都采用了convolution-BatchNorm-ReLu的模塊。
生成器架構(gòu)的兩種選擇。“U-Net”是編碼器 - 解碼器,在編碼器和解碼器堆棧中的鏡像層之間有跳過(guò)連接(skip connection)。
有關(guān)Pix2pix結(jié)構(gòu)的更多細(xì)節(jié),請(qǐng)閱讀原論文:
https://arxiv.org/pdf/1611.07004.pdf
Pix2pix最著名的應(yīng)用是“畫(huà)貓”,edges2cats便是基于pix2pix-tensorflow的一個(gè)實(shí)現(xiàn),請(qǐng)看效果:
而今天我們介紹的Pix2Pix for Unity更是腦洞大開(kāi),在3D模型之上“畫(huà)貓”,讓生成的貓咪動(dòng)了起來(lái)。程序員擼貓還真是方便呢!
-
3D
+關(guān)注
關(guān)注
9文章
2880瀏覽量
107566 -
GaN
+關(guān)注
關(guān)注
19文章
1936瀏覽量
73491 -
圖像生成
+關(guān)注
關(guān)注
0文章
22瀏覽量
6896 -
Unity
+關(guān)注
關(guān)注
1文章
127瀏覽量
21831
原文標(biāo)題:pix2pix 3D版:幾筆線條生成超炫貓咪霹靂舞!
文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論