塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

機器之心發表於2019-03-20


塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

What? 這麼美的照片竟然不是出自攝影師之手?!

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

英偉達新方法在 Flickr Landscapes 資料集上的語義影象合成結果,並不是真人拍攝的哦~

新手畫家可能會在粗帆布上作畫,藉以創造出一種令人驚歎的日落景象——崎嶇不平、白雪皚皚的山峰映在玻璃般的湖面上,但最後得到的卻更像是一塊多彩的墨跡。

而英偉達開發的新方法卻能達到相反的效果:它可以輕鬆地將粗糙的塗鴉變成逼真的傑作,令人歎為觀止。該方法利用生成對抗網路GAN)將分割圖轉換為栩栩如生的影象。而應用了該模型的互動應用被命名為 GauGAN,以致敬後印象派畫家保羅·高更(Paul Gauguin)。

GauGAN 可以為建築師、城市規劃師、景觀設計師和遊戲開發者等提供一個建立虛擬世界的強大工具。有了一個能夠理解真實世介面貌的 AI,這些專業人士就可以更好地將想法原型化,並對合成場景做出快速改變。

英偉達應用深度學習研究副總裁 Bryan Catanzaro 表示:「用簡單的草圖進行頭腦風暴設計要容易得多,而這項技術能夠將草圖轉換成高度逼真的影象。」

Catanzaro 將 GauGAN 背後的技術比作「智慧畫筆」,可以在粗略的分割圖中填充細節,粗略的分割圖是顯示場景中物體位置的高階輪廓。

GauGAN 允許使用者繪製自己的分割圖並操縱場景,用沙、天空、海或雪等標籤標註每個分割塊。

經過上百萬張影象的訓練,這一模型能夠以驚人的效果填充景觀:在池塘裡畫畫,附近的樹木和岩石等元素都將在水中反射出來。將一個分割標籤從「草」換成「雪」,整個畫面就變成了冬天的景象,原來枝繁葉茂的樹木也變得光禿禿的。

「這就像一本彩色畫冊,描述了樹在哪裡,太陽在哪裡,天空在哪裡。」Catanzaro 表示,「然後神經網路就能根據它對真實影象的瞭解,填充所有的細節和紋理,以及反射、陰影和顏色……該技術不僅可以整合其他影象或切割、粘合影象紋理,實際上還可以合成新的影象,這與畫家的繪畫方式非常相似。」

據介紹,GauGAN 主要使用了英偉達最新推出的 SPADE 技術,相關研究已被 CVPR 2019 接收為 oral 論文。

論文:Semantic Image Synthesis with Spatially-Adaptive Normalization

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

論文地址:https://arxiv.org/pdf/1903.07291.pdf

摘要:我們提出了一種空間自適應歸一化方法,在給定輸入語義佈局的情況下,實現了一種簡單有效的逼真影象合成層。以前的方法直接將語義佈局作為輸入提供給深度網路,然後通過卷積歸一化和非線性層處理深度網路。我們的實驗表明,這種方法並不是最優的,因為歸一化層傾向於「洗去」語義資訊。為了解決這個問題,我們提出使用輸入佈局,通過空間自適應的、學習的轉換來調節歸一化層中的啟用函式。在幾個具有挑戰性的資料集上的實驗表明,與現有方法相比,該方法在視覺保真度和與輸入佈局的對齊方面具有優勢。最後,我們的模型允許使用者控制合成影象的語義和風格。程式碼地址:https://github.com/NVlabs/SPADE

語義影象合成

空間自適應歸一化(SPADE)

假設語義分割掩碼 m ∈ L^(H×W),L 是一組表示語義標籤的整數,H 和 W 分別是影象的高和寬,m 中的每個條目表示一個畫素的語義標籤。給定一個包含 N 個樣本的 batch,h^i 表示深度卷積網路第 i 層的啟用,C^i 表示該卷積層中的通道數,H^i 和 W^i 分別表示該層啟用圖的高和寬。與批歸一化類似,SPADE 方法中的啟用函式被逐通道歸一化,然後用學習到的 scale 和偏置項進行調整。

當(n ∈ N, c ∈ C^i , y ∈ H^i , x ∈ W^i)時,啟用值如下所示:

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

其中,塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象 是歸一化之前點的啟用。塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象 分別是通道 c 中啟用值的均值和標準差:

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

下圖右展示了 SPADE 方法的設計。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

一些常見的歸一化技術,比如批歸一化(左圖),往往在實際的歸一化步驟之後應用學得的仿射層。而 SPADE 方法中的仿射層是從語義分割圖中學習的。這與 Conditional Normalization 類似,不過 SPADE 中學得的仿射引數需要對空間自適應,也就是說對每個語義標籤使用不同的 scaling 和偏置。使用這一簡單的方法後,語義訊號可以作用於所有層的輸出,不受歸一化過程的影響而丟失語義資訊。此外,由於語義資訊是由 SPADE 層提供的,因此隨機 latent vector 可能作為網路的輸入,來控制生成影象的風格。在 SPADE 中,掩碼首先投射到一個嵌入空間,之後通過卷積運算生成調節引數(modulation parameter)γ 和 β。與已有的條件歸一化方法不同,γ 和 β 不是向量,而是具有空間維度的張量。生成的 γ 和 β 經過乘法和加法後得到元素級的歸一化啟用值。

