gazebo/SLAM

Mono SLAM ( Monocular Simultaneous Localization and Mapping )

정지홍 2025. 2. 25. 07:02

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 Extraction & Tracking  ( 특징점 추출 및 추적 )
      • 이미지에서 중요한 특징점을 검출하고, 연속된 프레임에서 추적
        • opticak Fkiw , ORB , FAST 등을 사용
    • 2. Pose Estimation ( 자기 위치 추정 )
      • 카메라의 현재 위치와 방향을 예측
        • PnP 알고리즘 , RANSAC을 이용한 특이값 제거
    • 3. Map Management (지도 구축 )
      • 카메라가 지나온 경로와 환경의 3D 지도 작성
        • keyframe selection , bundle adjustment 적용
    • 4. loop closure ( 루프 클로저 )
      • 이전에 방문한 위치를 다시 인식해서 오류를 보정
      • bag-of-words , DBoW2 , G2O 사용
    • 5. 최적화
      • 위치와 맵의 정합성을 높이기 위해서 graph optimization을 적용
      • Bundle Adjustment(BA) , Gauissian Theorem-based SLAM , Ceres Solver 사용

 

 

  • 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 방식을 사용

 

 

'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