目錄
什麼是NeRF 類模型
為NeRF 裝上輪子
XRNeRF 的核心特性
XRNeRF 的使用
首頁 科技週邊 人工智慧 腦補出新視角,一個統一的NeRF程式庫框架已開源

腦補出新視角,一個統一的NeRF程式庫框架已開源

May 15, 2023 pm 08:58 PM
模型 程式碼

假設一個物體你看了幾張照片後,能想像出其它角度看上去的感覺嗎?人是可以做到的,我們能自行推測出沒見過的部分,或者說沒見過的角度是什麼樣的。模型其實也有辦法做到,給定一些場景圖片,它也能腦補出一些未看過角度的影像。

渲染新視角,近來最引人注目的就是ECCV 2020 最佳論文榮譽提名的NeRF (Neural Radiance Field)了,它不需要以前複雜的三維重建過程,只需要幾張照片及拍攝此照片時相機的位置,就能合成新視角下的影像。 NeRF 驚豔的效果吸引了許多視覺方面的研究者,後續做出了一系列優秀的工作。

但困難的地方在於,這樣的模型建構起來比較複雜,目前也沒有一個統一的程式碼庫框架來實現它們,這無疑會阻礙該領域的進一步探索與發展。為此,OpenXRLab 渲染生成平台建構出高度模組化的演算法庫 XRNeRF,幫助快速實作 NeRF 類別模型的建置、訓練與推理。

腦補出新視角,一個統一的NeRF程式庫框架已開源

#開源位址:https://github.com/openxrlab/xrnerf

什麼是NeRF 類模型

NeRF 類任務,一般指的是在已知視角下捕獲場景信息, 包括拍攝到的圖像,以及每張圖像對應的內參外參,從而合成新視角下的影像。借助 NeRF 論文中的圖,我們能很清楚地理解這種任務。

腦補出新視角,一個統一的NeRF程式庫框架已開源

選自 arxiv: 2003.08934。

NeRF 在收集影像時會同時收集 5 維場景訊息,即一張影像對應一個三維座標值及另外兩個光線輻射角度。這樣的場景會透過多層感知機建模為Radiance Field,也就是說該多層感知機將輸入三維座標點並映射為該點的Density 和RGB 顏色,從而利用體素渲染(Volume Rendering)將Radiance Field 渲染為照片級的虛擬視角。

如上圖所示,透過一些圖片建構 Radiance Field 後,就能產生新視角下架子鼓的圖像。因為NeRF 並不需要明確地進行三維重建就能得到想要的新視角,所以它提供了一種基於深度學習的三維隱式表徵範式,僅使用2D 的posed images 資料就能訓練出包含3D 場景資訊的深度神經網路。

自NeRF 之後,類NeRF 的模型就層出不窮:Mip-NeRF 利用椎體而不是射線從而優化精細結構的生成效果;KiloNeRF 採用數以千計的微型多層感知機而不是單一大型多層感知機,降低計算量,實現即時渲染能力;此外AniNeRF 和Neural Body 等模型從簡短視訊幀中學習人體視角變換,得到很好的視角合成和驅動效果;此外,GN 'R 模型利用稀疏視角圖片與幾何先驗,實現不同ID 間可泛化的人體渲染。

腦補出新視角,一個統一的NeRF程式庫框架已開源

GN'R 提出的可泛化人體隱式場表徵,實現的單模型人體渲染效果

為NeRF 裝上輪子

儘管目前NeRF 類別演算法在研究領域具有非常高的熱度,但是畢竟屬於比較新的方法,所以模型實作上肯定是要麻煩一些的。如果是用 PyTorch 或 TensorFlow 這樣常規的框架,那就先得找個相近的 NeRF 模型,再在其基礎上修改。

這樣做會帶來幾個明顯的問題,首先即我們得完全讀懂一份實現,才能在其基礎上改成我們想要的樣子,這一部分其實工作量還是不小的;其次因為不同論文的官方實現並不統一,對比不同NeRF 類模型源碼時就會消耗比較大的精力,畢竟誰也不知道某篇論文的訓練過程中是不是有一些新穎的Trick;最後如果沒有一套統一的程式碼,驗證新模型的新想法無疑會慢很多。

為了解決眾多問題,OpenXRLab 為 NeRF 類別模型建構出一個統一的、高度模組化的程式碼庫框架 XRNeRF。

腦補出新視角,一個統一的NeRF程式庫框架已開源

XRNeRF 實現了眾多 NeRF 模型,上手更為容易,可輕鬆復現對應論文的實驗結果。 XRNeRF 將這些模型分成 datasets、mlp、network、embedder 和 render 這 5 個模組。 XRNeRF 的易用性在於,只需要透過 config 機制即能組裝不同模組而構成完整模型,極為簡單易用,同時也大幅增加了復用性。

