快速入門
了解更多
支援的功能
使用 nerfstudio 即插即用,非常簡單!
Nerfstudio 提供了一個簡單的 API,可以簡化建立、訓練和測試 NeRF 的端到端流程。該庫透過模組化每個組件來支援 NeRF 的更可解釋的實現。透過更模組化的 NeRF,我們希望在探索該技術時創造更用戶友好的體驗。
這是一個對貢獻者友好的儲存庫,其目標是建立一個社區,讓用戶可以更輕鬆地利用彼此的貢獻。 Nerfstudio 最初是由柏克萊分校的學生於 2022 年 10 月在柏克萊人工智慧研究中心 (BAIR) 的 KAIR 實驗室推出的開源項目,作為研究計畫(論文)的一部分。它目前由伯克利學生和社區貢獻者開發。
我們致力於提供學習資源,幫助您了解 NeRF 的基礎知識(如果您剛剛入門),並及時了解(如果您是經驗豐富的老手)所有 NeRF 的知識。作為研究人員,我們知道採用這種下一代技術有多麼困難。因此,我們隨時為您提供教學課程、文件等方面的協助!
有功能請求嗎?想要加入您全新的 NeRF 模型嗎?有新的數據集嗎?我們歡迎貢獻!如有任何問題,請隨時透過 Discord 聯繫 nerfstudio 團隊。
有反饋嗎?如果您想讓我們知道您是誰、您為何對 Nerfstudio 感興趣或提供任何回饋,我們希望您填寫我們的 Nerfstudio 回饋表!
我們希望 nerfstudio 使您能夠更快地建置?一起學習?並為我們的 NeRF 社群做出貢獻?
這項工作的贊助商包括 Luma AI 和 BAIR commons。
本快速入門將幫助您開始使用在經典 Blender Lego 場景中訓練的預設香草 NeRF。如需更複雜的變更(例如,使用您自己的資料運行/設定新的 NeRF 圖),請參閱我們的參考資料。
您的系統上必須安裝有 CUDA 的 NVIDIA 顯示卡。該庫已使用 CUDA 11.8 版本進行了測試。您可以在此處找到有關安裝 CUDA 的更多信息
Nerfstudio 需要python >= 3.8
。我們建議使用 conda 來管理相依性。確保在繼續之前安裝 Conda。
conda 建立 --name nerfstudio -y python=3.8 conda 啟動 nerfstudio pip 安裝 --升級 pip
使用 CUDA 安裝 PyTorch(此儲存庫已使用 CUDA 11.7 和 CUDA 11.8 進行了測試)和tiny-cuda-nn。建構tiny-cuda-nn
需要cuda-toolkit
。
對於 CUDA 11.8:
pip install torch==2.1.2+cu118 torchvision==0.16.2+cu118 --extra-index-url https://download.pytorch.org/whl/cu118 conda install -c“nvidia/label/cuda-11.8.0”cuda-工具包 pip 安裝 ninja git+https://github.com/NVlabs/tiny-cuda-nn/#subdirectory=bindings/torch
有關更多信息,請參閱安裝文件中的依賴項。
簡單的選擇:
pip 安裝 nerfstudio
或者如果您想要最新最好的:
git 複製 https://github.com/nerfstudio-project/nerfstudio.gitcd nerfstudio pip install --升級 pip setuptools pip install -e 。
或者,如果您想跳過所有安裝步驟並直接開始使用 nerfstudio,請使用 docker 映像:
請參閱安裝-使用 docker 映像。
以下將訓練一個nerfacto模型,這是我們針對現實世界場景所推薦的模型。
# 下載一些測試資料:ns-download-data nerfstudio --capture-name=poster# 訓練模型ns-train nerfacto --data data/nerfstudio/poster
如果一切正常,您應該會看到如下所示的訓練進度:
導航到終端末端的連結將載入網路檢視器。如果您在遠端電腦上執行,則需要連接埠轉送 websocket 連接埠(預設為 7007)。
可以透過運行載入預訓練模型
ns-train nerfacto --data data/nerfstudio/poster --load-dir {輸出/.../nerfstudio_models}
給定預訓練的模型檢查點,您可以透過運行來啟動檢視器
ns-viewer --load-config {輸出/.../config.yml}
擁有 NeRF 模型後,您可以渲染影片或匯出點雲。
首先,我們必須創建一條供相機遵循的路徑。這可以在檢視器的“RENDER”選項卡下完成。將 3D 視圖導向您希望影片開始的位置,然後按下「新增攝影機」。這將設定第一個相機關鍵影格。繼續新增額外的攝影機以建立攝影機路徑的新視點。我們提供其他參數來進一步完善您的相機路徑。滿意後,按“RENDER”,這將顯示一個包含渲染影片所需命令的模式。終止訓練作業(或如果您有大量計算,則建立新終端)並執行命令來產生影片。
還可以使用其他視頻導出選項,透過運行來了解更多信息
ns-渲染--幫助
雖然 NeRF 模型不是為生成點雲而設計的,但它仍然是可能的。導覽至 3D 檢視器中的「匯出」標籤並選擇「點雲」。如果選擇裁切選項,黃色方塊中的所有內容都會匯出到點雲中。根據需要修改設置,然後在命令列中運行面板底部的命令。
或者,您可以在沒有檢視器的情況下使用 CLI。透過運行了解導出選項
ns-導出點雲--幫助
使用現有資料集固然很棒,但您可能想使用自己的資料!我們支持使用您自己的數據的各種方法。在將其用於 nerfstudio 之前,必須確定相機位置和方向,然後使用ns-process-data
轉換為我們的格式。為此,我們依靠外部工具,可以在文件中找到說明和資訊。
數據 | 捕捉裝置 | 要求 | ns-process-data 速度 |
---|---|---|---|
圖片 | 任何 | 科爾地圖 | |
影片 | 任何 | 科爾地圖 | |
360數據 | 任何 | 科爾地圖 | |
寶麗康 | 雷射雷達的 iOS | 寶利康應用程式 | |
記錄3D | 雷射雷達的 iOS | Record3D應用程式 | |
元形狀 | 任何 | 元形狀 | |
原始設計製造商 | 任何 | 原始設計製造商 | |
詠嘆調 | 阿里亞眼鏡 | 詠嘆調計劃 | |
風俗 | 任何 | 相機姿勢 |
我們提供了nerfacto以外的其他模型,例如如果你想訓練原始的nerf模型,請使用以下命令
ns-train vanilla-nerf --data DATA_PATH
若要取得包含模型的完整列表,請執行ns-train --help
。
每個模型都包含許多可以更改的參數,此處無法列出。使用--help
指令查看配置選項的完整清單。
ns-train nerfacto --幫助
我們支援四種不同的方法來追蹤訓練進度,使用檢視器張量板、權重和偏差以及 Comet。您可以透過將--vis {viewer, tensorboard, wandb, comet viewer+wandb, viewer+tensorboard, viewer+comet}
附加到訓練指令來指定要使用的視覺化工具。在評估步驟中同時使用檢視器和 wandb 或張量板可能會導致卡頓問題。此檢視器僅適用於快速方法(即 nerfacto、instant-ngp),對於 NeRF 等較慢方法,請使用其他記錄器。
這就是 nerfstudio 基礎的入門。
如果您有興趣了解有關如何創建自己的管道、使用檢視器進行開發、運行基準測試等的更多信息,請查看下面的一些快速連結或直接訪問我們的文件。
部分 | 描述 |
---|---|
文件 | 完整的 API 文件和教程 |
觀眾 | 我們的網路檢視器的主頁 |
教育性 | |
型號說明 | nerfstudio 支援的所有模型的描述以及元件的說明。 |
組件說明 | 互動筆記本,解釋各種模型中值得注意/常用的模組。 |
教學 | |
入門 | 關於如何開始使用 nerfstudio 從安裝到貢獻的更深入指南。 |
使用檢視器 | 有關如何導航檢視器的快速示範影片。 |
使用Record3D | 有關如何在不使用 COLMAP 的情況下執行 nerfstudio 的示範影片。 |
對於開發人員 | |
創建管道 | 了解如何透過使用和/或實現新模組輕鬆建立新的神經渲染管道。 |
建立資料集 | 有新的數據集嗎?了解如何使用 nerfstudio 來運行它。 |
貢獻 | 演練如何立即開始貢獻。 |
不和諧 | 加入我們的社群討論更多內容。我們很樂意聽取您的意見! |
嘰嘰喳喳 | 在 Twitter 上關注我們 @nerfstudioteam 以查看精彩的更新和公告 |
回饋表 | 我們歡迎任何反饋!這是我們了解大家使用 Nerfstudio 的用途的機會。 |
我們提供以下支援結構,讓 NeRF 的入門變得更輕鬆。
如果您正在尋找目前不受支援的功能,請隨時聯絡 Discord 上的 Nerfstudio 團隊!
基於 Web 的視覺化工具可讓您:
即時視覺化訓練+場景互動
使用自訂相機軌跡建立和渲染場景
查看不同的輸出類型
還有更多!
支援多種日誌記錄介面(Tensorboard、Wandb)、程式碼分析和其他內建偵錯工具
Blender 資料集上易於使用的基準測試腳本
完整的管道支援(使用 Colmap、Polycam 或 Record3D),可將手機上的影片轉換為完整的 3D 渲染。
易於使用的配置系統
由布倫特·易開發
用於加速 NeRF 渲染的庫
由李瑞龍開發
您可以在 arXiv 上找到該框架的論文。
如果您使用此程式庫或發現該文件對您的研究有用,請考慮引用:
@inproceedings{nerfstudio, title = {Nerfstudio: A Modular Framework for Neural Radiance Field Development}, author = { Tancik, Matthew and Weber, Ethan and Ng, Evonne and Li, Ruilong and Yi, Brent and Kerr, Justin and Wang, Terrance and Kristoffersen, Alexander and Austin, Jake and Salahi, Kamyar and Ahuja, Abhik and McAllister, David and Kanazawa, Angjoo }, year = 2023, booktitle = {ACM SIGGRAPH 2023 Conference Proceedings}, series = {SIGGRAPH '23} }