[2021]MBA-VO: Motion Blur Aware Visual Odometry

이번 리뷰는 기본 연구에 관련된 주제를 가진 논문을 가져왔습니다.
해당 논문은 영상 블러 현상에 강인함을 가진 visual odometry에 대해 소개합니다.

Intro

Visual odoemtry는 상대적인 카메라의 움직임을 촬영된 영상으로 분석하는 기술 입니다. AR/VR/MR, robotics 등의 비전기반의 어플리케이션에 기초적인 부분을 사용됩니다. Geometry 기반의 방법론(e.g. ORB-SLAM)과 photometric 기반의 방법론(e.g. DSO)을 중심으로 많은 발전이 이뤄졌습니다. 최근에는 deep neural network의 발전으로 Deep learning 기반의 end-to-end와 embted 정보를 사용하는 Hybrid 방법론으로 발전되는 추세입니다. 하지만 이러한 방법론들은 취득한 영상 혹은 취득될 영상이 깨끗한 상태라고 가정한 상황에서 연구가 진행됩니다. SOTA를 달성한 방법론들을 실제 어플리케이션에 적용 시, 여러 문제들로 인해 실제 성능보다 낮은 결과가 나오게 됩니다. 이번 리뷰에서는 여러 원인 중 영상 블러에 대해 다뤄 보고자 합니다.

영상 블러의 원인에는 여러가지가 있습니다. 크게는
1. 피사체의 빠른 움직임으로 인한 물체의 블러 현상
2. 카메라의 빠른 움직임으로 발생하는 영상 블러 현상
위의 두 가지 상황으로 나눌 수가 있습니다. 위의 블러 현상을 막기 위해서 가장 간단한 방법은 순간적 변화에도 대응하는 촬영 속도를 보장하는 것입니다.
이런 촬영 속도에 직접적인 영향을 주는 것이 카메라의 exposure time~=shutter speed 입니다.

얌준의 사진강좌 :: 셔터속도(Shutter Speed)에 대하여 (Feat. 장노출, 패닝샷, 주밍샷, 틸팅샷)
출처 https://yamjoon.tistory.com/7

그럼 충분한 촬영 속도를 보장하기 위해서 항상 exposure time을 낮게 설정하는 것이 좋을까요? 꼭 그런건 아닙니다. 여기서 말하는 exposure는 이미지 센서의 노출을 의미하기 때문에 저조도인 상황에서 낮은 exposure time을 가질 경우, 충분한 context 정보를 가지지 못한 영상을 가지게 됩니다. 이러한 사유로 저조도인 상황에서는 이미지 센서에 충분한 빛의 값을 측정하기 위해서 exposure time이 길어지게 됨으로써, 블러된 영상이 쉽게 생성되는 문제를 가집니다.

해당 리뷰의 논문은 저조도 상황에서의 long exposure time으로 인한 블러를 고려한 visual odometry에 대해 설명합니다.

Method

해당 방법론은 이전 세미나에서 발표한 direct sparse odometry(DSO)를 기반으로 합니다. 세개의 메인 파트를 구성됩니다. 각 파트는 아래와 같습니다.

  • Motion blur aware visual tracker : 제안하는 파트
  • keyframe deblurring network : keyframe에 적용. ~ SRNDeblurNet, DeblurGANv2
  • local mapper : 기존 DSO 방법론 적용

해당 리뷰에서는 Motion blur aware visual tracker를 중점으로 다루도록 하겠습니다.


저자는 blur된 이미지를 이분화로 정의하는 것으로 문제를 풀어갑니다.

B(x):blured img, I:정상 영상, n:이분화를 위한 범위

그리고 long expousre time로 발생하는 blur 현상을 해결하기위해 img로부터 추론될 transformation matrix T를 exposure time의 시작과 끝으로 구분한 다음, linear interplolation으로 T_t를 정의합니다.

-t:추정할 시간, tau:exposure time

++ 물론 복잡한 상황에서라면 선형식이 아닌 보다 높은 차원의 수식으로 예측하는 것이 타당합니다, 하지만 실험적인 결과로 도출했을 때, 선형적으로 보는 것만으로도 충분하다는 결론이 나와 선형적으로 interpolation 했다고 합니다.

기반이 되는 DSO에서는 transfomation matrix를 추정하기 위해서 아래와 같은 수식을 사용합니다.

기존 DSO의 transfomation matrix 추론 방법
예측 x 추론 수식. Phi:backprojection function, d:depth

기존 방식들은 수식 3,4 번을 이용해 키프레임 영상을 기반으로 현재의 영상의 패치로부터 위치를 변형하며, transfomation matrix를 argmin하는 방식을 취합니다.

해당 방법론에서는 블러 영상를 exposure time 관점에서 해결하기 위해

수식 6의 방법을 토대로 기존 방법로과는 다르게 deblured network를 통해 블러가 제거된 혹은 블러가 없는 reference 영상을 기반으로 현재의 영상을 추정하는 방식을 가집니다.

가상의 프레임 Ii에 대응하는 Ti를 추론하는 수식.
-가상의 프레임을 실제 reference frame에 대응하는 수식. qw,qx,qy,qz:quatenion represntation

수식 9-15는 interploation된 exposure time을 고려한 x 추정 방법입니다. 수식 7은 수식 6과 수식 5를 기반으로 transformation matrix T_{strat,end}를 추정하는 수식입니다. 위의 방법을 통해 상대적으로 blur한 현재 프레임에 비해 sharp한 영상을 다시 현재 프레임의 expoure time에 맞춰 reblur함으로써 blur한 영상에 대응하도록 photometric한 추정이 가능하도록 합니다.

Experiment

ATE : Absolute Trajectory Error, FD:Frame Drop rate

++ ArchViz는 해당 논문에서 제안한 블러된 영상으로부터 강인한 카메라 pose 알고리즘을 위한 데이터 셋입니다.

Table 1,3을 보면 흥미로운 결과가 보입니다. Geometry 기반의 대표적인 ORB-SALM과 제안한 방법론을 결과를 비교해 보면, sharp한 영상 기반으로는 보다 높은 성능을 보여줍니다. 여기서 흥미로운 점은 deblur, 즉 blur한 영상을 deblur network를 통해 가공한 영상을 토대로 추론한 값 입니다. 제안한 모델보다 더 좋은 성능을 보여주면 재밌게도 sharp한 영상보다 더 좋은 성능을 선보일 때도 있습니다. 하지만 FD의 비율이 높아졌다는 이야기는 ORB-SLAM에서 feature extraction에 실패한 영상이 많아졌다는 이야기로 deblur network로 생성된 영상들이 서로의 연관성을 feature 기반에서는 잘찾지못한다는 이야기입니다. 그래도 제안한 모델보다는 deblur network + ORB-SLAM의 성능이 더 뛰어나며, 제안한 모델도 keyframe을 찾기 위해서 deblur network를 사용하기 때문에 아이러니한 결과이기도 합니다.

Table 4의 실험은 TUM RGB-D 데이터 셋중 blur가 적용된 set에서 측정된 결과값입니다. 해당 실험도 아이러니한게 ORBSLAM과 DSO에서는 deblur network를 적용하지 않고 측정했기 때문에, blur의 강인성을 검증하기에는 애매한 실험 결과 이기는 합니다. 또한 성능 또한 ORBSLAM에 비해 떨어지는 경우도 있기에, 해당 방법론은 단순히 blur를 exposure time 측면에서 풀어본 논문으로 해석하는 것이 좋아보입니다.

Author: 김 태주

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다