朱峰社區(qū)首頁 朱峰社區(qū)

搜索資源 注冊|登陸

等待

返回 展開菜單

2D變3D,視角隨意換,神還原高清立體感

BodyPaint畫材質(zhì) 觀看預(yù)覽

BodyPaint畫材質(zhì)

包含1節(jié)視頻教程
關(guān)注4.7萬

BodyPaint 3D是游戲美工必須學(xué)習(xí)的3d繪畫軟件。如果別人問你繪制貼圖用什么?沒錯就是BodyPaint了。趕快來學(xué)習(xí)一下吧,其實(shí)這個不比ps難多少。

關(guān)閉

看到這張恐龍化石的動態(tài)圖片,你肯定會認(rèn)為是用視頻截出來的吧?

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

然而真相卻是——完全由靜態(tài)圖片生成!

沒錯,而且還是不用3D建模的那種。

這就是來自伯克利大學(xué)和谷歌的最新研究:NeRF,只需要輸入少量靜態(tài)圖片,就能做到多視角的逼真3D效果

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

還需要專門說明的是,這項(xiàng)研究的代碼和數(shù)據(jù),也都已經(jīng)開源。

你有想法,盡情一試~

靜態(tài)圖片,合成逼真3D效果

我們先來看下NeRF,在合成數(shù)據(jù)集(synthetic dataset)上的效果。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

可以看到,這些生成的對象,無論旋轉(zhuǎn)到哪個角度,光照、陰影甚至物體表面上的細(xì)節(jié),都十分逼真。

就仿佛是拿了一臺錄影設(shè)備,繞著物體一周錄了視頻一樣。

正所謂沒有對比就沒有傷害,下面便是NeRF分別與SRN、LLFF和Neural Volumes三個方法的效果比較。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

不難看出,作為對比的三種方法,或多或少的在不同角度出現(xiàn)了模糊的情況。

而NeRF可謂是做到了360度無死角高清效果。

接下來是NeRF的視點(diǎn)相關(guān) (View-Dependent)結(jié)果。

通過固定攝像機(jī)的視點(diǎn),改變被查詢的觀看方向,將視點(diǎn)相關(guān)的外觀編碼在NeRF表示中可視化。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

NeRF還能夠在復(fù)雜的遮擋下,展現(xiàn)場景中詳細(xì)的幾何體。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

還可以在現(xiàn)實(shí)場景中,插入虛擬對象,并且無論是“近大遠(yuǎn)小”,還是遮擋效果,都比較逼真。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

當(dāng)然,360度捕捉真實(shí)場景也不在話下。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

神經(jīng)輻射場(neural radiance field)方法

這樣出色的效果,是如何實(shí)現(xiàn)的呢?

首先,是將場景的體積表示優(yōu)化為向量函數(shù),該函數(shù)由位置和視圖方向組成的連續(xù)5D坐標(biāo)定義。具體而言,是沿相機(jī)射線采樣5D坐標(biāo),來合成圖像。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

而后,將這樣的場景表示參數(shù)化為一個完全連接深度網(wǎng)絡(luò)(MLP),該網(wǎng)絡(luò)將通過5D坐標(biāo)信息,輸出對應(yīng)的顏色和體積密度值。

通過體積渲染技術(shù)將這些值合成為RGB圖像。

渲染函數(shù)是可微分的,所以可以通過最小化合成圖像和真實(shí)圖像之間的殘差,優(yōu)化場景表示。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

需要進(jìn)一步說明的是,MLP使用8個完全連接層(ReLU激活,每層256個通道)處理輸入,輸出σ和256維特征向量。然后,將此特征向量與攝像機(jī)視角連接起來,傳遞到4個附加的全連接層(ReLU激活,每層128個通道),以輸出視點(diǎn)相關(guān)的RGB顏色。

NeRF輸出的RGB顏色也是空間位置x和視圖方向d的5D函數(shù)。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

這樣做的好處可以通過對比來體現(xiàn)。可以看到,如果去掉視點(diǎn)相關(guān),模型將無法重現(xiàn)鏡面反射;如果去掉位置編碼,就會極大降低模型對高頻幾何形狀紋理的表現(xiàn)能力,導(dǎo)致渲染出的外觀過于平滑。

另外,針對高分辨率的復(fù)雜場景,研究人員還進(jìn)行了兩方面的改進(jìn)。

其一,是輸入坐標(biāo)的位置編碼,可以幫助MLP表示高頻函數(shù)。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

其二,是分層采樣。用以更高效地采樣高頻表示。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

GitHub代碼開源

目前,NeRF項(xiàng)目的代碼已經(jīng)在GitHub上開源。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

代碼主要基于Python 3,還需要準(zhǔn)備的一些庫和框架包括:TensorFlow 1.15、matplotlib、numpy、imageio、configargparse。

優(yōu)化一個NeRF

研究人員表示,優(yōu)化NeRF只需要一個GPU就可以完成,時間方面,需要花費(fèi)幾個小時到一兩天(取決于分辨率)。

而從優(yōu)化的NeRF渲染圖像,大約只需要1~30秒時間。

運(yùn)行如下代碼可以獲取生成Lego數(shù)據(jù)集和LLFF Fern數(shù)據(jù)集:

bash download_example_data.sh

若想優(yōu)化一個低解析度的Fern NeRF:

python run_nerf.py --config config_fern.txt

在經(jīng)過200次迭代之后,就可以得到如下效果:

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

若想優(yōu)化一個低解析度的Lego NeRF:

