最新開(kāi)源!照片3D風(fēng)格化:從單張照片生成風(fēng)格化的3D照片 (CVPR 2022 Oral)

作者:Fangzhou Mu, Jian Wang*, Yicheng Wu*, Yin Li*
單位:Snap Research, UW-Madison

摘要
視覺(jué)內(nèi)容創(chuàng)作在手機(jī)攝像和AR/VR中的應(yīng)用日益增長(zhǎng),近年來(lái)已成為計(jì)算機(jī)視覺(jué)和圖形學(xué)的研究熱點(diǎn)。其中以“風(fēng)格遷移”和“3D 照片”為代表的圖像編輯功能已經(jīng)在社交和短視頻應(yīng)用上廣泛部署。在本文中,我們將二者結(jié)合起來(lái),提出了一項(xiàng)全新任務(wù)——“照片3D風(fēng)格化”——從任意給定的單張圖像生成風(fēng)格化的3D照片。我們提出了一個(gè)深度學(xué)習(xí)模型,其核心是風(fēng)格遷移和全新視角渲染的統(tǒng)一學(xué)習(xí)。我們將場(chǎng)景由2D圖像轉(zhuǎn)化為點(diǎn)云,學(xué)習(xí)適宜3D風(fēng)格化的幾何內(nèi)容特征,從而產(chǎn)生跨視角一致的高質(zhì)量風(fēng)格化圖像。此外,在技術(shù)細(xì)節(jié)上,我們引入了一種新穎的訓(xùn)練方法,僅使用 2D 圖像就可以完成照片3D風(fēng)格化的訓(xùn)練,解決了欠缺3D訓(xùn)練數(shù)據(jù)這一難點(diǎn)。我們的算法在實(shí)驗(yàn)中展現(xiàn)了優(yōu)異的視覺(jué)效果,具有廣泛的應(yīng)用前景。
項(xiàng)目頁(yè)面:http://pages.cs.wisc.edu/~fmu/style3d
代碼已開(kāi)源:https://github.com/fmu2/3d_photo_stylization
引言
給定一個(gè)內(nèi)容圖像和一個(gè)風(fēng)格圖像,風(fēng)格遷移創(chuàng)建一個(gè)新的圖像,用該風(fēng)格“描繪”內(nèi)容。盡管目前有很多高質(zhì)量的風(fēng)格化圖像算法,它們的結(jié)果僅限于和內(nèi)容圖像相同的視角。如果我們可以從不同的視角渲染風(fēng)格化的圖像會(huì)不會(huì)很有趣?圖1中舉了兩個(gè)例子,輸入是一張普通照片,輸出的是風(fēng)格化的并且不同視角的圖片(推薦看demo視頻)。該算法將為 2D 圖像提供更加有趣的視覺(jué)體驗(yàn),可用在在移動(dòng)和 AR/VR 設(shè)備上交互式瀏覽 3D 照片和在短視頻平臺(tái)上分享關(guān)鍵時(shí)刻。在本文中,我們回答了怎么解決這一新的任務(wù),即從單個(gè)輸入圖像和任意參考風(fēng)格圖像生成新視角的風(fēng)格化圖像,如圖 1 所示。我們將此任務(wù)稱為“ 照片3D風(fēng)格化”——風(fēng)格遷移和新視角合成之間的結(jié)合。

