吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

NeRF入門基礎知識詳解

新機器視覺 ? 來源:小樣本視覺與智能前沿 ? 2024-02-21 14:21 ? 次閱讀

NeRF 在2020年ECCV上名聲大噪,作為best paper展示作者在網上收羅了NeRF的相關評說,匯總如下,內容可能雜亂,可作為對NeRF初步認識的資料。

Vanilla NeRF

什么是NeRF?

NeRF所要做的 task 是 Novel View Synthesis,一般翻譯為新視角合成任務

在已知視角下對場景進行一系列的捕獲 (包括拍攝到的圖像,以及每張圖像對應的內外參),合成新視角下的圖像

NeRF 不需要中間三維重建的過程,僅根據位姿內參和圖像,直接合成新視角下的圖像。

NeRF 引入了輻射場的概念,這在圖形學中是非常重要的概念。

渲染方程式的定義:

78274acc-d06f-11ee-a297-92fbcf53809c.png

方程表示了空間點$ xin R^3 $在方向 $d in R^3$ 上的輻射$L_o$.

等式右邊第一項 表示 x 為光源點時,自身在d方向釋放的輻射。

等式右邊第二項 表示該點折射在方向d 上的輻射,其中 $Omega$ 為入射方向 $omega_i$的半球集合。

$fr(cdot)$為散射函數,$Li$為從 $omega_i$方向接收到的輻射

輻射和顏色的關系

光就是電磁輻射, 或振蕩的電磁場

光又有波長和頻率,二者乘積為光速

光的顏色是由頻率決定的

大多數光是不可見的,人眼可見的光譜稱為可見光譜,對應的頻率就是我們認為的顏色

7838c626-d06f-11ee-a297-92fbcf53809c.png

*NeRF表示3D場為可學習的,連續的輻射場 $F_{ heta}$ *

785aed46-d06f-11ee-a297-92fbcf53809c.png

78687114-d06f-11ee-a297-92fbcf53809c.png

788f68fa-d06f-11ee-a297-92fbcf53809c.png

Positional Encoding

deep networks 更傾向于學習低頻的函數,實際場景的神經輻射場基本上都是高頻的