python run_nerf.py --config config_lego.txt

在經(jīng)過200次迭代之后,就可以得到如下效果:

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

開始渲染

運(yùn)行如下代碼,為Fern數(shù)據(jù)集獲取經(jīng)過預(yù)訓(xùn)練的高分辨率NeRF。

bash download_example_weights.sh

渲染代碼,在 render_demo.ipynb 中。

另外,你還可以將NeRF轉(zhuǎn)換為網(wǎng)格,像這樣:

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

具體示例,可以在 extract_mesh.ipynb 中找到。還需要準(zhǔn)備PyMCubes、trimesh和pyrender包。

關(guān)于作者:三位青年才俊

這篇論文的研究團(tuán)隊(duì),來自加州大學(xué)伯克利分校、谷歌研究院和加州大學(xué)圣地亞哥分校。

共同一作有三位。

Ben Mildenhall,本科畢業(yè)于斯坦福大學(xué),目前在伯克利電氣工程與計(jì)算機(jī)科學(xué)系(EECS)助理教授吳義仁(Ren Ng)門下讀博。致力于計(jì)算機(jī)視覺和圖形學(xué)研究。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

Pratul P. Srinivasan,同樣為伯克利EECS在讀博士,師從吳義仁和Ravi Ramamoorthi。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

Matthew Tancik,前面兩位作者的同門,本碩畢業(yè)于MIT。除了專注于計(jì)算機(jī)成像和計(jì)算機(jī)視覺研究外,他還是一位攝影愛好者。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

1個GPU就能完成優(yōu)化,優(yōu)化后渲染又只需要1-30秒,如此方便又效率的項(xiàng)目,還不快來試試?

One More Thing

最后,還想介紹個這方面有意思的研究。

NeRF確實(shí)強(qiáng),但在輸入上還需要多張照片……

那么有沒有方法,一張圖片就能玩3D效果呢?

問就有。

之前,Adobe的實(shí)習(xí)生就提出了一個智能景深算法,單張2D圖片秒變3D。

讓我們感受下效果。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

也是很有大片既視感了。

而最近,同樣是單張2D圖片變3D,臺灣清華大學(xué)的研究人員,在老照片上玩出了新花樣,論文入選CVPR 2020。

你看看女神奧黛麗?赫本,看看畢加索,看看馬克吐溫:

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

感覺以后看照片——搖一搖更有感覺啊。

再來看看“登月”、“宇航員和民眾握手”照片裸眼3D效果:

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

頗有點(diǎn)身臨其境之感。

與此前介紹過的Adobe的算法(后臺加鏈接)類似,這一3D圖像分層深度修復(fù)技術(shù)的核心算法,同樣有關(guān)上下文感知修復(fù):

初始化并切割分層深度圖像(LDI),使其形成前景輪廓和背景輪廓,然后,僅針對邊緣的背景像素進(jìn)行修補(bǔ)。從邊緣“已知”側(cè)提取局部上下文區(qū)域,并在“未知”側(cè)生成合成區(qū)域(如下圖c所示)。

2D變3D,視角隨意換,神還原高清立體感,還是不用3D建模的那種 | 代碼數(shù)據(jù)開源

說起來,對于個人視頻制作者、游戲開發(fā)人員,以及缺乏3D建模經(jīng)驗(yàn)的動畫公司來說,這類技術(shù)的成熟,可謂“福音”。

通過AI技術(shù),讓3D效果的實(shí)現(xiàn)進(jìn)一步簡化,這也是Facebook、Adobe及微軟等公司紛紛投入這方面研究的原因所在。

最后,這個項(xiàng)目的代碼也開源了……

稿子還沒寫完,我就準(zhǔn)備好一系列“雪藏”已久的照片要試試了。

這也是最近看到最酷的3D圖片方面的突破了。

如果有更酷的,也歡迎留言分享~~

傳送門

項(xiàng)目主頁:
http://www.matthewtancik.com/nerf

https://shihmengli.github.io/3D-Photo-Inpainting/

GitHub地址:
https://github.com/bmild/nerf

https://github.com/vt-vl-lab/3d-photo-inpainting

clarisse搭建3D天空之城拉普達(dá)全過程 clarisse搭建3D天空之城拉普達(dá)全過程

朱峰社區(qū)網(wǎng)頁版
朱峰社區(qū)網(wǎng)頁版(手機(jī)掃描-分享-添加到屏幕)


朱峰社區(qū)公眾號
朱峰社區(qū)微信公眾號(微信掃一掃-關(guān)注)

資源說明圖文教程無法下載,只能觀看圖片和文字。
版權(quán)規(guī)則本站圖文皆來自互聯(lián)網(wǎng)共享資源,如涉及到版權(quán)請查看版權(quán)規(guī)則。本平臺提供圖文僅可用于個人學(xué)習(xí),如用于商業(yè)請購買正版。您必須遵守的版權(quán)規(guī)則

未知用戶

未知用戶

2005-2024 朱峰社區(qū) 版權(quán)所有 遼ICP備2021001865號-1
2005-2024 ZhuFeng Community All Rights Reserved

VIP

朱峰社區(qū)微信公眾號

回頂部

1.復(fù)制文本發(fā)給您的QQ好友或群、微信等;好友點(diǎn)擊鏈接以后,轉(zhuǎn)發(fā)就成功了。 2.如朋友點(diǎn)擊您的鏈接,您需要需刷新一下才行;同一個好友僅能點(diǎn)擊一次。
購買VIP,觀看所有收費(fèi)教程!!