feature matching은 연산량이 많다는 문제점들을 가져왔다. 본 논문에서는 ORB라는 BRIEF 기반 이진 descriptor를 사용하여 회전과 노이즈에 강인한 feature matching 기법을 제안한다. SIFT보다 빠르고 성능은 비슷하다.
SIFT 방식은 객체검출, 이미지스티칭, 맵핑 분야에서 많은 성공을 거뒀지만 연산량이 많아 실시간 시스템에 탑재되기 어렵다는 문제가 있었다. 이것의 대안으로 낮은 연산량의 SURF, GPU 사용 등이 제안되어 왔다. 본 논문에서는 SIFT보다 계산 효율은 훨씬 좋지만 matching performance는 비슷한 방식을 제안하고 이는 GPU 없는 환경에서도 가능하고 노이즈에 강하며 실시간 시스템에 적합하다.
우리는 FAST key point detector와 BRIEF descriptor를 사용한다. 이를 ORB(Oriented FAST and Rotated BRIEF) 라고 칭하기로 하였다.
key point를 찾는 기법중 하나이다. 스케일정보를 얻기 위해 이미지 피라미드가 쓰인다. 기존 FAST는 edge를 검출하고 이를 코너로 인식하는 경우가 있었는데 본 논문에서는 이를 Herris corner filter를 사용하여 edge를 제외시키도록 하였다. SIFT와 SURF는 키포인트의 방향성을 제공해주였지만 FAST는 제공해주지 않는다. 단, Rosin이라는 사람의 논문에서 centroid technique 기법을 빌려 코너의 방향성을 측정하도록 하였다.
이미지 패치에서 픽셀들 간의 binary tests를 사용하는 descriptor이다. in-plane rotation에 취약하다. 자세한 설명은 BRIEF 논문참고.
우리는 FAST-9 기법을 사용한다.(주변 9개의픽셀을 보는 기법) 또한 edge와 corner를 구분하기 위해 Harris corner 기법을 FAST에 적용한다. N개의 keypoint를 뽑기 위해 처음에는 threshold를 낮게 설정하고 Harris 기법에 따라 질좋은 N개의 keypoint를 뽑는다.
FAST는 멀티스케일을 지원하지 않는다. 따라서 이미지 피라미드를 만들고 피라미드별 FAST 기법을 수행한다.
FAST는 키포인트의 방향성을 제시하지 않는다. 이 방향성을 얻기 위해 Intensity Centroid 방식을 사용한다. Intensity Centroid는 이미지 패치에서 픽셀의 밝기값과 거리값을 곱하여 모멘텀을 구하고 구한 모멘텀을 이용하여 Centroid값을 구한다. 이 후 코너의 중심(O)로부터 centroid(C)까지의 벡터를 구하고 x 방향과 y방향의 모멘텀을 atan2를 씌워 방향성을 구한다.
이 장에서는 steered BRIEF가 왜 rotation에 취약한지 설명한 후 rBRIEF의 장점을 설명한다.
BRIEF는 bit string 기반 descriptor이다. binary intensity test를 통해 이미지 패치를 생성한다. 테스트 알고리즘은 다음과 같다.
BRIEF는 in-plane 각도가 몇도만 틀어져도 matching performance가 크게 떨어진다. Calonder(BRIEF논문 저자)는 회전각도에 따른 여러개의 패치를 생성해 놓는 방법 제안했다. 하지만 각도마다 패치를 계산하는 것이 많은 계산양을 요구한다.
따라서 더 효율적인 방법으로 BRIEF를 각도에 따라 회전시키는 방법을 연구했다.
결과적으로는 독자적인 Rotation 적용방법을 사용하여 matching performance를 유지하였다.
BRIEF와 Steered BRIEF는 모두 높은 초기에만 eigenvalue를 가진다. 이는 처음 10~15개의 요소만 중요한 정보를 가지고 그 이후의 feature들은 중요도가 떨어진다는 것을 의미한다.
이 절에서는 많은 Binary subset들중에 더 좋은 것을 고를 수 있는 방법을 소개한다.
처음에는 PCA 등의 차원축소기법들을 사용하여 256개의 새로운 feature들을 뽑는것을 연구했지만
이 방법은 추가적인 연산을 요구하므로 계산적 효율이 기존 steered BRIEF보다 좋지않았다. 두번째로 노가다를 통해 굉장히 많은 binary test들 중 괜찮은 test 패턴을 찾았다. 그리고 이 BRIEF test 패턴(rBRIEF)을 사용하여 만들어 진 것이 ORB 이다.
BRIEF, SURF, SIFT, rBRIEF의 매칭성능을 비교한 자료이다. rBRIEF일때 회전에 따른 매칭성능이 가장 안정적인 것을 확인할 수 있다.
ORB가 nearest-neighbor matching에서 SIFT/SURF보다 좋은 성능을 보인다.
Nearest-neighbor search에서 Locality Sensitive Hashing(LSH)이라는 기법을 이용한다. 포인트들은 몇몇의 해시테이블에 쌓이고 각각 다른 buckets으로 해싱된다. descriptor에 쿼리가 오면 bucket들이 호출되고 brute force matching 방식으로 각 요소들을 비교한다.
binary feature의 경우에는 hash function 자체가 signiture buts의 subset이 된다. 찾을때는 Hamming distance방식으로 찾는다.
rBRIEF에서는 multi-probe LSH를 사용한다.
FLANN을 이용하여 rBRIEF의 LSH와 SIFT의 kd-trees의 성능을 비교하였다.
rBRIEF의 640x480 사이즈 기준 프레임 한장 처리 속도가 2.12로 가장 빨랐다. PROSAC과 EPnP 등의 pose estimate와 잘 어울린다.