作者提出了 Positional Encoding (注意這里的 Positional Encoding 和 Transformer 中的 Positional Encoding 很像,但是解決問題是不一樣的

78ae858c-d06f-11ee-a297-92fbcf53809c.png

78c41d66-d06f-11ee-a297-92fbcf53809c.png

78dcd55e-d06f-11ee-a297-92fbcf53809c.png

Hierarchical volume sampling

使用體渲染積分遇到的問題:

雖然可以離散的近似計算積分,采樣點過多開銷過大,采樣點過少近似誤差有太大。

解決辦法:最好盡可能的避免在空缺部分以及被遮擋了的部分進行過多的采樣,因為這些部分對最好的顏色貢獻是很少的

NeRF 提出分層采樣訓練的方式,如下圖所示:

78faf48a-d06f-11ee-a297-92fbcf53809c.png

使用兩個網絡同時進行訓練 (后稱 coarse 和 fine 網絡)

coarse 網絡輸入的點是通過對光線均勻采樣得到的

根據 coarse 網絡預測的體密度值,對光線的分布進行估計,然后根據估計出的分布進行第二次重要性采樣

然后再把所有的采樣點 [公式] 一起輸入到 fine 網絡進行預測。

NeRF 存在的問題

實時性不好

泛化性不強

不能處理動態場景

拍攝方式有限制

參考鏈接2:https://zhuanlan.zhihu.com/p/466217848

NeRF原理

NeRF: Representing Scenes as Neural Radiance Fields for View Synthesis

NeRF主要功能:使用靜態場景下的多個視角的照片(大約幾十至上百張),合成出任意新視角的圖片。NeRF的算法思路:

Step1 :

使用MLP學習該場景的隱式3D模型表達

790d87ee-d06f-11ee-a297-92fbcf53809c.png

MLP模型示意圖。輸入一個3d點x和觀測方向d的高頻編碼向量,網絡預測該點的密度sigma和顏色c

79259e60-d06f-11ee-a297-92fbcf53809c.png

Step 2:使用體渲染方程將3D場景渲染成圖片

圖形上的點 P(u,v,1) , 他的像素值 rgb 可以通過對該點P發出的射線上的所有的點 的 c 和體密度 進行積分得到。

794d90d2-d06f-11ee-a297-92fbcf53809c.png

796e151e-d06f-11ee-a297-92fbcf53809c.png

7978ec5a-d06f-11ee-a297-92fbcf53809c.png

-

79802088-d06f-11ee-a297-92fbcf53809c.png

Step 3:訓練

從該點發出的射線在世界坐標系中的表示為79907668-d06f-11ee-a297-92fbcf53809c.png

起始點 [公式] 的世界坐標也同樣可以由相機的內外參求得

然后在該射線上采樣n個采樣點。

使用MLP預測這n個點的體密度,和c ,然后使用體渲染方程的離散公式算出該像素點的預測值 rgb。

然后計算預測的顏色值和真實顏色值的L2距離作為loss進行監督訓練。

799a631c-d06f-11ee-a297-92fbcf53809c.png

訓練集是幾十張或者幾百張該場景不同相機位姿拍攝的圖片

首先使用SFM算法求出所有圖片的相機相對世界坐標系的位姿 (R,t)

每張圖片的每個像素點都是一個訓練樣本(u,v) → rgb

以像素點(u,v)為例:

Step 4:觀測方向d的作用

一個點的密度密度只能是該點位置x的函數。

但該點的顏色還取決于觀測方向(我們觀看空間中一個物體的某個點,從光源照射方向觀看和從陰影方向觀看,它的亮度是不一樣的。)

Step 5:Positional encoding

直接讓MLP學習映射很難,將x,d 編碼為高維向量后學習會更加容易。

因此使用如下高頻函數進行編碼。

79adc11e-d06f-11ee-a297-92fbcf53809c.png

step 6:多層級采樣策略

均勻采樣方式采樣射線上64個點

這64點的密度值估計出密度分布函數。

再使用逆采樣算法集中對高密度的區域采樣128點。

使用該策略可以提高采樣的效率,不需要對射線上所有區域都進行密集的采樣

NeRF加速

FastNeRF: High-Fidelity Neural Rendering at 200FPS

相關資料:https://microsoft.github.io/FastNeRF/https://ieeexplore-ieee-org-s.nudtproxy.yitlink.com/document/9710021

Instant Neural Graphics Primitives with a Multiresolution Hash Encoding

相關資料:https://nvlabs.github.io/instant-ngp/https://nvlabs.github.io/instant-ngp/assets/mueller2022instant.pdf

NeRF動態場景(人體)的拓展

HumanNeRF: Free-viewpoint Rendering of Moving People from Monocular Video

相關資料:https://www.semanticscholar.org/paper/HumanNeRF%3A-Free-viewpoint-Rendering-of-Moving-from-Weng-Curless/bd706601b75533a66a782f6229419f85b1cc5135

參考鏈接3:https://www.analyticsvidhya.com/blog/2021/04/introduction-to-neural-radiance-field-or-nerf/

神經輻射場(Neural Radiance Field, NeRF)是一種生成復雜場景新視圖的方法。NeRF獲取一組場景的輸入圖像,并通過在場景之間插入來渲染完整的場景。

NeRF 的輸出是一個體積,其顏色和密度取決于視圖的方向和在該點發射的光亮度。

對于每條光線,我們都得到一個輸出體積,所有這些體積構成了復雜的場景。

靜態場景被表示為如上定義的連續5D函數。

79c3a736-d06f-11ee-a297-92fbcf53809c.png

該方法使用一個全連接的神經網絡-多層感知器(MLP)來表示該函數,從單個5D坐標(x, y, z, θ, φ)向后移動,輸出一個體積密度(RGB顏色受視圖影響)。

要渲染這個NeRF,有3個步驟:

相機光線通過場景來采樣3D點

利用step1中的點及其對應的2D觀察方向(θ, φ)作為輸入到MLP,得到顏色(c = (r, g, b))和密度σ的輸出集,

使用體繪制技術將這些顏色和密度累積到一個2D圖像中[注:體繪制是指從采樣的3D點創建一個2D投影]

79ce9fba-d06f-11ee-a297-92fbcf53809c.png

79e0a3e0-d06f-11ee-a297-92fbcf53809c.png

79f6bce8-d06f-11ee-a297-92fbcf53809c.png

7a10a45a-d06f-11ee-a297-92fbcf53809c.png

7a23f884-d06f-11ee-a297-92fbcf53809c.png

7a3c00dc-d06f-11ee-a297-92fbcf53809c.png

審核編輯:黃飛

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 電磁輻射
    +關注

    關注

    5

    文章

    355

    瀏覽量

    43642
  • 光譜
    +關注

    關注

    4

    文章

    840

    瀏覽量

    35320
  • 電磁場
    +關注

    關注

    0

    文章

    794

    瀏覽量

    47402

原文標題:NeRF入門知識匯總

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    模擬電路入門基礎知識

    模擬電路入門基礎知識
    發表于 06-06 13:57

    PLC入門必看基礎知識

    PLC基礎知識(PLC入門必看)與C語言有什么關系_plc可以用c語言編程嗎_plc的C語言編程詳解
    發表于 09-09 08:39

    電子元器件基礎知識詳解

    電子元器件基礎知識詳解
    發表于 10-08 20:13 ?371次下載

    HIFI耳機基礎知識入門

    HIFI耳機基礎知識入門 一、耳機是如何分類的? 1、按換能原理(Transducer)分
    發表于 02-02 11:48 ?3071次閱讀

    ADC入門_基礎知識

    ADC入門_基礎知識對初學者有很好的幫助。希望大家會喜歡。
    發表于 03-11 17:41 ?45次下載

    電感資料--電感基礎知識入門

    電子專業單片機相關知識學習教材資料——電感資料--電感基礎知識入門
    發表于 10-10 14:17 ?0次下載

    FreeRTOS基礎知識詳解pdf下載

    FreeRTOS基礎知識詳解
    發表于 03-29 14:36 ?45次下載

    初學者AVR軟件入門基礎知識(2)

    初學者AVR軟件入門基礎知識(2)
    的頭像 發表于 07-04 09:50 ?2717次閱讀

    初學者AVR軟件入門基礎知識(3)

    初學者AVR軟件入門基礎知識(3)
    的頭像 發表于 07-04 09:51 ?2644次閱讀

    什么是DCS系統?DCS系統基礎知識入門

    什么是DCS系統?DCS系統基礎知識入門
    的頭像 發表于 12-02 11:14 ?4.6w次閱讀
    什么是DCS系統?DCS系統<b class='flag-5'>基礎知識</b><b class='flag-5'>入門</b>

    FPGA的入門基礎知識詳細說明

    本文檔的主要內容詳細介紹的是FPGA的入門基礎知識詳細說明。
    的頭像 發表于 12-20 10:13 ?9641次閱讀
    FPGA的<b class='flag-5'>入門</b><b class='flag-5'>基礎知識</b>詳細說明

    機器視覺基礎知識詳解模板

    機器視覺基礎知識詳解模板下載。
    發表于 05-28 14:48 ?13次下載

    Arduino入門必備基礎知識(基礎認證考前總結)

    Arduino入門必備基礎知識(基礎認證考前總結)
    發表于 11-15 20:51 ?16次下載
    Arduino<b class='flag-5'>入門</b>必備<b class='flag-5'>基礎知識</b>(基礎認證考前總結)

    詳解射頻微波基礎知識

    詳解射頻微波基礎知識
    的頭像 發表于 01-29 10:28 ?2472次閱讀

    無功補償原理基礎知識詳解

    無功補償原理基礎知識詳解
    的頭像 發表于 08-11 09:48 ?911次閱讀
    無功補償原理<b class='flag-5'>基礎知識</b><b class='flag-5'>詳解</b>
    百家乐公式计算| 百家乐官网出千赌具| 平注打百家乐的方法| 网上百家乐官网赌博犯法吗 | 百家乐官网二代理解| 新利棋牌游戏| 百家乐网真人真钱群| 新葡京百家乐官网现金网| 大发888充值100元| 百家乐高手投注法| 百家乐官网机器手怎么做弊| 大发888常见断续| 太阳城百家乐注册平台| 百家乐官网真人娱乐城| 博狗投注| 跨国际百家乐的玩法技巧和规则 | 百家乐游戏接口| 现场百家乐官网能赢吗| 韦德国际| 贵族百家乐的玩法技巧和规则 | 百家乐的技术与心态| 百家乐官网网投打法| 皇冠现金网导航| 百家乐翻天粤语qvod| 百家乐官网打水论坛| 平邑县| 大发888 dafa888 octbay| 赌场百家乐规则| 什么叫百家乐官网的玩法技巧和规则 | 百家乐官网种类| 百家乐官网最佳投注法下载| 足球现金网开户| 圆梦城百家乐娱乐城| 百家乐官网开闲几率| 永平县| 大发888手机版官网| 百家乐小揽| 百家乐全讯网2| 赌博中百家乐官网什么意思| 皇冠网遮天小说| 大发888游戏交易平台|