Machine learning for high-speed corner detection 논문리뷰

전종원·2022년 10월 6일
0

Abstract

SIFT, Harris, SUSAN 등의 좋은 feature detection 방법들이 있지만 모두 실시간성이 뛰어나지는 않다. 본 논문은 머신러닝을 적용하여 실시간으로 동작할 정도의 빠른 feature detection 방법을 제안한다.

1. Introduction

코너검출은 tracking, SLAM, localization, image matching 등 다양한 영역에서 사용된다. 하지만 현존하는 코너검출 기법들은 실시간 동영상 스트리밍에서 detection에 너무 많은 시간이 소요된다. 우리는 머신러닝 알고리즘을 사용해 속도를 크게 향상시켰다. 또한 좋은 detector는 같은 장면에서 동일한 feature를 검출해야 한다.

1.1 Previous work

초기 feature detection 알고리즘들은 corner response funcion(C)을 이용해 특정 threshold를 넘으면 코너로 검출하는 방식을 사용해왔다.
Moravec은 코너후보 픽셀들 주변 패치들의 sum-of-squared-differences(SSD)를 계산하고 이 패치들을 8방향으로 조금씩 이동시키는 방법을 사용했다. 여기서 C는 min(SSD)가 된다.
Harris는 Hessian matrix를 통한 eigen value들로 코너여부를 결정했다.

본 논문에서는 C(corner strength funcion) 값이 Hessian matrix의 eigen value들 중 작은 값을 써야한다고 제안한다.

2. High-speed corner detection

2.1 FAST:Features from Accelerated Segment Test

FAST에서는 코너후보픽셀(P) 주변에 16개 픽셀로 이루어진 원을그려 그 원위에 연속되는 12개(n=12)의 픽셀들의 밝기가 P보다 특정 threshold 이상 밝거나 어두우면 코너로 정의한다. 이 방법은 기존 윈도우 내 모든 픽셀들의 밝기를 계산해야 했던 방식보다 계산효율이 훨씬 간단하다. 또한 1,5,9,13번째 픽셀을 먼저 검사하여 코너여부를 early test하도록 하였다.(costfine method)

하지만 이 FAST 방식의 문제점이 몇개 있다.

  • n < 12 일때 1,5,9,13번째 픽셀만 검사하는 방식의 성능이 확 떨어짐.
  • costfine method에 1,5,9,13 이라는 숫자가 선정된 배경에 수학적 근거가 없음.
  • early test에 쓰인 픽셀 4개의 정보가 discard됌.(재사용x)
  • 하나ㅣ의 코너픽셀 주변에 여러개의 코너들이 검출될 수 있음.(non-maximal suppression이 없어서 발생하는 문제)

2.2 Machine learning a corner detector

코너여부를 확인해 코너이면 true 아니면 false로 boolean 값을 설정하고 각 픽셀별 엔트로피를 계산해 학습을 시켰다. 그리고 그 학습된 결과물을 decision tree로 만들어 코너여부 판단 속도를 크게 향상시켰다.

2.3 Non-maximal suppression


코너 주변에 여러개의 코너들로 검출되는 픽셀들 중 response function이 가장 큰 픽셀을 코너로 살리고 나머지는 없애는 방식.

2.4 Timing results

결과가 빠르다는걸 보여주는 지표.

3. A comparison of detector repeatability

검출능력을 어떻게 검증했는지 소개.

4. Results and Discussion

속도만 보고 만든거긴 하지만 생각보다 더 좋은 결과를 얻었다.
하지만 노이즈가 많은 환경에서는 잘 작동안할 수 있다.
이 단점을 엄청나게 속도향상 시킨것으로 퉁치겠다.

0개의 댓글