英偉達最近發布的圖像合成 “黑魔法”GauGAN 效果令人驚嘆,現在,相關代碼和預訓練模型終于公開了。
還記得英偉達在GTC2019披露的令人驚嘆的圖像生成器GauGAN嗎?僅憑幾根線條,草圖秒變風景照,自動生成照片級逼真圖像的技術堪比神筆馬良。
圖中,左邊是人類操作員畫的,右邊是AI直接“簡單加上幾筆細節”后生成的。在普通人看來,右邊的圖像幾乎毫無破綻,看不出這并非一張風光照片,而是AI生成的虛擬海灘。
從圖中我們可以看出,GauGAN并不是像Photoshop里貼一個圖層那樣,簡單的把圖形貼上去,而是根據相鄰兩個圖層之間的對應關系對邊緣進行調整。比如石頭在水里的倒影應該是什么樣的、被瀑布沖刷的山石應該是怎樣的狀態、近處的山和遠處的山之間的層次應該如何表現…
相關閱讀:英偉達再出黑魔法GauGAN:憑借幾根線條,草圖秒變風景照
GauGAN背后的技術來自來自英偉達和MIT的研究團隊。這個團隊,包括來自英偉達的Ting-ChunWang、劉明宇(Ming-YuLiu),TaesungPark(當時在英偉達實習),以及來自MIT的朱俊彥(Jun-YanZhu)。
論文地址:https://arxiv.org/pdf/1903.07291.pdf
他們提出一種名為“空間自適應歸一化”(SPADE)的語義圖像合成技術,論文已經被CVPR2019接收,并入選oralpaper。
近日,SPADE的代碼終于發布,包括預訓練模型等,有興趣的同學趕緊來試試復現吧。
SPADE:空間自適應歸一化
GauGAN是基于名為“空間自適應歸一化”(spatially-adaptivenormalization,SPADE)技術實現的。該方法通過一個簡單但有效的層,在給定輸入語義布局的情況下合成照片級真實的圖像。
以前的方法直接將語義布局作為輸入提供給網絡,然后通過卷積、歸一化和非線性層進行處理。我們證明了以前的方法不是最優的,因為歸一化層往往會消除語義信息。
為了解決這個問題,我們建議使用輸入布局,通過空間自適應的、學習的變換來調整歸一化層中的激活。
在幾個具有挑戰性的數據集上的實驗表明,與現有方法相比,SPADE在視覺保真度和與輸入布局的對齊方面具有優勢。最后,我們的模型允許用戶輕松地控制合成結果的樣式和內容,以及創建多模態的結果。
方法簡述
在許多常見的歸一化技術中,如BatchNormalization(Ioffeetal.,2015),在實際歸一化步驟之后會應用到學習的affinelayers(如在PyTorch和TensorFlow)中。
在SPADE中,affinelayers是從語義分割映射中學習的。這類似于條件歸一化(DeVriesetal.,2017和Dumoulinetal.,2016),除了學習的affineparameters,還需要空間自適應,這意味著我們將對每個語義標簽使用不同的縮放和偏差。
使用這種簡單的方法,語義信號可以作用于所有層的輸出,而不受可能丟失這些信息的歸一化過程的影響。此外,由于語義信息是通過SPADE層提供的,所以可以使用隨機的潛在向量作為網絡的輸入,從而實現操縱所生成的圖像的樣式。
與現有方法的比較
SPADE在COCO-Stuff數據集上的性能優于現有方法。因為具有更多的場景和標簽,COCO-Stuff數據集比Cityscapes數據集更具挑戰性。上面的圖片比較了GRN、pix2pixhd以及SPADE的效果。
應用到 Flickr 圖片
由于SPADE適用于不同的標簽,因此可以使用現有的語義分割網絡對其進行訓練,學習從語義映射到照片的反向映射。上面這些圖片是由SPADE對從Flickr上抓取的40k張圖片進行訓練生成的。
代碼開源
安裝
克隆這個 repo
git clonehttps://github.com/NVlabs/SPADE.gitcd SPADE/
這段代碼需要PyTorch1.0和python3+。請通過以下方式安裝依賴項
pip install -r requirements.txt
代碼還需要同步的 Synchronized-BatchNorm-PyTorch rep.
cd models/networks/ git clonehttps://github.com/vacancy/Synchronized-BatchNorm-PyTorchcpSynchronized-BatchNorm-PyTorch/sync_batchnorm.-rfcd ../../
為了重現論文中報告的結果,你需要一臺有8個V100GPU的NVIDIADGX1機器。
數據集準備
對于COCO-Stuff、Cityscapes或ADE20K,必須預先下載數據集。請在相關網頁下載。
準備COCO-Stuff數據集。圖像、標簽和實例映射應該與數據集/coco_stuff/中的目錄結構相同。特別地,我們使用了一個實例映射,它結合了“thingsinstancemap”和“stufflabelmap”的邊界。我們使用了一個簡單的腳本數據集/coco_generate_instance_map.py。請使用pipinstallpycocotools安裝pycocotools,并參考腳本生成實例映射。
準備ADE20K數據集。解壓數據集后,將jpg圖像文件ADEChallengeData2016/images/和png標簽文件ADEChallengeData2016/annotatoins/放在同一個目錄中。
使用預訓練模型生成圖像
數據集準備好后,就可以使用預訓練模型生成圖像。
1、從 Google Drive Folder 下載預訓練模型的 tar,保存在 'checkpoint /‘中,然后運行
cd checkpoints tar xvf checkpoints.tar.gz cd ../
2、使用預訓練模型生成圖像
python test.py --name [type]_pretrained --dataset_mode [dataset] --dataroot [path_to_dataset]
3、輸出圖像默認存儲在./results/[type]_pretrained/。
訓練新模型
可以使用以下命令訓練新模型。
1、準備數據集
要在論文中的數據集上訓練,可以下載數據集并使用--dataset_mode選項,該選項將選擇加載BaseDataset上的哪個子類。對于自定義數據集,最簡單的方法是使用./data/custom_dataset。通過指定選項--dataset_modecustom,以及--label_dir[path_to_labels]--image_dir[path_to_images]。你還需要指定更多選項,例如--label_nc(數據集中標簽類的數目),--contain_dontcare_label(指定是否有一個未知的標簽),或者--no_instance(表示地圖數據集沒有實例)。
2、訓練
# To train on the Facades or COCO dataset, for example.python train.py --name [experiment_name] --dataset_mode facades --dataroot [path_to_facades_dataset]python train.py --name [experiment_name] --dataset_mode coco --dataroot [path_to_coco_dataset]# To train on your own custom datasetpython train.py --name [experiment_name] --dataset_mode custom --label_dir [path_to_labels] -- image_dir [path_to_images] --label_nc [num_labels]
你還可以指定許多選項,請使用 python train.py --help.
測試
測試與測試預訓練模型相似
python test.py --name [name_of_experiment] --dataset_mode [dataset_mode] --dataroot [path_to_dataset]
-
代碼
+關注
關注
30文章
4845瀏覽量
69256 -
數據集
+關注
關注
4文章
1212瀏覽量
24896 -
英偉達
+關注
關注
22文章
3862瀏覽量
92212
原文標題:草圖秒變風景照,英偉達神筆馬良GaoGAN終于開源了
文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
下一代SDR收發器中的黑魔法:發射本振泄漏!“零中頻”的挑戰如何破?



高端VR設備起量,英偉達稱今年1500萬,明年翻倍
英偉達DPU的過“芯”之處
英偉達的黑魔法:GauGAN

英偉達新開源的工具它利用生成對抗網絡,隨便幾個線條就能生成栩栩如生的圖像
英偉達GauGAN開放測試,人人當畫家!
英偉達研究團隊的公布的“AI神筆”嗎?
電子領域的黑魔法:復數RF混頻器的揭秘

評論