給定一個(gè)內(nèi)容圖像,我們的方法以任意風(fēng)格合成場(chǎng)景的新穎視圖。我們的方法為現(xiàn)有的照片提供了有趣的觀看體驗(yàn)。
照片3D風(fēng)格化有幾個(gè)技術(shù)難點(diǎn)(Huang 等,2021)。首先,如果將現(xiàn)有的風(fēng)格遷移和新視角合成算法的簡(jiǎn)單組合,即使利用基于Structure from motion或多視角幾何獲得的“密集 3D”幾何表示,仍會(huì)產(chǎn)生模糊或不一致的風(fēng)格化圖像。這一挑戰(zhàn)在我們的設(shè)定下被進(jìn)一步放大:這是因?yàn)槲覀兊娜蝿?wù)是以單張圖像作為輸入。同時(shí),我們的方法建立在單目深度估計(jì)上,這種算法目前還只能輸出不完美的深度圖,這會(huì)導(dǎo)致全新視角下的風(fēng)格化圖像出現(xiàn)孔洞和偽影。此外,訓(xùn)練3D任務(wù)的模型通常需要大量含有密集幾何標(biāo)注的的多樣化數(shù)據(jù),然而這樣的數(shù)據(jù)集目前仍難以獲得。
為了解決這些難點(diǎn),我們從3D Photo(Niklaus等,2019;Shih等,2020)中汲取靈感,并采用基于點(diǎn)云的場(chǎng)景表示(Niklaus等,2019;Wiles等,2020;Huang 等,2021)。我們算法的關(guān)鍵創(chuàng)新點(diǎn)在于,我們的深度模型直接在點(diǎn)云上學(xué)習(xí) 3D 幾何特征,而無(wú)需使用內(nèi)容圖像中的 2D 圖像特征,以渲染跨視角一致的風(fēng)格化新視圖。我們的方法考慮了單目深度估計(jì)的深度圖的輸入噪聲,并將風(fēng)格遷移和新視圖合成統(tǒng)一起來(lái)。此外,我們提出了一種新穎的訓(xùn)練方法,可以使用常用的2D圖像數(shù)據(jù)集(如MS-COCO)來(lái)訓(xùn)練我們的3D風(fēng)格化模型,無(wú)需多視圖圖像或真實(shí)深度圖。
我們的貢獻(xiàn)有三個(gè)方面。(1) 我們提出了照片3D風(fēng)格化這一新任務(wù)(從一張任意的內(nèi)容圖像合成風(fēng)格化的新視圖)并提出了一種解決方案。(2) 區(qū)別于以前的算法,我們的方法不使用 2D 內(nèi)容圖像特征,并且僅從 2D 圖像數(shù)據(jù)集中學(xué)習(xí)點(diǎn)云上的幾何特征。(3) 我們的方法展現(xiàn)了優(yōu)異的定性和定量結(jié)果,并實(shí)現(xiàn)了一些有趣的應(yīng)用。
方法介紹
推理時(shí)的工作流程
給定單幅內(nèi)容圖像和任意的風(fēng)格圖像,照片3D風(fēng)格化的目標(biāo)是生成內(nèi)容圖像的風(fēng)格化新視圖。我們算法的核心在于直接從場(chǎng)景的點(diǎn)云表示中學(xué)習(xí)3D幾何內(nèi)容特征,以實(shí)現(xiàn)跨視角一致的高質(zhì)量風(fēng)格化。
圖2和圖3展示了我們方法的框架。我們首先估計(jì)輸入的內(nèi)容圖像的深度,然后利用深度圖將內(nèi)容圖像反向投影到3D空間來(lái)構(gòu)建RGB點(diǎn)云。接下來(lái),我們對(duì)輸入視角中被遮擋的場(chǎng)景部分(新視角下將變成可見(jiàn)的部分)進(jìn)行“修復(fù)”,然后對(duì)點(diǎn)云“歸一化”。我們?cè)O(shè)計(jì)了一個(gè)高效的圖卷積網(wǎng)絡(luò)來(lái)從大尺寸點(diǎn)云上提取3D幾何特征,從而獲得適宜3D風(fēng)格化的逐點(diǎn)特征。模型中的風(fēng)格遷移模塊隨后利用輸入風(fēng)格圖像來(lái)調(diào)整這些逐點(diǎn)特征。最后,可微光柵化器將點(diǎn)云特征投影到新視圖,通過(guò)解碼特征來(lái)生成跨視角一致的風(fēng)格化圖像。
我們方法的核心是基于點(diǎn)云的場(chǎng)景表示,它支持幾何特征學(xué)習(xí)、基于注意力的特征風(fēng)格化和多視角下一致的風(fēng)格化渲染。具體來(lái)說(shuō),我們首先從內(nèi)容圖像及其估計(jì)的深度圖構(gòu)建一個(gè)RGB點(diǎn)云。然后直接從點(diǎn)云中提取內(nèi)容特征,并根據(jù)給定的參考風(fēng)格圖像對(duì)其進(jìn)行風(fēng)格化。最后,我們將風(fēng)格化后的點(diǎn)特征渲染到新的視角并解碼為風(fēng)格化的圖像。
我們的模型包括三個(gè)模塊——點(diǎn)云編碼器、風(fēng)格化模塊和神經(jīng)渲染器。編碼器應(yīng)用MRConvs(Li等,2021)以及最遠(yuǎn)點(diǎn)采樣(farthest point sampling)來(lái)提取點(diǎn)云的局部特征信息,同時(shí)對(duì)原始的大尺寸點(diǎn)云進(jìn)行多次下采樣。風(fēng)格化模塊首先計(jì)算內(nèi)容特征和風(fēng)格特征之間的交叉注意力(cross-attention),再通過(guò)注意力加權(quán)得到每個(gè)點(diǎn)各異的仿射變換來(lái)調(diào)整該點(diǎn)的內(nèi)容特征,完成對(duì)點(diǎn)云特征的風(fēng)格化。神經(jīng)渲染器由一個(gè)光柵化器和一個(gè)U-Net組成,前者首先對(duì)風(fēng)格化后的點(diǎn)云特征進(jìn)行抗鋸齒(anti-aliasing)后將點(diǎn)云投影到新視圖,后者對(duì)投影得到的2D特征圖進(jìn)行細(xì)化后解碼為風(fēng)格化圖像。
訓(xùn)練時(shí)的工作流程
我們先使用二維圖像生成多視角圖像作為訓(xùn)練數(shù)據(jù),然后使用兩階段方法訓(xùn)練模型。
首先生成多視角圖像訓(xùn)練數(shù)據(jù)。訓(xùn)練我們的模型需要來(lái)自同一場(chǎng)景的多個(gè)視角的圖像??墒悄壳叭狈哂卸喾N場(chǎng)景的大規(guī)模多視角圖像數(shù)據(jù)集。為了解決這個(gè)問(wèn)題,我們使用現(xiàn)有的3DPhoto算法來(lái)合成數(shù)據(jù)。具體來(lái)說(shuō),我們使用3DPhoto(Shih等,2020)將來(lái)自標(biāo)準(zhǔn)數(shù)據(jù)集MS-COCO的圖像轉(zhuǎn)換為高質(zhì)量的3D幾何,從中我們可以合成任意目標(biāo)視角來(lái)訓(xùn)練我們的模型。在這過(guò)程中,我們的模型可以從 MS-COCO 的各種場(chǎng)景中學(xué)習(xí)。實(shí)驗(yàn)發(fā)現(xiàn)我們的模型在推理時(shí)可以很好地推廣到大量的普通圖像。
然后是兩階段訓(xùn)練。訓(xùn)練分為新視角合成階段(模型學(xué)習(xí) 3D 幾何特征以進(jìn)行新視角合成)和風(fēng)格化階段(模型進(jìn)一步訓(xùn)練以進(jìn)行新視圖風(fēng)格化)。在新視角合成階段,給定輸入圖像,我們隨機(jī)采樣場(chǎng)景的新視角,并訓(xùn)練模型最小化定義在每個(gè)像素上的Loss,
其中L_rgb定義在像素值上,L_VGG是感知loss,定義在VGG feature上,L_cns是多視角一致性loss(假設(shè)Lambertian反射模型)。在風(fēng)格化階段,我們固定編碼器以進(jìn)行內(nèi)容特征提取,訓(xùn)練風(fēng)格化器并微調(diào)神經(jīng)渲染器。這是通過(guò)從 WikiArt(Nichol,2016)中隨機(jī)抽取場(chǎng)景和風(fēng)格圖像的新視圖,并最小化Loss訓(xùn)練來(lái)完成的,前者來(lái)自(Liu等,2021),后者是多視角一致性loss。
實(shí)驗(yàn)
將我們的方法和其它方法進(jìn)行比較,我們的方法在一致性上和用戶體驗(yàn)上遠(yuǎn)遠(yuǎn)超過(guò)其它方法(表1和圖4)。我們的方法也可以推廣到多圖作為輸入(圖5)。最后,我們展示了兩個(gè)應(yīng)用(圖6)。
我們將我們的方法與其它方法(先3DPhoto,再圖像/視頻風(fēng)格遷移)進(jìn)行比較。我們的方法在不同的視角上是最一致的。
我們將我們的方法與順序結(jié)合3DPhoto和圖像/視頻風(fēng)格轉(zhuǎn)移的基線方法進(jìn)行比較。評(píng)估(a)風(fēng)格質(zhì)量、(b) 多視角一致性和(c)整體合成質(zhì)量。問(wèn)卷讓用戶一對(duì)一比較兩個(gè)算法的結(jié)果,投票給更好的。圖中展示了投票的用戶百分比(基于30人,5400次投票)??梢钥闯?,我們的算法遠(yuǎn)勝于其它算法。
與StyleScene(Huang等,2021)相比,我們的方法更接近于參考風(fēng)格,更好地保留了場(chǎng)景中的幾何信息(紅框部分),并且對(duì)視點(diǎn)分布的變化更加魯棒(第二行)。這里global和local分別指使用300和6-8張圖片作為輸入。
(a)分層風(fēng)格化,人不變但場(chǎng)景風(fēng)格化,(b)3D瀏覽歷史照片“一個(gè)小拱門(mén)歡迎總統(tǒng)來(lái)到阿拉斯加的 Metlakatla”,由D. L. 霍蘭迪 在1923年拍攝
結(jié)語(yǔ)
我們的研究首次將風(fēng)格遷移和3D Photo聯(lián)系起來(lái),提出了新任務(wù)“照片3D風(fēng)格化”——從任意給定的單張圖像生成風(fēng)格化的新視圖。我們發(fā)現(xiàn),簡(jiǎn)單地將兩個(gè)領(lǐng)域各自的算法組合起來(lái)的效果并不理想,因此提出了一個(gè)全新的深度學(xué)習(xí)模型。我們的模型將風(fēng)格遷移和新視角生成通過(guò)點(diǎn)云的表示方式統(tǒng)一起來(lái),從而獲得高質(zhì)量的照片3D風(fēng)格化效果。我們與其他可行方案進(jìn)行了充分對(duì)比,并初步展示了一些照片3D風(fēng)格化的潛在應(yīng)用。希望我們的方法能夠給廣大用戶帶來(lái)從 2D 照片創(chuàng)建 3D 內(nèi)容的新體驗(yàn)。
參考文獻(xiàn)
[1]Huang Hsin-Ping, Tseng Hung-Yu, Saini Saurabh, Singh Maneesh, and Yang Ming-Hsuan, “Learning to Stylize Novel Views”, ICCV 2021
[2]Niklaus Simon, Mai Long, Yang Jimei, and Liu Feng, “3D Ken Burns effect from a single image”, TOG 2019
[3]Shih Meng-Li, Su Shih-Yang, Kopf Johannes, and Huang Jia-Bin, “3D photography using context-aware layered depth inpainting”, CVPR 2020
[4]Wiles Olivia, Gkioxari Georgia, Szeliski Richard, and Johnson Justin, “SynSin: End-to-end view synthesis from a single image”, CVPR 2020
[5]Li Guohao, Muller Matthias, Qian Guocheng, Perez Itzel Carolina Delgadillo, Abualshour Abdulellah, Thabet Ali Kassem, and Ghanem Bernard, “DeepGCNs: Making GCNs go as deep as CNNs”, TPAMI 2021
[6]Nichol Kiri, “Painters by Numbers, WikiArt”, https://www.kaggle.com/c/painter-by-numbers, 2016
[7]Liu Songhua, Lin Tianwei, He Dongliang, Li Fu, Wang Meiling, Li Xin, Sun Zhengxing, Li Qian, and Ding Errui, “AdaAttN: Revisit attention mechanism in arbitrary neural style transfer”, ICCV 2021
獨(dú)家重磅課程官網(wǎng):cvlife.net

全國(guó)最大的機(jī)器人SLAM開(kāi)發(fā)者社區(qū)

技術(shù)交流群

—? ?版權(quán)聲明? —
本公眾號(hào)原創(chuàng)內(nèi)容版權(quán)屬計(jì)算機(jī)視覺(jué)life所有;從公開(kāi)渠道收集、整理及授權(quán)轉(zhuǎn)載的非原創(chuàng)文字、圖片和音視頻資料,版權(quán)屬原作者。如果侵權(quán),請(qǐng)聯(lián)系我們,會(huì)及時(shí)刪除。