【gaussian-splatting】用自己的數據復現高斯潑濺(一)

1.環境準備

1.1.下載diff-gaussian-rasterization

????????這里本來沒啥說的,直接從github上下載就行了,但是我踩坑了,下的版本不對,后續運行報錯參數個數對不上,特在此給大家避坑,注意一定要下帶3dgs版本的diff-gaussian-rasterization,否則后續會報錯。

或者直接用我貼的下載地址:

https://github.com/graphdeco-inria/diff-gaussian-rasterization/tree/3dgs_accel

不要直接下載main版本的!不要直接下載main版本的!不要直接下載main版本的!

否則就會跟我一樣報錯:

Number of points at initialisation :  107 [06/08 17:53:37]
Training progress:   0%|                                                                                                                                                                | 0/30000 [00:00<?, ?it/s]Traceback (most recent call last):File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 282, in <module>training(lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 111, in trainingrender_pkg = render(viewpoint_cam, gaussians, pipe, bg, use_trained_exp=dataset.train_test_exp, separate_sh=SPARSE_ADAM_AVAILABLE)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/gaussian_renderer/__init__.py", line 36, in renderraster_settings = GaussianRasterizationSettings(
TypeError: GaussianRasterizationSettings.__new__() got an unexpected keyword argument 'antialiasing'
Traceback (most recent call last):File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 282, in <module>training(lp.extract(args), op.extract(args), pp.extract(args), args.test_iterations, args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/train.py", line 111, in trainingrender_pkg = render(viewpoint_cam, gaussians, pipe, bg, use_trained_exp=dataset.train_test_exp, separate_sh=SPARSE_ADAM_AVAILABLE)File "/mnt/geovis/zhouy/001_project/gaussian-splatting-main/gaussian_renderer/__init__.py", line 102, in renderrendered_image, radii, depth_image = rasterizer(
ValueError: not enough values to unpack (expected 3, got 2)
Training progress:   0%|

1.2.下載glm

這個沒啥特殊注意,直接在github上下載就行

命令下載:

git clone https://github.com/icaven/glm.git

下載完成后將其放在./gaussian-splatting-main/submodules/diff-gaussian-rasterization/third_party/目錄下,文件夾名稱為glm,如下圖

1.3.安裝diff-gaussian-rasterization

cd 到diff-gaussian-rasterization目錄下,運行:

python setup.py install

正常安裝的話應該會如下圖所示,有一些warning,不用管它。直至出現Installed /root/anaconda3/envs/gaussian/lib/python3.10/site-packages/diff_gaussian_rasterization-0.0.0-py3.10-linux-x86_64.egg
Processing dependencies for diff-gaussian-rasterization==0.0.0
Finished processing dependencies for diff-gaussian-rasterization==0.0.0

1.4.安裝simple-knn

安裝沒啥注意的,建議都下載下來離線包,再上傳上服務器解壓安裝。

下載地址:

https://github.com/camenduru/simple-knn

將下載的壓縮包上傳至./gaussian-splatting-main/submodules/下,解壓,運行以下命令即可完成安裝:

git clone https://github.com/camenduru/simple-knn && cd simple-knn
pip install .

1.5.安裝fused-ssim

????????同上,先下載離線文件,上傳服務器,解壓

下載地址:

https://github.com/rahul-goel/fused-ssim

cd到./gaussian-splatting-main/submodules/fused-ssim目錄下,運行以下代碼實現安裝:

pip install . --no-build-isolation

2.訓練過程

(gaussian) [root@t97 gaussian-splatting-main]# python train.py -s ./data -m ./output/mydata
Optimizing ./output/mydata
Output folder: ./output/mydata [06/08 18:21:32]
Tensorboard not available: not logging progress [06/08 18:21:32]
Reading camera 4/4 [06/08 18:21:32]
Loading Training Cameras [06/08 18:21:32]
Loading Test Cameras [06/08 18:21:32]
Number of points at initialisation :  107 [06/08 18:21:32]
Training progress:  23%|??????????????????????????                                                                                    | 6990/30000 [00:34<02:03, 186.02it/s, Loss=0.0057908, Depth Loss=0.0000000]
[ITER 7000] Evaluating train: L1 0.004467152804136276 PSNR 40.17698516845704 [06/08 18:22:07][ITER 7000] Saving Gaussians [06/08 18:22:07]
Training progress: 100%|?????????????????????????????????????????????????????????????????????????????????????????????????????????????| 30000/30000 [02:59<00:00, 167.57it/s, Loss=0.0038100, Depth Loss=0.0000000][ITER 30000] Evaluating train: L1 0.002960224240086973 PSNR 44.79262390136719 [06/08 18:24:31][ITER 30000] Saving Gaussians [06/08 18:24:31]Training complete. [06/08 18:24:33]

訓練完成會出現

Training complete. [xxxxxxx]

3.輸出結果查看

輸出的結果保存在./gaussian-splatting-main/output/mydata/point_cloud/iteration_30000/point_cloud.ply

將其下載到本地,用本地軟件,如blender打開,或者在瀏覽器中,在線打開。

在線查看地址:

https://superspl.at/editor

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

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

相關文章

中國移動h10g-01_S905L處理器安卓7.1當貝純凈版線刷機包帶root權限_融合終端網關

下載固件之前請先將主板上的屏蔽罩取下&#xff0c;查看處理器型號 是否為S905L型號&#xff0c;然后再下載固件進行刷機&#xff1b; 本頁面的固件是采用雙公頭數據線進行刷機的哈&#xff1b; 安卓4.4.2版本固件下載地址&#xff1a;點此進行下載 安卓7.1版本固件下載地址…

夜天之書 #110 涓滴開源:Cronexpr 的故事

在年初的一篇關于商業開源的博文當中&#xff0c;我介紹了在開發商業軟件的過程中&#xff0c;衍生出開源公共軟件庫的模式。在那篇博文里面&#xff0c;我只是簡單羅列了相關開源庫的名字及一句話總結。近期&#xff0c;我會結合商業開源實踐的最新進展&#xff0c;對其中一些…

完整的登陸學生管理系統(配置數據庫)

目錄 要求 思路 1. 登錄模塊&#xff08;LoginFrame.java&#xff09; 2. 學生信息管理模塊&#xff08;StudentFrame.java&#xff09; 3. 數據層&#xff08;StudentDAO.java&#xff09; 4. 業務層&#xff08;StudentService.java / UserService.java&#xff09; 5…

譯 | 在 Python 中從頭開始構建 Qwen-3 MoE

文章出自&#xff1a;基于 2個Expert 的 MoE 架構分步指南 本篇適合 MoE 架構初學者。文章亮點在于詳細拆解 Qwen 3 MoE 架構&#xff0c;并用簡單代碼從零實現 MoE 路由器、RMSNorm 等核心組件&#xff0c;便于理解內部原理。 該方法適用于需部署高性能、高效率大模型&#x…

Spring Boot + ShardingSphere 分庫分表實戰

&#x1f680;Spring Boot ShardingSphere 實戰&#xff1a;分庫分表&#xff0c;性能暴增的終極指南&#xff01; ? 適用場景&#xff1a;千萬級大表、高并發、讀寫分離場景 ? 核心框架&#xff1a;Spring Boot 3.x ShardingSphere-JDBC 5.4.1 ? 數據庫&#xff1a;MySQL…

MaxKB 使用 MCP 連接 Oracle (免安裝 cx_Oracle 和 Oracle Instant Client)

一、背景 安裝cx_Oracle包和Oracle Instant Client來操作數據庫&#xff0c;比較繁瑣同時容易沖突&#xff0c;不同的 Oracle 版本都需要安裝不同的插件。這篇文章將介紹使用 MCP 協議的連接方法。 二、操作步驟 1、使用 1Panel 安裝 DBhub a) 數據庫類型選擇 Oracle 類型。…

基于Python的超聲波OFDM數字通信鏈路設計與實現

基于Python的超聲波OFDM數字通信鏈路設計與實現 摘要 本文詳細介紹了使用Python實現的超聲波OFDM(正交頻分復用)數字通信鏈路系統。該系統能夠在標準音響設備上運行&#xff0c;利用高于15kHz的超聲波頻段進行數據傳輸&#xff0c;采用48kHz采樣率。文章涵蓋了從OFDM基本原理、…

滑動窗口相關題目

近些年來&#xff0c;我國防沙治沙取得顯著成果。某沙漠新種植N棵胡楊&#xff08;編號1-N&#xff09;&#xff0c;排成一排。一個月后&#xff0c;有M棵胡楊未能成活。現可補種胡楊K棵&#xff0c;請問如何補種&#xff08;只能補種&#xff0c;不能新種&#xff09;&#xf…

Java 工具類的“活化石”:Apache Commons 核心用法、性能陷阱與現代替代方案

在上一篇文章中&#xff0c;我們回顧了 Apache Commons 的經典組件。但作為 Java 世界中資歷最老、影響最深遠的工具庫&#xff0c;它的價值遠不止于此。許多開發者可能只使用了它 10% 的功能&#xff0c;卻忽略了另外 80% 能極大提升代碼質量的“隱藏寶石”。本文將提供一個更…

數據結構——圖及其C++實現 多源最短路徑 FloydWarshall算法

目錄 一、前言 二、算法思想 三、代碼實現 四、測試 五、源碼 一、前言 前兩篇學習的Dijkstra算法和Bellman-Ford算法都是用來求解圖的單源最短路徑&#xff0c;即從圖中指定的一個源點出發到圖中其他任意頂點的最短路徑。Dijkstra算法不能求解帶有負權重的圖的最短路徑&…

解決微軟應用商店 (Microsoft store) 打不開,無網絡連接的問題!

很多小伙伴都會遇見微軟應用商店 (Microsoft store)打開后出現無網絡的問題&#xff0c;一般出現這種問題基本都是因為你的電腦安裝了某些銀行的網銀工具&#xff0c;因為網銀工具為了安全會關閉Internet 選項中的最新版本的TLS協議&#xff0c;而微軟商店又需要最新的TLS協議才…

Android—服務+通知=>前臺服務

文章目錄1、Android服務1.1、定義1.2、基本用法1.2.1、定義一個服務1.2.2、服務注冊1.2.3、啟動和停止服務1.2.4、活動和服務進行通信1.3、帶綁定的服務示例1.3.1、定義服務類1.3.2、客戶端&#xff08;Activity&#xff09;綁定與交互?1.3.3、AndroidManifest.xml 注冊?1.3.…

從基礎功能到自主決策, Agent 開發進階路怎么走

Agent 開發進階路線大綱基礎功能實現核心模塊構建環境感知&#xff1a;傳感器數據處理&#xff08;視覺、語音、文本等輸入&#xff09;基礎動作控制&#xff1a;API調用、硬件驅動、簡單反饋機制狀態管理&#xff1a;有限狀態機&#xff08;FSM&#xff09;或行為樹&#xff0…

《動手學深度學習》讀書筆記—9.6編碼器-解碼器架構

本文記錄了自己在閱讀《動手學深度學習》時的一些思考&#xff0c;僅用來作為作者本人的學習筆記&#xff0c;不存在商業用途。 正如我們在9.5機器翻譯中所討論的&#xff0c;機器翻譯是序列轉換模型的一個核心問題&#xff0c;其輸入和輸出都是長度可變的序列。為了處理這種類…

DocBench:面向大模型文檔閱讀系統的評估基準與數據集分析

本文由「大千AI助手」原創發布&#xff0c;專注用真話講AI&#xff0c;回歸技術本質。拒絕神話或妖魔化。搜索「大千AI助手」關注我&#xff0c;一起撕掉過度包裝&#xff0c;學習真實的AI技術&#xff01; 一、數據集概述與核心目標 DocBench 是由研究團隊于2024年提出的首個…

Python高級排序技術:非原生可比對象的自定義排序策略詳解

引言&#xff1a;超越原生比較操作的排序挑戰在Python數據處理中&#xff0c;我們經常需要處理不原生支持比較操作的對象。根據2024年《Python開發者生態系統報告》&#xff0c;在大型項目中&#xff0c;開發者平均需處理28%的自定義對象排序需求&#xff0c;這些對象包括&…

低代碼系統的技術深度:超越“可視化操作”的架構與實現挑戰

在很多非開發者眼中&#xff0c;低代碼平臺似乎只是簡化流程、快速搭建頁面的工具。然而&#xff0c;在真實的企業級應用中&#xff0c;低代碼系統必須面對高并發請求、復雜業務規則、多角色權限、跨系統集成與持續演進等一系列工程挑戰。高效交付&#xff08;Rapid Delivery&a…

【NLP輿情分析】基于python微博輿情分析可視化系統(flask+pandas+echarts) 視頻教程 - 詞云圖-微博評論詞云圖實現

大家好&#xff0c;我是java1234_小鋒老師&#xff0c;最近寫了一套【NLP輿情分析】基于python微博輿情分析可視化系統(flaskpandasecharts)視頻教程&#xff0c;持續更新中&#xff0c;計劃月底更新完&#xff0c;感謝支持。今天講解詞云圖-微博評論詞云圖實現 視頻在線地址&…

Webpack核心技能:Webpack安裝配置與模塊化

一、webpack 的安裝和使用1. webpack 簡介webpack 是基于模塊化的打包 (構建)工具&#xff0c;它把一切視為模塊&#xff08;包括 JS、CSS、圖片等資源文件&#xff09;。工作原理&#xff1a;以開發時態的入口模塊為起點遞歸分析所有依賴關系經過壓縮、合并等處理最終生成運行…

數據結構---二級指針(應用場景)、內核鏈表、棧(系統棧、實現方式)、隊列(實現方式、應用)

一、二級指針的應用場景1、在被調函數中&#xff0c;想要修改主調函數中的指針變量&#xff0c;需要傳遞該指針變量的地址&#xff0c;形參用二級指針接收。2、指針數組的數組名是一個二級指針&#xff0c;指針數組的數組名作為參數傳遞時&#xff0c;可用二級指針接收。指針數…