在保證易用性的基礎上,同時還需要靈活性,XRNeRF 透過另一套註冊器機制,能客製化不同模組的具體特性或實現,從而使XRNeRF解耦性更強,程式碼也更易於理解。

此外,XRNeRF 所有實現的演算法都是採用Pipeline 的模式,數據上的Pipeline 讀取原始數據,經過一系列處理後獲得模型的輸入,模型的Pipeline 則對輸入的資料進行處理,獲得對應的輸出。這樣的 Pipeline 將 config 機制與註冊機機制串起來,組成了完整的架構。

XRNeRF 實現了眾多核心 NeRF 模型,並透過如上三大機制將它們都串起來,建構出既易用又靈活的高度模組化程式碼框架。

XRNeRF 的核心特性

XRNeRF 是基於 Pytorch 框架的 NeRF 類別 演算法庫,目前已經復現了 scene 和 body 兩個方向的 8 篇經典論文。相較於直接建模,XRNeRF 在搭模型效率、成本和彈性上都有顯著提升,而且有完善的使用文件、範例和 Issue 回饋機制,概括來說,XRNeRF 的核心特性大概有以下 5 點。

1. 實現了眾多主流和核心的演算法

例如開山之作NeRF,CVPR 2021 Best Paper Candidate (NeuralBody)、ICCV 2021 Best Paper Honorable Mention (Mip-NeRF) 與Siggraph 2022 Best Paper (Instant NGP)。

腦補出新視角,一個統一的NeRF程式庫框架已開源

在實現了這些模型的基礎上,XRNeRF 也能保證復現效果和論文中的基本一致。如下圖所示,從客觀的 PSNR 和 SSIM 指標來看,其能很好地重現原版程式碼的效果。

腦補出新視角,一個統一的NeRF程式庫框架已開源

腦補出新視角,一個統一的NeRF程式庫框架已開源

#2.模組化設計

XRNeRF 將整個程式碼框架進行了模組化設計,最大程度地提升了程式碼的可重複使用性,以便研究者對現有程式碼進行閱讀和修改。透過分析現有的NeRF 類別模型方法,XRNeRF 設計的具體模組流程如下圖所示:

腦補出新視角,一個統一的NeRF程式庫框架已開源


模組化的優點在於,假設我們需要修改資料格式,那隻需要修改Dataset 模組下的邏輯,假設我們需要修改渲染影像的邏輯,那就只需要修改Render model 模組。

3. 標準資料處理管線

#針對NeRF 類別演算法資料預處理較為複雜且多樣的問題,XRNeRF 提供了一套標準資料處理流程。其由多個資料處理操作序列得到,僅需修改 config 設定檔中的 data pipeline 部分,即可完成資料處理流暢搭建。

腦補出新視角,一個統一的NeRF程式庫框架已開源

NeRF 設定資料流程部分。

XRNeRF 中已經實作了多個資料集所需的資料處理op,只需要將這些op 在config 中依照順序定義好,即可完成資料處理流程的搭建。如果後續有新的 op 需要加入,也只需要在對應資料夾中完成新 op 的實現,即可一行程式碼加入整個資料處理流程當中。

4. 模組化網路建構方式

XRNeRF 中的模型主要由embedder、MLP 和render model組成,並透過network 連接,這幾者之間可以互相解耦,由此可以實現不同演算法之間不同模組的替換。

其中embedder 輸入點的位置和視角,輸出embedded 特徵資料;MLP 使用embedder 的輸出作為輸入,輸出取樣點的Density 和RGB 顏色;render model 則輸入MLP 的輸出結果,沿著射線上的點進行積分等操作,從而獲得影像上一個像素點的RGB 值。這三大模組再透過標準的 network 模組連接就構成了完整的模型。

腦補出新視角,一個統一的NeRF程式庫框架已開源

自訂 network 模組的程式碼結構。

5. 良好的復現效果

#支援最快60 秒訓練網絡,30幀每秒即時渲染,支援高清晰度、抗鋸齒、多尺度場景及人體影像渲染。無論是從客觀的 PSNR 和 SSIM 指標或主觀的 demo 展示效果來看,XRNeRF 都能很好地重現原版程式碼的效果。

XRNeRF 的使用

XRNeRF 框架看起來有非常好的特性,其使用起來也很簡單便捷。比如說安裝過程,XRNeRF 依賴的開發環境還是比較多的,PyTorch、CUDA 環境、視覺方面的處理庫等等。但是 XRNeRF 提供了 Docker 環境,透過 DockerFile 能直接建構鏡像檔。

腦補出新視角,一個統一的NeRF程式庫框架已開源

我們試了一下,相較於一步步配置各種運行環境與包,只需docker build 一行命令的配置方式顯然要方便太多了。另外建置 Docker 映像檔時,DockerFile 裡面配置了國內映像位址,所以速度還是很快的,基本上不用擔心網路問題。

