luigifreda/pyslam

pySLAM is a hybrid Python/C++ Visual SLAM pipeline supporting monocular, stereo, and RGB-D cameras. It provides a broad set of modern local and global feature extractors, multiple loop-closure strategies, a volumetric reconstruction module, integrated depth-prediction models, and semantic segmentation capabilities for enhanced scene understanding.

해결하는 문제

pySLAM은 Visual Simultaneous Localization And Mapping (SLAM)을 위한 모듈형 및 확장 가능한 프레임워크를 제공합니다. 다양한 로컬 및 글로벌 특징, 깊이 예측 모델, 의미론적 분할 도구를 단일 상호 운용 가능한 Python/C++ 환경에 통합함으로써, 다양한 VO/SLAM 기술을 프로토타이핑하고 실험하는 복잡성을 해결합니다.

작동 방식

이 프로젝트는 단안, 스테레오, RGBD 카메라를 지원하는 하이브리드 파이프라인을 구현합니다. Python(유연성)과 C++(성능) 모두에서 사용할 수 있는 모듈형 희소 SLAM 코어를 갖추고 있으며, 맵은 두 환경 간에 상호 운용이 가능합니다. 파이프라인은 다음을 통합합니다:

  • 특징 추적: 다양한 고전적 및 현대적 로컬 특징 및 매칭 기법.
  • 루프 클로징: 기술자 집계기(BoW, VLAD) 및 글로벌 기술자(NetVLAD, CosPlace 등)를 사용하는 방법.
  • 볼륨 재구성: 복셀 해싱을 사용한 TSDF 또는 점진적 Gaussian Splatting을 사용하여 깊이 및 컬러 이미지를 고밀도 재구성으로 변환하는 파이프라인.
  • AI 통합: 깊이 예측(예: DepthAnythingV2) 및 의미론적 분할(예: YOLO, Segformer)에 대한 내장 지원을 통해 장면 이해도 향상.
  • 3D 추론: DUSt3R 및 Mast3r와 같은 모델을 사용하여 여러 이미지에서 3D 장면을 재구성하는 피드포워드 파이프라인.

대상 사용자

시각적 주행 거리 측정(VO) 및 SLAM 파이프라인을 실험, 프로토타이핑 및 개발하기 위한 유연한 베이스라인 프레임워크가 필요한 연구원 및 개발자를 위해 설계되었습니다.

주요 특징

  • 하이브리드 구현: 희소 SLAM 코어에 대해 Python과 C++ 간의 원활한 전환 지원.
  • 광범위한 모델 지원: 최첨단 깊이 예측 및 의미론적 분할 모델 다수 통합.
  • 멀티 카메라 지원: 단안, 스테레오 및 RGBD 카메라 설정과 호환.
  • 고밀도 매핑: 고품질 3D 재구성을 위한 볼륨 통합 및 Gaussian Splatting 지원.
  • 폭넓은 데이터셋 호환성: KITTI, TUM, EuRoC를 포함한 10개 이상의 주요 데이터셋 유형에 대한 내장 지원.

관련

  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트
  • 프로젝트