NERF論文筆記

NeRF:Representing Scene as Neural Radiance Fields for View Synthesis 筆記

摘要

實現了一個任意視角視圖生成算法:輸入稀疏的場景圖像,通過優化連續的Volumetric場景函數實現;用全連接深度網絡表達場景,輸入是一個連續的5維坐標,3D坐標+2D角度(航向、俯仰角),輸出Volume density和依賴于視圖的emitted radiance,查詢5維坐標并用經典的Volume Rendering把輸出的顏色與強度投影到圖像。

介紹

a. march camera rays,我理解為從焦點投射射線到場景,獲取3D坐標點。
b. 用3D點 x \bold{x} x與對應的2D角度(用單位向量 d \bold{d} d)輸入,輸出顏色 c \bold{c} c和強度 σ \sigma σ
c. 合成圖像。

Neural Radiance Field場景表達

F θ : ( x , d ) → ( c , σ ) F_{\theta}:(\bold{x},\bold{d})\rarr(\bold{c},\sigma) Fθ?:(x,d)(c,σ)
輸出 σ \sigma σ只與輸入位置坐標 x \bold{x} x有關, c \bold{c} c則與 x \bold{x} x d \bold{d} d有關。

網絡結構,輸入 x \bold{x} x的8層全連接層,均為256通道,各層帶ReLU激活,輸出 σ \sigma σ、256維特征,此特征再與 d \bold{d} d聚合,輸入一層帶ReLU的全連接層,輸出 x \bold{x} x

Volume Rendering

位置坐標 x \bold{x} x表達為相機射線 r \bold{r} r r ( t ) = o + t d \bold{r}(t)=\bold{o}+t\bold{d} r(t)=o+td,t是從焦點 o o o出發的長度,積分上下界是遠端、近端。
C ( r ) = ∫ t n t f T ( t ) σ ( r ( t ) ) c ( r , d ) d t T ( t ) = e x p ( ? ∫ t n t σ ( r ( s ) ) d s ) C(\bold{r})=\int_{t_{n}}^{t_{f}} T(t)\sigma(\bold{r}(t))\bold{c}(\bold{r},d)dt\\T(t)=exp(-\int_{t_{n}}^t\sigma(\bold{r}(s))ds) C(r)=tn?tf??T(t)σ(r(t))c(r,d)dtT(t)=exp(?tn?t?σ(r(s))ds)

T ( t ) T(t) T(t)的含義從 t n t_n tn? t t t累積的transmittance,“the accumulated transmittance along the ray”,是射線從 t n t_n tn? t t t未遇到其他粒子的概率。
求該積分的數值方法,Deterministic quadrature,筆者初步理解是一種數值計算方法,離散化近似:將區間分為N段,從每一段隨機取樣。
t i ~ U [ t n + i ? 1 N ( t f ? t n ) , t n + i N ( t f ? t n ) ] t_i\sim U[t_n+\frac{i-1}{N}(t_f-t_n),t_n+\frac{i}{N}(t_f-t_n)] ti?U[tn?+Ni?1?(tf??tn?),tn?+Ni?(tf??tn?)]
參考Volume Rendering綜述,
C ^ ( r ) = ∑ i = 1 N T i ( 1 ? e x p ( ? σ i δ i ) ) c i T i = e x p ( ? ∑ j = 1 i ? 1 σ j δ j ) δ j = t j + 1 ? t j \hat C(\bold{r})=\sum_{i=1}^NT_i(1-exp(-\sigma_i\delta_i))\bold{c}_i\\ T_i=exp(-\sum_{j=1}^{i-1}\sigma_j\delta_j)\\ \delta_j=t_{j+1}-t_j C^(r)=i=1N?Ti?(1?exp(?σi?δi?))ci?Ti?=exp(?j=1i?1?σj?δj?)δj?=tj+1??tj?

兩項技術改進