在建置完映像,並從該映像啟動容器後,我們就能將專案程式碼,以及資料都透過 docker cp 指令傳到容器內。不過也可以直接在建立容器時透過 -v 參數直接將項目位址對應到容器內部。不過這裡要注意的是,資料集是需要放到確定位置的(否則需要改 config 檔案),例如 XRNeRF 專案下的 data 資料夾。

一般而言,下載完資料後,大概資料夾結構如下圖所示:

腦補出新視角,一個統一的NeRF程式庫框架已開源

現在,環境、資料與程式碼三者都準備好了,只需簡短的一行程式碼,就能執行NeFR 模型的訓練與驗證:

python run_nerf.py --config configs/nerf/nerf_blender_base01.py --dataname lego
登入後複製

其中 dataname 表示資料目錄下的特定資料集,config 表示模型的具體設定檔。因為 XRNeRF 採用的是高度模組化的設計,其 config 使用字典來構建,雖然乍一看可能會覺得有一點點繁瑣,但實際理解了 XRNeRF 的設計結構之後,閱讀起來就非常簡單了。

主觀看上去,config 設定檔(nerf_blender_base01.py)包含了訓練模型所有必要的信息,優化器、分散式策略、模型架構、資料預處理與迭代等等,甚至許多影像處理相關的配置也都包含在內。總結來說,除了具體的程式碼實現,config 設定檔描述了整個訓練、推理過程。

腦補出新視角,一個統一的NeRF程式庫框架已開源

描述模型結構部分的 Config 配置。

總的體驗起來,XRNeRF 從基礎的運行環境搭建到最終執行訓練任務都是比較流暢的。況且透過配置 config 文件,或是實現具體的 OP,同樣也能獲得非常高的建模彈性。相較於直接使用深度學習框架建模,XRNeRF 無疑將減少大量的開發工作,研究者或演算法工程師也能花更多時間在模型或任務創新上。

NeRF 類別模型目前仍是電腦視覺領域的研究重點,XRNeRF 這樣統一的程式碼庫,就像HuggingFace 的Transformer 庫一樣能聚集越來越多的優秀研究工作,聚集越來越多的新程式碼與新想法。反過來 XRNeRF 同樣也將大大加快研究者對 NeRF 類模型探索的腳步,便於將這一新領域應用到新場景與新任務中,NeRF 的潛力也將由此加速展開。

以上是腦補出新視角,一個統一的NeRF程式庫框架已開源的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

全球最強開源 MoE 模型來了,中文能力比肩 GPT-4,價格僅 GPT-4-Turbo 的近百分之一 全球最強開源 MoE 模型來了,中文能力比肩 GPT-4,價格僅 GPT-4-Turbo 的近百分之一 May 07, 2024 pm 04:13 PM

想像一下,一個人工智慧模型,不僅擁有超越傳統運算的能力,還能以更低的成本實現更有效率的效能。這不是科幻,DeepSeek-V2[1],全球最強開源MoE模型來了。 DeepSeek-V2是一個強大的專家混合(MoE)語言模型,具有訓練經濟、推理高效的特點。它由236B個參數組成,其中21B個參數用於啟動每個標記。與DeepSeek67B相比,DeepSeek-V2效能更強,同時節省了42.5%的訓練成本,減少了93.3%的KV緩存,最大生成吞吐量提高到5.76倍。 DeepSeek是一家探索通用人工智

AI顛覆數學研究!菲爾茲獎得主、華裔數學家領銜11篇頂刊論文|陶哲軒轉贊 AI顛覆數學研究!菲爾茲獎得主、華裔數學家領銜11篇頂刊論文|陶哲軒轉贊 Apr 09, 2024 am 11:52 AM

AI,的確正在改變數學。最近,一直十分關注這個議題的陶哲軒,轉發了最近一期的《美國數學學會通報》(BulletinoftheAmericanMathematicalSociety)。圍繞著「機器會改變數學嗎?」這個話題,許多數學家發表了自己的觀點,全程火花四射,內容硬核,精彩紛呈。作者陣容強大,包括菲爾茲獎得主AkshayVenkatesh、華裔數學家鄭樂雋、紐大電腦科學家ErnestDavis等多位業界知名學者。 AI的世界已經發生了天翻地覆的變化,要知道,其中許多文章是在一年前提交的,而在這一

Google狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理訓練最快選擇 Google狂喜:JAX性能超越Pytorch、TensorFlow!或成GPU推理訓練最快選擇 Apr 01, 2024 pm 07:46 PM

