SIFT, Harris, SUSAN 등의 좋은 feature detection 방법들이 있지만 모두 실시간성이 뛰어나지는 않다. 본 논문은 머신러닝을 적용하여 실시간으로 동작할 정도의 빠른 feature detection 방법을 제안한다.
코너검출은 tracking, SLAM, localization, image matching 등 다양한 영역에서 사용된다. 하지만 현존하는 코너검출 기법들은 실시간 동영상 스트리밍에서 detection에 너무 많은 시간이 소요된다. 우리는 머신러닝 알고리즘을 사용해 속도를 크게 향상시켰다. 또한 좋은 detector는 같은 장면에서 동일한 feature를 검출해야 한다.
초기 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들 중 작은 값을 써야한다고 제안한다.
FAST에서는 코너후보픽셀(P) 주변에 16개 픽셀로 이루어진 원을그려 그 원위에 연속되는 12개(n=12)의 픽셀들의 밝기가 P보다 특정 threshold 이상 밝거나 어두우면 코너로 정의한다. 이 방법은 기존 윈도우 내 모든 픽셀들의 밝기를 계산해야 했던 방식보다 계산효율이 훨씬 간단하다. 또한 1,5,9,13번째 픽셀을 먼저 검사하여 코너여부를 early test하도록 하였다.(costfine method)
하지만 이 FAST 방식의 문제점이 몇개 있다.
코너여부를 확인해 코너이면 true 아니면 false로 boolean 값을 설정하고 각 픽셀별 엔트로피를 계산해 학습을 시켰다. 그리고 그 학습된 결과물을 decision tree로 만들어 코너여부 판단 속도를 크게 향상시켰다.
코너 주변에 여러개의 코너들로 검출되는 픽셀들 중 response function이 가장 큰 픽셀을 코너로 살리고 나머지는 없애는 방식.
결과가 빠르다는걸 보여주는 지표.
검출능력을 어떻게 검증했는지 소개.
속도만 보고 만든거긴 하지만 생각보다 더 좋은 결과를 얻었다.
하지만 노이즈가 많은 환경에서는 잘 작동안할 수 있다.
이 단점을 엄청나게 속도향상 시킨것으로 퉁치겠다.