只有上述設計不能達到SOTA,為此添加了兩項重要改進,其中第二項是為了高效地實現第一項。

  1. 位置編碼

    直接輸入上述5維做渲染,在場景中顏色和幾何的高頻變化的條件下表現較差,有參考證明深度網絡偏向于學習低頻函數,并發現在輸入網絡前用高頻函數將數據映射到更高維,網絡能更好擬合含有高頻變化的數據。5維輸入的各個元素 p p p被映射為長為2L的向量
    γ ( p ) = ( s i n ( 2 0 π p ) , c o s ( 2 0 π p ) , . . . , s i n ( 2 L ? 1 π p ) , c o s ( 2 L ? 1 π p ) ) \gamma(p)=(sin(2^0{\pi}p),cos(2^0{\pi}p),...,sin(2^{L-1}{\pi}p),cos(2^{L-1}{\pi}p)) γ(p)=(sin(20πp),cos(20πp),...,sin(2L?1πp),cos(2L?1πp))
    其中,位置元素L=10,方向元素L=4;各維元素均歸一化到 [ ? 1 , 1 ] [-1,1] [?1,1]
    Transformer有相似處理,但它的目的是給序列提供位置標簽,因為Transformer結構不能標記順序;NERF中的位置編碼則是為了將輸入升維以使得它的MLP能擬合更高頻函數;從投影重建蛋白質3D結構的模型方法也使用了該思路。

  2. 多層采樣
    采用兩個網絡,一個粗略,一個精細。首先用第一個網絡生成顏色,每條射線輸入 N c N_c Nc?個位置,然后用其結果引導重新采樣,使得采樣集中到體元附近,提高有效信息位置的樣本權重。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/719228.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/719228.shtml
英文地址,請注明出處:http://en.pswp.cn/news/719228.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Unity(第二十部)效果 粒子、線條和拖尾

1、粒子系統 粒子系統介紹 Unity 粒子系統是 Unity 引擎中用于創建和控制粒子效果的工具。它可以模擬各種自然現象,如火焰、煙霧、雨滴等,也可以用于創建特效,如魔法光芒、爆炸效果等。 粒子系統組成 在 Unity 中,粒子系統由發射…

用 Dockerfile為鏡像添加SSH服務

1、基礎鏡像ubuntu:18.04 2、替換為國內的安裝源 3、安裝openssh-server 4、允許root用戶遠程登陸 5、暴露端口22 6、服務開機自啟動 1.創建目錄 [rootopenEuler-node1 db]# mkdir sshd_ubuntu 2.創建 Dockerfile、 run.sh 、authorized_keys、vim aliyun.list 文件 [rootop…

網盤拉新如何對接?盤點最靠譜的一手渠道平臺

2024網盤行業再次重燃戰火。字節旗下產品頭條搜索極速版APP、悟空瀏覽器APP推出對應的網盤功能,剛剛開放了拉新推廣,現在是一個不能錯過新項目的好時機。 如果你對網盤拉新推廣充滿熱情,千萬不要錯過星子助推聯合字節推出的網盤項目機會。小…

python自動化之如何利用allure生成測試報告

Allure測試報告框架幫助你輕松實現”高大上”報告展示。本文通過示例演示如何從0到1集成Allure測試框架。重點展示了如何將Allure集成到已有的自動化測試工程中、以及如何實現報表的優化展示。Allure非常強大,支持多種語言多種測試框架,無論是Java/Pytho…

成功的交易沒有對錯,只有邏輯

大部分人將交易失敗歸咎于心態,但其實我們是否認真思考過自己的基本功是否扎實呢?這篇文章將引導你換個角度看待交易,讓你明白自己應該努力的方向。 曾經,你或許認為資金體量小、信息不對稱、技術不過關、心態不過硬是阻礙交易發展…

TikTok外貿系統的核心功能及其源代碼分享!

隨著全球化的不斷推進,外貿業務成為越來越多企業的增長動力,TikTok作為一個全球性的社交媒體平臺,其用戶基數龐大、活躍度高,為外貿業務提供了無限的商機。 為了幫助企業在TikTok上更好地開展外貿業務,TikTok外貿系統…

【DDD】學習筆記-聚合和聚合根:怎樣設計聚合?