谷歌力推的JAX在最近的基準測試中表現已經超過Pytorch和TensorFlow,7項指標排名第一。而且測試並不是JAX性能表現最好的TPU上完成的。雖然現在在開發者中,Pytorch依然比Tensorflow更受歡迎。但未來,也許有更多的大型模型會基於JAX平台進行訓練和運行。模型最近,Keras團隊為三個後端(TensorFlow、JAX、PyTorch)與原生PyTorch實作以及搭配TensorFlow的Keras2進行了基準測試。首先,他們為生成式和非生成式人工智慧任務選擇了一組主流

你好,電動Atlas!波士頓動力機器人復活,180度詭異動作嚇到馬斯克 你好,電動Atlas!波士頓動力機器人復活,180度詭異動作嚇到馬斯克 Apr 18, 2024 pm 07:58 PM

波士頓動力Atlas,正式進入電動機器人時代!昨天,液壓Atlas剛「含淚」退出歷史舞台,今天波士頓動力就宣布:電動Atlas上崗。看來,在商用人形機器人領域,波士頓動力是下定決心要跟特斯拉硬剛一把了。新影片放出後,短短十幾小時內,就已經有一百多萬觀看。舊人離去,新角色登場,這是歷史的必然。毫無疑問,今年是人形機器人的爆發年。網友銳評:機器人的進步,讓今年看起來像人類的開幕式動作、自由度遠超人類,但這真不是恐怖片?影片一開始,Atlas平靜地躺在地上,看起來應該是仰面朝天。接下來,讓人驚掉下巴

替代MLP的KAN,被開源專案擴展到卷積了 替代MLP的KAN,被開源專案擴展到卷積了 Jun 01, 2024 pm 10:03 PM

本月初,來自MIT等機構的研究者提出了一種非常有潛力的MLP替代方法—KAN。 KAN在準確性和可解釋性方面表現優於MLP。而且它能以非常少的參數量勝過以更大參數量運行的MLP。例如,作者表示,他們用KAN以更小的網路和更高的自動化程度重現了DeepMind的結果。具體來說,DeepMind的MLP有大約300,000個參數,而KAN只有約200個參數。 KAN與MLP一樣具有強大的數學基礎,MLP基於通用逼近定理,而KAN基於Kolmogorov-Arnold表示定理。如下圖所示,KAN在邊上具

特斯拉機器人進廠打工,馬斯克:手的自由度今年將達到22個! 特斯拉機器人進廠打工,馬斯克:手的自由度今年將達到22個! May 06, 2024 pm 04:13 PM

特斯拉機器人Optimus最新影片出爐,已經可以在工廠裡打工了。正常速度下,它分揀電池(特斯拉的4680電池)是這樣的:官方還放出了20倍速下的樣子——在小小的「工位」上,揀啊揀啊揀:這次放出的影片亮點之一在於Optimus在廠子裡完成這項工作,是完全自主的,全程沒有人為的干預。而且在Optimus的視角之下,它還可以把放歪了的電池重新撿起來放置,主打一個自動糾錯:對於Optimus的手,英偉達科學家JimFan給出了高度的評價:Optimus的手是全球五指機器人裡最靈巧的之一。它的手不僅有觸覺

FisheyeDetNet:首個以魚眼相機為基礎的目標偵測演算法 FisheyeDetNet:首個以魚眼相機為基礎的目標偵測演算法 Apr 26, 2024 am 11:37 AM

目標偵測在自動駕駛系統當中是一個比較成熟的問題,其中行人偵測是最早得以部署演算法之一。在多數論文當中已經進行了非常全面的研究。然而,利用魚眼相機進行環視的距離感知相對來說研究較少。由於徑向畸變大,標準的邊界框表示在魚眼相機當中很難實施。為了緩解上述描述,我們探索了擴展邊界框、橢圓、通用多邊形設計為極座標/角度表示,並定義一個實例分割mIOU度量來分析這些表示。所提出的具有多邊形形狀的模型fisheyeDetNet優於其他模型,並同時在用於自動駕駛的Valeo魚眼相機資料集上實現了49.5%的mAP

牛津大學最新! Mickey:3D中的2D影像匹配SOTA! (CVPR\'24) 牛津大學最新! Mickey:3D中的2D影像匹配SOTA! (CVPR\'24) Apr 23, 2024 pm 01:20 PM

寫在前面項目連結:https://nianticlabs.github.io/mickey/給定兩張圖片,可以透過建立圖片之間的對應關係來估計它們之間的相機姿態。通常,這些對應關係是二維到二維的,而我們估計的姿態在尺度上是不確定的。一些應用,例如隨時隨地實現即時增強現實,需要尺度度量的姿態估計,因此它們依賴外部的深度估計器來恢復尺度。本文提出了MicKey,這是一個關鍵點匹配流程,能夠夠預測三維相機空間中的度量對應關係。透過學習跨影像的三維座標匹配,我們能夠在沒有深度測試的情況下推斷度量相對

See all articles