일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- sensorfusion
- rosnoetic
- 3dmapping
- alphablending
- opencv
- pointcloud
- 3dgaussiansplatting
- turtlebot3
- rospackages
- vectorfields
- vectorcalculus
- raspberrypi
- rostopics
- roslaunch
- turtlebot
- electromagnetism
- gaussiansplatting
- catkinworkspace
- usbcamera
- tilebasedrasterizer
- realtimerendering
- imageprocessing
- differentiablerendering
- Ros
- covariancematrix
- Slam
- NERF
- LIDAR
- ComputerVision
- adaptivedensitycontrol
- Today
- Total
Wiredwisdom
Gaussian-splatting test - basic setup 본문
# 기본 패키지
sudo apt update
sudo apt install -y libglew-dev libassimp-dev libboost-all-dev libgtk-3-dev libopencv-dev libglfw3-dev libavdevice-dev libavcodec-dev libeigen3-dev libxxf86vm-dev libembree-dev git build-essential cmake ffmpeg imagemagick libavcodec-dev libavformat-dev libavdevice-dev libboost-all-dev libembree-dev libeigen3-dev libgtk-3-dev libassimp-dev
# 추가 패키지
sudo apt install -y libatk-bridge2.0-dev libatk1.0-dev libatspi2.0-dev libblkid-dev libbrotli-dev libcairo2-dev libdatrie-dev libdbus-1-dev libepoxy-dev libfontconfig-dev libfontconfig1-dev libfreetype-dev libfreetype6-dev libfribidi-dev libgdk-pixbuf-2.0-dev libglib2.0-dev libglib2.0-dev-bin libgraphite2-dev libharfbuzz-dev libharfbuzz-gobject0 libice-dev libmount-dev libpango1.0-dev libpcre16-3 libpcre2-dev libpcre2-posix3 libpcre3-dev libpcre32-3 libpcrecpp0v5 libpixman-1-dev libselinux1-dev libsepol-dev libsm-dev libthai-dev libxcb-render0-dev libxcb-shm0-dev libxcomposite-dev libxcursor-dev libxdamage-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxkbcommon-dev libxtst-dev pango1.0-tools uuid-dev wayland-protocols
# CUDA 11.8
wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2204-11-8-local_11.8.0-520.61.05-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2204-11-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-11-8
# CUDA 환경변수
echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrc
echo 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrc
source ~/.bashrc
# Miniconda
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
source ~/.bashrc
# Base 환경 비활성화 (선택사항)
conda config --set auto_activate_base false
# 프로젝트 설치
git clone https://github.com/graphdeco-inria/gaussian-splatting --recursive
cd gaussian-splatting
conda env create --file environment.yml
conda activate gaussian_splatting
# 서브모듈 설치
cd submodules/simple-knn
pip install .
cd ../diff-gaussian-rasterization
pip install .
# SIBR 뷰어
cd ../../SIBR_viewers
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release
cmake --build build -j24 --target install
SIBR 설치 이슈
Issue 1. filesystem 헤더 문제
문제 : 컴파일 시 filesystem 헤더를 찾을 수 없다는 오류 발생
fatal error: filesystem: 그런 파일이나 디렉터리가 없습니다
#include <filesystem>
원인 : GCC 7.5.0 버전이 C++17의 filesystem 기능을 완전히 지원하지 않음. GCC 8.0 이상이 필요함.
해결책 :
# GCC 버전 확인
g++ --version
# libstdc++-11-dev 설치로 최신 C++ 표준 라이브러리 지원 추가
sudo apt-get install libstdc++-11-dev
Issue 2. CUDA 컴파일러 호환성 문제
문제 : CUDA 컴파일러가 C++11 표준 라이브러리와 호환되지 않음
/usr/include/c++/11/type_traits(1406): error: type name is not allowed
원인 : CUDA 컴파일러(nvcc)와 시스템에 설치된 GCC 11 버전의 C++ 표준 라이브러리 간 버전 불일치
해결책 : CUDA를 비활성화하고 빌드하는 방법 선택
cd ~/gaussian-splatting/SIBR_viewers
rm -rf build
cmake -Bbuild . -DCMAKE_BUILD_TYPE=Release -DUSE_CUDA=OFF -DBUILD_IBR_REMOTE=OFF
cmake --build build --target install
Issue 3. 최종 실행
뷰어 실행을 위한 명령어 :
./install/bin/SIBR_gaussianViewer_app -m /home/ryan/gaussian-splatting/output
'3D Vision > Gaussian Splatting' 카테고리의 다른 글
가우시안 스플래팅의 비등방성 학습 해결 방안 (0) | 2024.07.10 |
---|---|
3D Gaussian's Split conditions (0) | 2024.07.04 |
3D Gaussian-Covariance (0) | 2024.07.03 |
FAST DIFFERENTIABLE RASTERIZER FOR GAUSSIANS (0) | 2024.06.30 |
Convert 3D Gaussian to 2D splat Method (0) | 2024.06.22 |