0
本文作者: 楊曉凡 | 編輯:郭奕欣 | 2017-08-20 23:09 | 專題:ICCV 2017 |
雷鋒網(wǎng) AI 科技評論按:生成式對抗性網(wǎng)絡(luò) GANs 是近幾年最熱門的機器學習范式之一,它“圖像生成效果好”和“訓(xùn)練困難、效果不穩(wěn)定”的特點吸引了許許多多研究者付出精力進行 GANs 的研究。雖然它在大尺寸圖像和圖像逼真程度方面的表現(xiàn)仍然有限,但仍然是目前最好的圖像生成范式。
所以當看到如此逼真的高分辨率生成圖像的時候,我們幾乎要以為這是 GANs 的新突破。雖然圖中還有一些扭曲和不自然,但是細節(jié)和物體的結(jié)構(gòu)已經(jīng)比較完善。然而定睛一看,這樣的效果居然是一個單向的端到端網(wǎng)絡(luò)完成的!
介紹這項成果的論文「Photographic Image Synthesis with Cascaded Refinement Networks」(用級聯(lián)優(yōu)化網(wǎng)絡(luò)生成照片級圖像)已被 ICCV 2017 收錄,這篇論文是斯坦福大學博士陳啟峰(第一作者)和英特爾實驗室視覺組主管 Vladlen Koltun 共同完成的;兩人此前也有合作。陳啟峰初中時就開始學習信息學,不僅2008年全獎就讀香港科技大學,2012年時更同時被斯坦福大學、哈佛大學、MIT、普林斯頓大學、UC 伯克利、UCLA等9所高校全獎錄取碩士博士學位,最終選擇了斯坦福大學,并于今年6月獲得計算機博士學位。
以下雷鋒網(wǎng) AI 科技評論就對這篇論文做詳細的介紹。
作者們的目標是生成大尺寸的、質(zhì)量接近照片的圖像。這個目標有足夠的難度,現(xiàn)有的基于 GANs 的方法生成的圖像在尺寸和逼真程度上都有各種問題,而 GANs 本身訓(xùn)練困難的特點更是雪上加霜。所以 GANs 的方法不適用。
作者們想到了這樣一個點子,假如給定一個街道布局,比如左圖這樣,不同的物體也做出了語意級別的區(qū)分,一個熟練的畫手可以很快根據(jù)這樣的布局畫出一幅畫,專業(yè)的藝術(shù)家甚至可以可以據(jù)此創(chuàng)造出像照片一樣真實的畫作。那么,能否把這樣的能力賦予一個計算模型呢?就是給定一個帶有語意物體布局的場景(左圖),能否讓一個人工智能系統(tǒng)生成一張這個場景對應(yīng)的照片級的圖像(右圖)呢?
另一方面,這個任務(wù)也有現(xiàn)有的成果可以類比,那就是圖像的語意分割?!皬囊粡堈鎸嵤澜绲膱D像生成語義分割布局圖像”,就和作者們的想法“從語義布局圖像生成照片級圖像”互為逆任務(wù)。既然圖像分割可以用端到端卷積網(wǎng)絡(luò)來做,那么從“分割結(jié)果”生成圖像也就可以用端到端卷積網(wǎng)絡(luò)來做。
不過端到端網(wǎng)絡(luò)的總體結(jié)構(gòu)還不足以保證圖像的質(zhì)量。所以作者們在根據(jù)其它現(xiàn)有的網(wǎng)絡(luò)結(jié)構(gòu)做了很多實驗以后,列舉出了三項他們認為非常重要的特點,模型要滿足這三點才能有足夠好的表現(xiàn)。
全局的協(xié)調(diào)性: 照片中物體的結(jié)構(gòu)要正確,許多物體的結(jié)構(gòu)都不是在局部獨立存在的,它們可能有對稱性。比如如果一輛車左側(cè)的剎車燈亮了,那右側(cè)的剎車燈也要亮。
高分辨率:為了達到足夠高的分辨率,模型需要具有專門的分辨率倍增模塊。
記憶力 (Memory):網(wǎng)絡(luò)需要有足夠大的容量才能復(fù)現(xiàn)出圖像中物體足夠多的細節(jié)。一個好的模型不僅在訓(xùn)練集中要有好的表現(xiàn),也要有足夠的泛化能力,都需要網(wǎng)絡(luò)容量足夠大。
為了同時達到以上的三個特點,作者們設(shè)計了一個由多個分辨率倍增模塊組成的級聯(lián)優(yōu)化網(wǎng)絡(luò) CRN。
模型一開始生成的圖像分辨率只有 4x8,通過串接的多個分辨率倍增前饋網(wǎng)絡(luò)模塊,分辨率逐步翻番,最終達到很高的圖像分辨率(比如最后一個模塊把512x1024的圖像變成1024x2048)。這就是論文標題的“Cascaded Refinement Networks”的體現(xiàn)。這樣做的好處是,
1. 覆蓋大范圍的物體特征一開始的時候都是在很小的臨近范圍內(nèi)表示的,它們的總體特征在一開始就是協(xié)調(diào)的,在分辨率逐步升高的過程中也能夠保持下來,就達到了“全局的協(xié)調(diào)性”。
2. 在提高分辨率的過程中,使用串接的多個前饋網(wǎng)絡(luò)模塊就可以對整個模型做端到端的訓(xùn)練,如果這部分用 GANs 就沒辦法端到端訓(xùn)練,而且分辨率選擇的靈活性也變差了。這樣就保證了“高分辨率”。
3. 增加更多的分辨率倍增模塊可以提高網(wǎng)絡(luò)容量,作者們表示只要硬件能夠支持就可以增加更多的模塊,現(xiàn)在他們實驗中用到的網(wǎng)絡(luò)有超過1億個參數(shù),已經(jīng)用盡了GPU的顯存空間,但是有明確的證據(jù)表明繼續(xù)增大網(wǎng)絡(luò)容量可以繼續(xù)提高圖像質(zhì)量。這樣模塊化的網(wǎng)絡(luò)也就非常方便在硬件資源充足的情況下拓展網(wǎng)絡(luò)容量。
每個分辨率增倍模塊都在各自的分辨率下工作,它們的輸入有兩部分,一部分是降采樣到當前模塊分辨率的輸入語義布局圖像 L,另一部分是上一級模塊的輸出特征層 Fi-1 (最初的模塊沒有這一項輸入),其中包含若干個 feature map。輸出的 Fi 分辨率在輸入 Fi-1 的基礎(chǔ)上長寬都為2倍。
每個模塊都由輸入、中間、輸出三個特征層組成,其中在輸入層直接翻倍分辨率,并且沒有使用升倍卷積,因為那樣會帶來特征的瑕疵。除了最后一個模塊要輸出最終結(jié)果外,每個模塊的每個層后都跟著一個 3x3 卷積層、正則化層和LReLU非線性層。
對于論文中測試的輸出分辨率為 1024 x 2048 的模型,一共用到了9個分辨率增倍模塊。在每個模塊的特征層中包含 feature map 數(shù)目的選擇上,第一個到第五個模塊為1024,第六到第七為512,第八個為128,最后一個為32。
“從語義布局圖像生成照片級圖像”其實是一個約束不完全的問題,同一個布局圖像對應(yīng)的足夠真實的照片級圖像可以有許多種。所以即便在訓(xùn)練時,作者們也是把布局對象對應(yīng)的照片稱為“參考圖像”而已。
損失函數(shù)設(shè)計
對于約束不完全的訓(xùn)練問題,作者們希望找到一個最適合的損失函數(shù)。若直接對訓(xùn)練輸出和參考圖像做像素對像素的對比,會對足夠真實的內(nèi)容也造成很大的懲罰,比如生成的車顏色不同的時候就會有很大懲罰,但這其實是不必要的。所以作者們選擇了內(nèi)容表征的方法,或者說是感知損失、特征匹配的方法,跟視覺網(wǎng)絡(luò)中的特征匹配激活對應(yīng),這樣就與參考圖像的低級特征保持了足夠的距離。
具體的做法上作者們另辟蹊徑,借助一個 VGG-19 圖像感知模型,提取它識別的圖像特征中高低不同的某幾層作為計算訓(xùn)練損失的依據(jù),從而同時涵蓋了圖像特征中邊緣、顏色等低級細粒度特征和物體、類別等高級總體布局特征,從而構(gòu)建了全面、強力的損失函數(shù)。
生成多樣化的圖像
作者們認為,既然“從語義布局圖像生成照片級圖像”本身就會帶來多種結(jié)果,所以他們應(yīng)當讓模型也生成多種不同的結(jié)果。他們首先嘗試了讓網(wǎng)絡(luò)生成多張不同的圖像然后從中選出最好的一張;然后最終更換為了一個更強大的損失函數(shù),它起到的作用類似于在所有生成圖像中分別選擇每個語義類別對應(yīng)的圖像中最真實的那部分, 然后把它們?nèi)科丛谝黄穑瑥亩屪罱K的輸出圖像得到了非常高的真實度。下圖即為加入多樣性損失之后,讓模型從同一個輸入生成的9張不同圖像。
效果測試
作者們把所提的CRN網(wǎng)絡(luò)與在同樣的測試條件下與其它網(wǎng)絡(luò)做了對比,包括 GANs(修改了鑒別器加入了語意分割損失)、全分辨率網(wǎng)絡(luò)(中間層也是全分辨率,與 CRN 相同損失函數(shù))、自動編解碼器、只使用低級圖像空間損失的CRN、以及 圖到圖轉(zhuǎn)換GAN(論文中以Isola et al.指代)。
另一組對比
圖中可以看到,基于 Cityscapes 和 NYU 兩個數(shù)據(jù)集的測試中,論文中提出的 CRN 都取得了非常好的觀感,與其它的相比,簡直就像是真實的照片;所用到的訓(xùn)練樣本數(shù)目也僅僅分別為 3000 張和 1200張而已。
作者們也通過 Amazon MTurk 眾包平臺平臺進行了量化對比測試:每次給被試者提供兩張圖像,一張來自 CRN,一張來自其它網(wǎng)絡(luò),看看他們有多高的比例認為 CRN 的圖像更真實。
結(jié)果非常有說服力,只有采用了相同的損失函數(shù)的全分辨率網(wǎng)絡(luò)取得了與 CRN 接近的成績。這首先說明了作者們選擇的損失函數(shù)效果非常好,準確地訓(xùn)練出了網(wǎng)絡(luò)構(gòu)建重要特征的能力;而另一方面因為全分辨率網(wǎng)絡(luò)的中間層特征太多,導(dǎo)致足夠 CRN 訓(xùn)練 1024x2048 分辨率的顯存只夠全分辨率網(wǎng)絡(luò)訓(xùn)練 256x512,這也體現(xiàn)了級聯(lián)優(yōu)化模塊結(jié)構(gòu)的優(yōu)點。CRN 同時在分辨率和真實度上取勝。
我們可以看到,對于高質(zhì)量的語義布局輸入,CRN表現(xiàn)出了很高的水平。那么模型的泛化能力如何呢?在與論文作者陳啟峰博士取得聯(lián)系并表達了我們的疑問后,陳啟峰博士介紹了兩項模型泛化的結(jié)果。
粗粒度語義布局輸入
可以看到,對于粗粒度的語義布局圖像輸入,模型也維持了相當?shù)谋憩F(xiàn),并沒有因此造成嚴重的細節(jié)損失;物體結(jié)構(gòu)的完整和清晰程度有所下降的。
從GTA5游戲生成圖像
作者們的另一個想法是把這項技術(shù)用來給游戲生成真實的畫面,成為一種新的渲染逼真游戲畫面的方式。他們嘗試的游戲是 GTA5,用 Cityscapes 數(shù)據(jù)集訓(xùn)練模型以后,從 GTA5 抓取語義布局作為模型輸入,得到的結(jié)果同樣充實、逼真,單獨看畫面根本想不到和 GTA5 有任何聯(lián)系。陳啟峰博士表示,“語義布局圖很容易在游戲里抓取,這對未來游戲或電影畫面生產(chǎn)可能會有深刻影響”。
作者們也剪輯了一個視頻,集中展示了生成的畫面效果。
這篇論文用精彩的方法生成了高分辨率、高真實度的圖像,其中衡量真實度和提高生成圖像豐富性的方法有很高的借鑒價值。所提的方法很好地完成了“從語義布局圖像生成照片級圖像”的任務(wù),而且具有一定的泛化能力。我們期待論文中的技術(shù)在未來的研究中進一步得到發(fā)揚光大。
雷鋒網(wǎng) AI 科技評論編譯。感謝陳啟峰博士對本文的補充!
論文地址:https://arxiv.org/abs/1707.09405v1
陳啟峰個人主頁:https://web.stanford.edu/~cqf/
項目地址:https://github.com/CQFIO/PhotographicImageSynthesis
雷峰網(wǎng)版權(quán)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。
本專題其他文章