今天我們來學習聚合(Aggregate)和聚合根(AggregateRoot)。 我們先回顧下上一講,在事件風暴中,我們會根據一些業務操作和行為找出實體(Entity)或值對象(ValueObject&…

47、WEB攻防——通用漏洞Java反序列化EXP生成數據提取組件安全

文章目錄 序列化和反序列化的概念: 序列化:把java對象轉換成字節流的過程;反序列化:把字節流恢復為java對象的過程。 對象的序列化主要有兩種用途: 把對象的字節流永久的保存在硬盤上,通常存放在一個文件…

網絡分析工具簡介及匯總

文章目錄 一、網絡分析工具軟件是什么二、網絡分析工具軟件作用三、常見的網絡分析工具 一、網絡分析工具軟件是什么 網絡分析工具軟件是一種用于捕獲、分析和解釋網絡數據包的工具。它們可以直接從網絡接口上捕獲數據包,并提供詳細的信息和統計數據,以幫…

xss.haozi.me:0x0B

<svg><script>(1)</script>

洛谷 B3620 x 進制轉 10 進制

題目描述 給一個小整數 x 和一個 x 進制的數 S。將 S 轉為 10 進制數。對于超過十進制的數碼&#xff0c;用 A&#xff0c;B&#xff0c;…… 表示。 輸入格式 第一行一個整數 x; 第二行一個字符串 S。 輸出格式 輸出僅包含一個整數&#xff0c;表示答案。 輸入輸出樣例…

【JavaScript】面試手撕淺拷貝

【JavaScript】面試手撕淺拷貝 引入 淺拷貝和深拷貝應該是面試時非常常見的問題了&#xff0c;為了能將這兩者說清楚&#xff0c;于是打算用兩篇文章分別解釋下深淺拷貝。 PS: 我第一次聽到拷貝這個詞&#xff0c;有種莫名的熟悉感&#xff0c;感覺跟某個英文很相似&#xff…

Linux文本處理三劍客:awk(內置函數詳解筆記)

Linux系統中&#xff0c;AWK 是一個非常強大的文本處理工具&#xff0c;它的內置函數使得對文本數據進行處理更加高效和便捷。 本文將介紹 AWK 內置函數的幾種主要類型&#xff1a; 算數函數字符串函數時間函數位操作函數其他常用函數 我們將使用一個示例文本文件來演示這些函…

局域網如何搭建服務器?

隨著網絡的普及和應用場景的不斷拓展&#xff0c;局域網搭建服務器逐漸成為大家關注的話題。在日常生活和工作中&#xff0c;我們經常需要通過局域網和互聯網進行文件共享、資源訪問等操作&#xff0c;而搭建服務器則是實現這些功能的重要手段之一。本文將針對局域網搭建服務器…

SwiftUI 如何在運行時從底層動態獲取任何 NSObject 對象實例

概覽 眾所周知,SwiftUI 的推出極大地方便了我們這些禿頭碼農們搭建 App 界面。不過,有時我們仍然需要和底層的 UIKit 對象打交道。比如:用 SwiftUI 未暴露出對象的接口改變視圖的行為或外觀。 從上圖可以看到,我們 SwiftUI 代碼并沒有設置視圖的背景色,那么它是怎么變成綠…

vscode 本地/遠程添加python解釋器

文章目錄 1. 背景2. 增加python解釋器 1. 背景 我們在使用 vscode 去遠程調試代碼時&#xff0c;如果環境存在多個 Python 版本&#xff08;如用 conda 管理&#xff09;&#xff0c;沒有選擇正確的 Python 解釋器會導致少包、庫不適配等各種問題 2. 增加python解釋器 windo…

鴻蒙系統適配的流程

鴻蒙系統適配的流程通常涉及以下關鍵步驟&#xff0c;以下是鴻蒙系統適配的一般流程&#xff0c;具體流程可能會根據項目的具體需求和開發團隊的情況進行調整和優化。北京木奇移動技術有限公司&#xff0c;專業的軟件外包開發公司&#xff0c;歡迎交流合作。 1. 準備工作&#…

超越脆弱:用否定法策略優化考研復試準備

很多情況下,你的想象力會為當前的世界添加一些東西。很抱歉,我會在本章中告訴你,這種方法完全是落后的方法:根據脆弱性和反脆弱性的概念,嚴格來說,正確的想象就是從未來中排除或削減不屬于未來的東西,采用否定法,脆弱的事物終將破碎。——《反脆弱:從不確定性中獲益》…

盤點:國家智能算力中心

文章目錄 1. Main2. My thoughtsReference 1. Main 按照《中國算力白皮書&#xff08;2022年&#xff09;》的定義&#xff0c;算力主要分為四部分&#xff1a;通用算力、智能算力、超算算力、邊緣算力。通用算力以CPU芯片輸出的計算能力為主&#xff1b;智能算力以GPU、FPGA、…

【一起學習Arcade】(6):屬性規則實例_約束規則和驗證規則

一、約束規則 約束規則用于指定要素上允許的屬性配置和一般關系。 與計算規則不同&#xff0c;約束規則不用于填充屬性&#xff0c;而是用于確保要素滿足特定條件。 簡單理解&#xff0c;約束規則就是約束你的編輯操作在什么情況下可執行。 如果出現不符合規則的操作&#…