如何在 Linux 下安裝 OpenSplat:純 CPU 計算

介紹 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”。請見下圖。

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 倍還不趕緊去建置新的硬體?

各申機械設計工作室/ https://sites.google.com/view/each-application/homepage

留言