介紹 OpenSplat
最近有一個新的技術稱為 3D Gaussian Splatting,它是用一稱深度學習的方法,用於二維影像重建立體的場景。在網路上有一個用 C++ 編寫的 3D Gaussian Splatting 程式,名叫 OpenSplat 。OpenSplat 採用COLMAP 、 OpenSfM 、 ODM 或 nerfstudio 等專案格式取得相機姿勢 + 稀疏點並計算 場景檔案(.ply 或 .splat),稍後可匯入其他軟體用於檢視、編輯和渲染。
在 Linux 中安裝 OpenSplat
我們可以在有或沒有 GPU 支援的情況下建置 OpenSplat。
所有編繹的要求:
- OPENCV :
sudo apt install libopencv-dev
,應該這樣做。 - libtorch :請參閱下面的說明。
CPU
對於 libtorch,請造訪 https://pytorch.org/get-started/locally/ 並選擇您的作業系統,對於軟體包,請選擇「LibTorch」。 對於運算平台,您可以選擇“CPU”。請見下圖。
下載 cxx11 ABI:https://download.pytorch.org/libtorch/cpu/libtorch-cxx11-abi-shared-with-deps-2.3.1%2Bcpu.zip
到本機的自己指定目錄,然後下載 OpenSplat 後建立它。
git clone https://github.com/pierotofy/OpenSplat OpenSplat cd OpenSplat mkdir build && cd build cmake -DCMAKE_PREFIX_PATH=/path/to/libtorch/ .. && make -j$(nproc)
其中 -DCMAKE_PREFIX_PATH = libtorch 的目錄位置。
如何使用 OpenSplat
首先可以下載 OpenSplat 提供的資料如「香蕉」,並解壓縮到指定的目錄 。
cd build
./opensplat /path/to/banana -n 2000
該程式將產生一個輸出splat.ply
文件及cameras.json
檔案位於同一目錄中,可供某些檢視軟體使用。
壓縮
若要產生壓縮的 splat(.splat 檔案),請使用 -o
選項:
./opensplat /path/to/banana -o banana.splat
說明
近期發現我以前發的關於 COLAMP 的簡易操作的 youtube 影片《Colmap 建立 3D 模型(HD)》有很多流量慢慢上升,覺得應該有人有興趣它的操作。而 OpenSplat 使用著 Colmap 的專案檔案作為計算的基礎,或許我的影片流量上升是因為 3D Gaussian Splatting 開始流行了。目前 OpenSplat 產生的 .ply 檔載入 CloudCompare 時只有看得見雲點,沒有 OpenSplat 介紹影片會渲染照片的色彩,見 「Splat 檢示器軟體」中介紹,有一套軟體可以轉換 Splat 及 CloudCompare 格式的 ply 檔。如下介紹:
3DGS Converter - A tool for converting 3D Gaussian Splatting .ply files into a format suitable for Cloud Compare and vice-versa
我試了使用 OpenSplat 轉 banana 專案檔,由於是純 cpu 計算,花了我超過一個小時的時間。如果采用 gpu 支援,作者表示至少快 100 倍。 就工程案經驗來說,效率大於四倍就可能會讓業主考慮使用新的方案,那麼快 100 倍還不趕緊去建置新的硬體?
沒有留言:
張貼留言