Visual odometry is a popular approach for estimating the trajectory of a moving vehicle from video input. For this purpose, most of the previous methods have depended on the RANSAC method; however, the RAN-SAC method cannot deal with a large independently moving object that takes up over 50% of the image ar-ea. This paper describes a visual odometry algorithm that deals with the nearly degenerated situation caused by a false motion vector generated by independently moving objects, falsely matched points and wrong depth information that often arise in visual odometry for outdoor service robots. To filter out these motion vectors, the spatiotemporal filter uses the current and previous motion vector’s length and direction. Experi-mental results demonstrate that the proposed method effectively rejects the motion vectors generated from large independently moving objects, thus avoiding false matching result. The results verify that the proposed method can estimate poses accurately.
본 학위논문은 외부 환경의 영향에도 강인한 Visual odometry 기법에 대한 논문 이다. 스테레오 카메라를 이용한 visual odometry는 3차원 움직임 벡터를 구해서 로봇의 자세를 추정하게 된다. 스테레오 카메라를 이용해서 로봇의 자세를 추정할 때 화면에 보이는 로봇 이외의 움직이는 물체에 의한 방해 요인과 잘못된 매칭으로 인한 요인, 그리고 삼각법에 의한 삼차원 정보 추정 시 발생하는 오차로 인해 삼차원 움직임 벡터는 잘못 구해질 수 있다.
이 오차로 인해 로봇 자세 추정에 오차가 발생하게 되는데 이를 해결하기 위해서 본 논문에서는 현재와 이전의 움직임 벡터의 방향과 길이를 이용하여 카메라의 움직임을 나타내는 움직임 벡터를 구해주는 시공간적 3차원 벡터 filtering 기법을 제안했다.
매 프레임 스테레오 카메라에서 들어오는 이미지들에서 특징점을 뽑고 매칭을 통해서 특징 점 들의 쌍을 구해준다. 그리고 스테레오 카메라에서 구해진 각 점의 3차원 정보를 이용해서 3차원 움직임 벡터를 만들어준다. 그리고 이 움직임 벡터들의 방향과 길이정보를 이용해서 기술해준 뒤 각 움직임 벡터의 방향과 길이 값을 군집화 기법을 이용해서 군집화 한다. 각 군집 들을 이전 움직임 벡터의 방향과 길이와 비교하여 각 움직임 벡터를 평가해준다. 그리고 각 군집들을 주된 군집과의 유사도를 따져주어 움직임 벡터를 평가해준다. 각 움직임 벡터의 평가된 점수를 이용하여 각 움직임 벡터 중에 카메라의 움직임을 나타내는 움직임 벡터들을 구해준다. 현재 움직임 벡터들을 이 기법을 통해 visual odometry성능을 향상 시킬 수 있었다. 특히 기존의 기법들은 영상의 50%이상 차지하는 카메라와 독립적으로 움직이는 물체가 있을 경우 자세 추정이 부정확해지는 반면 제안된 기법은 외부의 움직이는 물체에 의한 움직임 벡터를 제거해주어 영상의 50%이상 차지하는 카메라와 독립적으로 움직이는 물체가 영상 에 있더라도 강인하고 정확하게 자세를 추정해 주었다.
이 기법은 스테레오 카메라에만 적용 될 뿐 아니라 3차원 정보를 측정해주는 TOF 카메라나 Structured light 카메라 같은 다른 센서에도 적용 가능하다. 그리고 이와 같은 depth 카메라에 적용 시켰을 때 더욱 높은 정확도를 얻을 것을 기대할 수 있다.
본 학위 논문에서는 모바일 로봇에만 이 기법을 적용했으나 이 기술은 실외환경에서 강인하게 6DOF 로봇 자세를 추정하는 기술이기에 모바일 로봇뿐만 아니라 무인항공기, 무인 잠수정, 보행 로봇에도 적용 가능하다.