搜尋
首頁科技週邊人工智慧腦補出新視角,一個統一的NeRF程式庫框架已開源

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

渲染新視角,近來最引人注目的就是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中文網其他相關文章!

陳述
本文轉載於:51CTO.COM。如有侵權,請聯絡admin@php.cn刪除
烹飪創新:人工智能如何改變食品服務烹飪創新:人工智能如何改變食品服務Apr 12, 2025 pm 12:09 PM

AI增強食物準備 在新生的使用中,AI系統越來越多地用於食品製備中。 AI驅動的機器人在廚房中用於自動化食物準備任務,例如翻轉漢堡,製作披薩或組裝SA

Python名稱空間和可變範圍的綜合指南Python名稱空間和可變範圍的綜合指南Apr 12, 2025 pm 12:00 PM

介紹 了解Python函數中變量的名稱空間,範圍和行為對於有效編寫和避免運行時錯誤或異常至關重要。在本文中,我們將研究各種ASP

視覺語言模型(VLMS)的綜合指南視覺語言模型(VLMS)的綜合指南Apr 12, 2025 am 11:58 AM

介紹 想像一下,穿過​​美術館,周圍是生動的繪畫和雕塑。現在,如果您可以向每一部分提出一個問題並獲得有意義的答案,該怎麼辦?您可能會問:“您在講什麼故事?

聯發科技與kompanio Ultra和Dimenty 9400增強優質陣容聯發科技與kompanio Ultra和Dimenty 9400增強優質陣容Apr 12, 2025 am 11:52 AM

繼續使用產品節奏,本月,Mediatek發表了一系列公告,包括新的Kompanio Ultra和Dimenty 9400。這些產品填補了Mediatek業務中更傳統的部分,其中包括智能手機的芯片

本週在AI:沃爾瑪在時尚趨勢之前設定了時尚趨勢本週在AI:沃爾瑪在時尚趨勢之前設定了時尚趨勢Apr 12, 2025 am 11:51 AM

#1 Google推出了Agent2Agent 故事:現在是星期一早上。作為AI驅動的招聘人員,您更聰明,而不是更努力。您在手機上登錄公司的儀表板。它告訴您三個關鍵角色已被採購,審查和計劃的FO

生成的AI遇到心理摩托車生成的AI遇到心理摩托車Apr 12, 2025 am 11:50 AM

我猜你一定是。 我們似乎都知道,心理障礙由各種chat不休,這些chat不休,這些chat不休,混合了各種心理術語,並且常常是難以理解的或完全荒謬的。您需要做的一切才能噴出fo

原型:科學家將紙變成塑料原型:科學家將紙變成塑料Apr 12, 2025 am 11:49 AM

根據本週發表的一項新研究,只有在2022年製造的塑料中,只有9.5%的塑料是由回收材料製成的。同時,塑料在垃圾填埋場和生態系統中繼續堆積。 但是有幫助。一支恩金團隊

AI分析師的崛起:為什麼這可能是AI革命中最重要的工作AI分析師的崛起:為什麼這可能是AI革命中最重要的工作Apr 12, 2025 am 11:41 AM

我最近與領先的企業分析平台Alteryx首席執行官安迪·麥克米倫(Andy Macmillan)的對話強調了這一在AI革命中的關鍵但不足的作用。正如Macmillan所解釋的那樣,原始業務數據與AI-Ready Informat之間的差距

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一個PHP/MySQL的Web應用程序,非常容易受到攻擊。它的主要目標是成為安全專業人員在合法環境中測試自己的技能和工具的輔助工具,幫助Web開發人員更好地理解保護網路應用程式的過程,並幫助教師/學生在課堂環境中教授/學習Web應用程式安全性。 DVWA的目標是透過簡單直接的介面練習一些最常見的Web漏洞,難度各不相同。請注意,該軟體中

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器