Mono SLAM
- 단일 카메라( monocular camera )만 사용하여 실시간으로 로봇이나 장치의 위치를 추정하고 주변 환경 지도를 만드는 기술.
- SLAM의 한 종류로써, 라이다 or 스테레오 카메라 없이 저비용으로도 가능하다.
- 대표 알고리즘
- Mono Slam , ORB-Slam , LSD-Slam , DROID-Slam , PTAM등이 존재
- 핵심 개념 ( 크게 2가지 방법으로 나뉜다. )
- 1. Feature-based 방법
- 이미지에서 특징점을 검출하여 매칭하는 방식
- 특징점 기반 방식은 노이즈에. 강하며, 고속으로 동작하지만 특징점이 부족한 환경에서는 성능이 저하됨.
- 대표적 특징점 : SIFT , SURF , ORB , FAST , BRISK
- 2. Direct 방법
- 픽셀 단위의 강도를 직접 비교하며 움직임을 계산하는 방식.
- 특징
- 점 검출이 필요없고, 저조도 환경에서 더 나은 성능을 발휘한다. 하지만 계산량이 많아서 실시간성이 낮다.
- 1. Feature-based 방법
- 주요 구성 요소
- 1. Feature Extraction & Tracking ( 특징점 추출 및 추적 )
- 이미지에서 중요한 특징점을 검출하고, 연속된 프레임에서 추적
- opticak Fkiw , ORB , FAST 등을 사용
- 이미지에서 중요한 특징점을 검출하고, 연속된 프레임에서 추적
- 2. Pose Estimation ( 자기 위치 추정 )
- 카메라의 현재 위치와 방향을 예측
- PnP 알고리즘 , RANSAC을 이용한 특이값 제거
- 카메라의 현재 위치와 방향을 예측
- 3. Map Management (지도 구축 )
- 카메라가 지나온 경로와 환경의 3D 지도 작성
- keyframe selection , bundle adjustment 적용
- 카메라가 지나온 경로와 환경의 3D 지도 작성
- 4. loop closure ( 루프 클로저 )
- 이전에 방문한 위치를 다시 인식해서 오류를 보정
- bag-of-words , DBoW2 , G2O 사용
- 5. 최적화
- 위치와 맵의 정합성을 높이기 위해서 graph optimization을 적용
- Bundle Adjustment(BA) , Gauissian Theorem-based SLAM , Ceres Solver 사용
- 1. Feature Extraction & Tracking ( 특징점 추출 및 추적 )
- Mono Slam의 한계점
- 1. scale drift 문제 : 단일 카메라만 사용하면 실제 거리를 알수없어서 축적된 오차가 발생한다.
- 이를 해결하려면 IMU(Inertial Measurement Unit)와 결합 (VIO: Visual-Inertial Odometry). 그리고 loop closure를 사용
- 2. tracking failure 문제 : 빠르게 움직이거나 텍스처가 부족한 환경이면 특징점 추적이 어렵다.
- 이를 해결하기 위해서 direct slam 방식을 활용
- 3. 환경적 제약 : 밝기변화 , 동적환경, 반복적 패턴 등에서는 성능이 저하됨.
- 이를 해결하기 위해서 multi-view geometry를 사용하거나 feature+direct 방식을 사용
- 1. scale drift 문제 : 단일 카메라만 사용하면 실제 거리를 알수없어서 축적된 오차가 발생한다.
'gazebo > SLAM' 카테고리의 다른 글
| pySLAM (1) | 2025.12.06 |
|---|---|
| rtabmap으로 3d 지도 작성 (0) | 2025.06.27 |
| rtabmap ros 연습 (0) | 2025.06.20 |
| SLAM 종류 (0) | 2025.02.24 |
| SLAM ( Simultaneous Localization and Mapping ) 이란? (0) | 2025.02.24 |