如下圖所示,SPADE 使用最近鄰下采樣來調整語義分割圖的大小,使之匹配對應特徵圖的解析度。γ 和 β 函式通過一個簡單的兩層卷積網路來實現。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

SPADE 生成器

使用 SPADE 則不需要將分割圖饋入生成器的第一層,其原因是獲得的調製引數已經編碼了關於標籤佈局的足夠資訊。所以,研究人員捨棄了生成器的編碼部分。這種簡化使網路更輕便。此外,與現有的分類條件生成器相似,這一新生成器可以輸入隨機向量,提供一種簡單自然的多模式合成方法。

圖 4 闡明瞭生成器架構,其採用了具有上取樣層的幾個 ResNet 塊。所有歸一化層的調製引數通過 SPADE 獲得。由於每個殘差塊在不同的尺度下運作,SPADE 對語義掩碼進行下采樣以匹配空間解析度。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

圖 4:在 SPADE 生成器中,每個歸一化層都使用語義掩碼來調節層啟用函式。(左圖)具有 SPADE 的一個殘差塊結構。(右圖)該生成器包含一系列帶上取樣的 SPADE 殘差塊。該架構通過去除領先的影象到影象轉換網路(pix2pixHD)的下采樣層,用更少的引數實現了更好的效能。

SPADE 為什麼效果這麼好?

簡單回答就是它能比常見歸一化層更好地保留語義資訊。特別是,InstanceNorm 方法中的歸一化層幾乎是所有 SOTA 條件影象合成模型的必需成分,當應用於統一或平滑的分割掩碼時,它們傾向於洗掉所有語義資訊。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

圖 3:給定統一分割圖的對比結果:SPADE 生成器生成了貌似真實的紋理,pix2pixHD 因歸一化層後語義資訊的丟失生成了完全相同的輸出。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

在場景和標籤多樣的高難度 COCO-Stuff 資料集上,SPADE 效果顯著優於已有方法 CRN 和 pix2pixHD。與真實影象相比,咦,難道不是換了個濾鏡?

實驗

研究者將 Spectral Norm 應用於生成器和判別器的所有層。生成器和判別器的學習率分別設定為 0.0001 和 0.0004。研究者使用 ADAM,設定β_1 = 0, β_2 = 0.999。所有實驗都在具有 8 塊 V100 GPU 的英偉達 DGX1 上進行。研究者使用同步均值和方差計算,即這些資料都是從所有 GPU 上收集的。

本研究中使用的資料集包括 COCO-Stuff 、ADE20K、ADE20K-outdoor、Cityscapes 和 Flickr Landscapes。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

圖 5:基於 COCO-Stuff 資料集的語義影象合成結果視覺化比較。該方法成功地從語義標籤中合成了真實的細節。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

圖 6:基於 ADE20K outdoor 和 Cityscapes 資料集的語義影象合成結果視覺化比較。該方法在基於空間語義佈局的同時生成逼真的影象。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

表 1:在所有的基準資料集上,該方法在語義分割得分(平均 IoU 和整體畫素精度)和 FID 上都優於目前領先的方法。mIoU 和畫素精度值越高越好。FID 值越低越好。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

表 2:使用者偏好研究。這些數字表明,與其他方法相比,使用者更喜歡該方法的結果。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

圖 8:COCO-Stuff 上的語義影象合成結果。本研究中的方法成功地在動物、體育活動等各種場景中生成了逼真的影象。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

表 3:對於解碼器架構(圖 4)和 pix2pixHD++的編碼器-解碼器架構(在 pix2pixHD 基礎上的改進基線)而言,當使用 SPADE 層時,mIoU 分數會提高。另一方面,在每一層簡單地連線語義輸入並不能做到這一點。此外,本研究中所有層上深度更小的簡潔模型超越了所有基線。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

表 4:SPADE 生成器的配置有所不同。研究者改變了生成器的輸入、作用於分割圖的卷積核大小、網路容量和無引數歸一化方法。本研究所使用的設定已加粗顯示。

塗鴉塗出攝影大片:英偉達「高更」GAN讓簡筆畫秒變逼真影象

圖 9:在影象編碼器上訓練後,該模型獲得了多模式合成能力。在部署期間,通過使用不同的隨機噪聲,該模型合成了具有不同外觀但在輸入掩碼中具有相同語義佈局的輸出。為了實現推理,在輸入分割掩碼中顯示了 ground truth 影象。

參考連結:

  • https://blogs.nvidia.com/blog/2019/03/18/gaugan-photorealistic-landscapes-nvidia-research/

  • https://nvlabs.github.io/SPADE/

相關文章