새소식

Perception/Gaussian Splatting

3DGS Viewers : SIBR Viewer, GS-SLAM viewer

  • -

SIBR Viewer

SIBR (System for Image-Based Rendering)는 INRIA 산하 그래픽스 연구 그룹인 GraphDeco가 만드는 소프트웨어 프레임워크로 Image-based rendering 연구를 위한 인프라이다. 주로 Novel View Synthesis, 3D Reconstruction, 실시간 렌더링 논문들을 구현하고 실험하는 데 사용된다. 

SIBR Viewer는 3DGS 공식 코드에 포함된 표준 시각화 도구이다. 논문을 정확히 구현해 렌더링 정확도는 최고 수준이며 대규모 가우시안도 안정적으로 처리할 수 있지만, C++로 빌드해야 하고 확장성이 낮다는 단점이 있다. 

Viser

Viser는 Python/Web 기반 인터랙티브 뷰어이다. Python에서 웹(WebGL)으로 3D 장면을 실시간 스트리밍하는 방식이다. 

GS 전용 rasterization 및 SH 평가를 완전히 재현하진 않아서 렌더링 정확도는 SIBR보다 낮고 대규모 가우시안에는 성능이 저하되지만, Python 코드로 바로 시각화 가능하고 커스텀 UI로 파라미터를 쉽게 바꿀 수 있으며 웹 기반이라 원격 공유가 가능하다는 장점이 있다.  

 

SIBR Viewer

Build

sudo apt update
sudo apt install -y libgl1-mesa-dev libopengl-dev libglx-dev libegl1-mesa-dev

conda activate 3dgs
conda install -c conda-forge glfw

cd /home/*/*/3dgs/gaussian-splatting/SIBR_viewers/build
rm -rf CMakeCache.txt CMakeFiles

cmake .. \
  -DCMAKE_BUILD_TYPE=Release \
  -DOpenCV_DIR="$CONDA_PREFIX/lib/cmake/opencv4" \
  -Dglfw3_DIR="$(dirname $(find "$CONDA_PREFIX" -name glfw3Config.cmake | head -n 1))" \
  -DCMAKE_C_COMPILER=/usr/bin/gcc \
  -DCMAKE_CXX_COMPILER=/usr/bin/g++ \
  -DCMAKE_CUDA_HOST_COMPILER=/usr/bin/g++ \
  -DOpenGL_GL_PREFERENCE=GLVND \
  -DOPENGL_opengl_LIBRARY=/usr/lib/x86_64-linux-gnu/libOpenGL.so \
  -DOPENGL_glx_LIBRARY=/usr/lib/x86_64-linux-gnu/libGLX.so \
  -DGLEW_INCLUDE_DIR=/usr/include \
  -DGLEW_SHARED_LIBRARY_RELEASE=/usr/lib/x86_64-linux-gnu/libGLEW.so \
  -DCMAKE_LIBRARY_PATH=/usr/lib/x86_64-linux-gnu

make -j4
make install

GS학습의 결과물은 보통 다음과 같다. 

output/<experiment_name>/
├── cfg_args                    # 학습 설정 (source path, model path 등)
├── cameras.json                # 카메라 파라미터
├── input.ply                   # 초기 point cloud (COLMAP에서 온 것)
├── point_cloud/
│   ├── iteration_7000/
│   │   └── point_cloud.ply     # 7000 iteration 체크포인트
│   └── iteration_30000/
│       └── point_cloud.ply     # 최종 결과 (기본 30k)
└── (optional) chkpnt7000.pth, chkpnt30000.pth  # --checkpoint 옵션 시
cd /home/*/ziwon/3dgs/gaussian-splatting/SIBR_viewers/install/bin
./SIBR_gaussianViewer_app -m /home/*/data/3dgs/HiSLAM/2025-12-29-16-16-11/viewer_ready --no-interp

 

GS-SLAM Viewer

https://github.com/yanchi-3dv/diff-gaussian-rasterization-for-gsslam

 

GitHub - yanchi-3dv/diff-gaussian-rasterization-for-gsslam: The modified differential Gaussian rasterization in the CVPR 2024 hi

The modified differential Gaussian rasterization in the CVPR 2024 highlight paper: GS-SLAM: Dense Visual SLAM with 3D Gaussian Splatting. - yanchi-3dv/diff-gaussian-rasterization-for-gsslam

github.com

sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt update
sudo apt install gcc-11 g++-11

pip install -v --no-build-isolation -e .

GS-SLAM은 SLAM용 뷰어다 보니까 지도를 생성하는 화면을 실시간으로 보여줘서 디버깅이나 상태를 보기가 좀 더 좋다(고 한다.)

https://github.com/muskie82/MonoGS

 

GitHub - muskie82/MonoGS: [CVPR'24 Highlight & Best Demo Award] Gaussian Splatting SLAM

[CVPR'24 Highlight & Best Demo Award] Gaussian Splatting SLAM - muskie82/MonoGS

github.com

전용 뷰어 있는 건 이건 거 같음

# Install GCC 12 in your conda environment
conda install -c conda-forge gxx_linux-64=12 gcc_linux-64=12

# Set the compiler paths
export CC=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-gcc
export CXX=$CONDA_PREFIX/bin/x86_64-conda-linux-gnu-g++

# Try again
pip install submodules/simple-knn --no-build-isolation

# Add the missing include to simple_knn.cu
sed -i '1i #include <cfloat>' submodules/simple-knn/simple_knn.cu

# Try building again
pip install submodules/simple-knn --no-build-isolation

GS Monitor

https://github.com/RongLiu-Leo/Gaussian-Splatting-Monitor

 

GitHub - RongLiu-Leo/Gaussian-Splatting-Monitor: Monitor Gaussian Splatting additional real-time viewable and differentiable out

Monitor Gaussian Splatting additional real-time viewable and differentiable outputs - RongLiu-Leo/Gaussian-Splatting-Monitor

github.com

얘도 있음

1가우시안당 1컬러로했을 때

conda activate 3dgs
export CC=/usr/bin/gcc-11
export CXX=/usr/bin/g++-11
export CUDAHOSTCXX=/usr/bin/g++-11
cd /home/*/ziwon/popular_repos/2d-gaussian-splatting/submodules/diff-surfel-rasterization
rm -rf build/  
python setup.py install
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.