最近神經(jīng)網(wǎng)絡(luò)界最火爆的兩個(gè)技術(shù),一個(gè)是 NeRF(NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis)笆凌,另一個(gè)是 deep diffussion model乞而,這里對(duì) NeRF 進(jìn)行調(diào)研之后進(jìn)行一些總結(jié)。
感知的核心任務(wù)其實(shí)是對(duì)于周圍環(huán)境的理解晦闰,對(duì)于機(jī)器人來說跪妥,只有理解了環(huán)境,然后才能做出一系列的決策声滥。在環(huán)境理解中眉撵,三維環(huán)境重建是重要的任務(wù)之一。目前三維重建的手段是通過一系列的傳感器在時(shí)空上對(duì)周圍環(huán)境進(jìn)行采樣落塑,而采樣的結(jié)果將會(huì)作為三維重建的約束纽疟。一般來說當(dāng)前的傳感器有攝像頭、激光雷達(dá)憾赁、毫米波雷達(dá)污朽、超聲波雷達(dá)等。而 NeRF 提出了一種如何通過一系列二維圖片(攝像頭)對(duì)三維重建進(jìn)行約束的方法蟆肆,其核心思想是建立可微的渲染方程。
1. 渲染方程(Rendering equation)
如果當(dāng)前有一種對(duì)于三維環(huán)境的空間描述方法赁温,并且清楚知道三維環(huán)境是如何在攝像頭上進(jìn)行成像的床玻,則可以用圖像對(duì)其進(jìn)行約束待牵,這種從三維環(huán)境到二維圖像的過程被稱為渲染,其核心問題是如何更好地描述真實(shí)世界的光照蛤袒。
Nerf 認(rèn)為整個(gè)空間由一系列的粒子構(gòu)成珍德,這些粒子一方面自身會(huì)發(fā)出光泵琳,另一方面這些粒子會(huì)吸收入射到它們的光,前者對(duì)應(yīng)漫反射溯壶,后者對(duì)應(yīng)遮擋。假設(shè)已知攝像頭的內(nèi)參、外參端幼,那么對(duì)于像素來說,深度為的位置在世界坐標(biāo)系的位置和方向為
在位置處阴汇,取一個(gè)母線方向和相同的扁圓柱地来,其底面面積為币绩,長(zhǎng)為,粒子密度為,那么圓柱中的粒子個(gè)數(shù)為
當(dāng)時(shí)艘刚,可以認(rèn)為粒子幾乎全部平鋪在圓柱底部云稚,如果粒子的截面積為,那么所有粒子占據(jù)的總面積是,根據(jù)假設(shè)粒子會(huì)吸收入射到它們上面的光捏浊,因此光束打到圓柱上后被吸收的比例和面積占比一致為
這里假設(shè)光是從外向內(nèi)(攝像頭光心)發(fā)射的,因此有
取極限后可以得到微分方程
如果考慮到粒子自身也會(huì)發(fā)光,發(fā)光量為 ,那么有
方程變成
該微分方程求解如下
正常積分的范圍應(yīng)該為 ,但是工程上是不可實(shí)現(xiàn)的嗤栓,因此采用 表示采樣的最近距離, 表示采樣的最遠(yuǎn)距離,在這樣的假設(shè)下土匀, 表示攝像頭看到的顏色镇饺,也就是需要求解的值, 表示背景光的顏色扣癣,這個(gè)是 Nerf 原始論文中沒有考慮到的項(xiàng),后來在一些論文中被添加進(jìn)去膳殷。在 NeRF 中認(rèn)為 虑鼎,因此有了論文中的公式如下所示
注意到 NeRF 對(duì)于渲染模型的建立只考慮了遮擋和漫反射,對(duì)于其他比如多次散射等并沒有考慮拢驾,如果想要考慮這些因素嵌洼,可以閱讀論文Optical models for direct volume rendering许昨。為了方便編寫程序,需要對(duì)上述的連續(xù)方程進(jìn)行離散化,首先進(jìn)行變形得到
如果在 上進(jìn)行采樣市袖,得到一系列采樣點(diǎn) 蜓肆,因此最終的離散表達(dá)式可以寫成
讀完可能會(huì)很奇怪调炬,這個(gè)哥們是怎么想到這種奇奇怪怪的方法的照棋,很多人懷疑他曾經(jīng)搞過射線追蹤拱绑,事實(shí)上也確實(shí)是如此吧恃,在他的主頁 Ben Mildenhall 上可以看到筷凤,他在校時(shí)期完成過一些和渲染、射線追蹤相關(guān)的課程大作業(yè),這也很好地解釋了為什么他可以很自然地想到用神經(jīng)網(wǎng)絡(luò)來完成這項(xiàng)任務(wù)外盯。
2. 三維空間描述方法
當(dāng)前對(duì)三維空間描述的方法主要有以下四種:柵格、點(diǎn)云、隱式表達(dá)赤炒、面元
3. 球諧函數(shù)(Spherical Harmonics,SH)
在采用類似 Plenoxels 思路完成三維重建過程中尘执,一個(gè)繞不開的坎是球諧函數(shù)丧靡,其就是在球坐標(biāo)系下的傅里葉展開纬黎,可以表示球坐標(biāo)系下的各種函數(shù),最開始用在游戲渲染行業(yè)逛艰。這里用它來表示空間三維點(diǎn)顏色(像素顏色)隨著觀察角度(相機(jī)移動(dòng))的不同而產(chǎn)生的微小變化躏碳。
在一般的論文中提到球諧函數(shù),往往采用復(fù)球諧函數(shù)的形式散怖,如下所示
其中 定義如下
是伴隨勒讓德多項(xiàng)式菇绵,可以通過如下的遞推公式得到結(jié)果
這里列出最開始的幾個(gè)伴隨勒讓德多項(xiàng)式的結(jié)果
但是在工程中,采用的一般是實(shí)球諧函數(shù)(Real Spherical Harmonics)镇眷,如下所示
這里列出了最開始的幾個(gè)實(shí)球諧函數(shù)