실행 환경
CPU: AMD Ryzen 9800X3D
RAM: 48GB
OS: (WSL) Ubuntu-22.04
GPU: NVIDIA RTX 5080 16G
CUDA Toolkit: CUDA 12.9
LingBot-Map 환경구축
0. Download Source
git clone https://github.com/Robbyant/lingbot-map.git
1. Conda 환경 생성
conda create -n lingbot-map python= 3.10 -y
conda activate lingbot-map
2. PyTorch 설치
PyTorch 2.8.0 버전을 권장. (배치 렌더링 파이프라인에 필요한 NVIDIA Kaolin의 빌드된 휠 파일이 해당 버전에 포함되어 있기 때문)
설치 환경(RTX 5080)에 권장되는 CUDA 버전에 따라 설치함. (CUDA 12.9, PyTorch 설치 참고 )
pip install torch== 2.8.0 torchvision== 0.23.0 torchaudio== 2.8.0 \
--index-url https://download.pytorch.org/whl/cu129
3. Lingbot-Map 설치
pip install -e .
4. FlashInfer 설치 (권장)
FlashInfer는 효율적인 Streaming Inference 환경을 제공함.
FlashInfer이 설치되지 않으면 --use_sdpa 옵션을 통해 모델은 PyTorch 네이티브 어텐션으로 대체 가능함.
FlashInfer는 실행 시 CUDA kernel을 JIT compile하는 과정에서 nvcc를 호출한다 → 로컬 CUDA 버전 을 따름.
pip install flashinfer-python
5. 시각화 종속 패키지 설치 (옵션)
pip install -e ".[vis]"
6. Sky Masking (옵션)
skyseg.onnx를 이용한 하늘 영역 분할 및 필터링 기능을 사용하기 위해 onnxruntime 라이브러리 설치
# Install onnxruntime (required)
pip install onnxruntime # CPU
# or
pip install onnxruntime-gpu # GPU (faster for large image sets)
LingBot-Map 모델 다운로드
본 테스트에서는 lingbot-map.pt 모델을 사용함.
LingBot-Map 데모 실행
Interactive Demo
demo.py 를 실행하여 viser 을 이용한 브라우저에서 상호작용 가능한 3D 시각도구 를 실행 할 수 있다 (기본 주소는 http://localhost:8080).
# courthouse scene
python demo.py --model_path /path/to/lingbot-map.pt \
--image_folder example/courthouse --mask_sky
# FlashInfer 미설치 시 '--use_sdpa' 사용
python demo.py --model_path /path/to/lingbot-map.pt \
--image_folder example/courthouse --mask_sky --use_sdpa
# University scene
python demo.py --model_path /path/to/lingbot-map.pt \
--image_folder example/university --mask_sky
# Loop scene (loop closure trajectory)
python demo.py --model_path /path/to/lingbot-map.pt \
--image_folder example/loop
(Sky Masking) Sky Masking 옵션은 ONNX Sky Segmentation 모델을 사용하여 추론된 포인트 클라우드에서 하늘 영역에 해당하는 포인트 클라우드를 필터링함으로써 야외 장면의 시각화 품질을 향상시킨다. 데모 실행 코드에서 --mask_sky 옵션으로 모델 자동 다운로드 및 적용.
http://localhost:8080 접속 및 테스트
Offline Demo
추가 라이브러리 설치
# open3d, pyyaml 등 설치
pip install -e ".[vis,render]"
# Kaolin 설치 (torch-cuda 버전에 맞게)
pip install --index-url https://pypi.org/simple \
kaolin -f https://nvidia-kaolin.s3.us-east-2.amazonaws.com/torch-2.8.0_cu129.html
CUDA extensions 설치
첫 실행 전 설치가 요구됨. rgbd_render에서 gpu voxelization 및 frustum culling 을 위해 사용됨.
cd demo_render/render_cuda_ext && python setup.py build_ext --inplace && cd ../..
장면 비디오 다운로드
Worked Example — outdoor drive scene
python demo_render/batch_demo.py \
--video_path /data/demo_videos/drive_frames.mp4 \
--output_folder /data/outputs/drive/ \
--model_path /path/to/lingbot-map.pt \
--config demo_render/config/outdoor_drive.yaml \
--mode windowed --window_size 128 \
--max_non_keyframe_gap 100 --overlap_keyframes 8 \
--image_stride 1 \
--sky_mask_dir /data/outputs/sky_masks \
--sky_mask_visualization_dir /data/outputs/sky_mask_viz \
--camera_vis default --keyframes_only_points \
--frame_tag --frame_tag_position top_right \
--save_predictions
데모 영상