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은 시각 SLAM(Simultaneous Localization And Mapping)을 위한 모듈식 연구 프레임워크입니다. 다양한 VO/SLAM 기법을 프로토타이핑하고 실험하는 복잡성을 해결하기 위해, 단일 환경에서 다양한 국소 및 전역 특징, 깊이 예측 모델, 세분화 도구를 통합합니다. 단안, 스테레오, RGBD 카메라 모두 지원합니다.
작동 방식
이 프로젝트는 하이브리드 Python/C++ 아키텍처를 사용합니다. 모듈식 스파스 SLAM 코어는 두 언어로 구현되어 있으며, 사용자는 고성능(C++) 또는 고유연성(Python) 모드 중 선택할 수 있습니다. 파이프라인은 다음과 같은 기능을 포함합니다:
- 특징 추적: 전통적이고 현대적인 국소 특징 및 매칭기의 범위.
- 루프 클로징: BoW, VLAD 등의 기술자 집약 및 NetVLAD, CosPlace 등과 같은 글로벌 기술자를 사용하여 이전에 방문한 위치를 탐지.
- 체적 재구성: 깊이 이미지와 색상 이미지를 사용하여 TSDF와 볼록 해싱 또는 인크리멘탈 가우시안 스플래터링을 통해 밀도 높은 재구성을 수행.
- AI 통합: DepthAnythingV2 등의 깊이 예측 모델과 Segformer, YOLO 등의 세분화 모델을 내장하여 장면 이해를 지원.
- 3D 장면 추론: DUSt3R 및 Mast3r와 같은 모델을 사용하여 다수의 이미지에서 3D 장면을 재구성하는 피드포워드 파이프라인.
대상 사용자
시각 오도메트리(VO) 및 SLAM에 종사하는 연구자 및 개발자를 주요 타겟으로 합니다. 새로운 알고리즘을 프로토타이핑하거나, 다양한 특징 추출기 테스트, 또는 최신 AI 기반 깊이 및 세분화 모델 통합이 필요한 경우에 적합합니다.
주요 특징
- 하이브리드 구현: 성능과 유연성의 균형을 위해 상호 운용 가능한 Python 및 C++ 코어.
- 포괄적인 AI 지원: 깊이 예측 및 세분화 모델을 내장.
- 다중 카메라 지원: 단안, 스테레오, RGBD 설정 모두 지원.
- 밀도 높은 매핑: 고품질 3D 재구성을 위한 체적 통합 및 가우시안 스플래터링 지원.
- 풍부한 데이터셋 지원: KITTI, TUM, EuRoC 등 10개 이상의 주요 데이터셋과 내장 호환성.
- 그래프 최적화: g2o 및 GTSAM과의 통합을 통해 궤적 최적화 가능.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트