[CVPR 2019] NM-Net: Mining Reliable Neighbors for Robust Feature Correspondences

Fig 1. paper

최근에 naver localization & map challenge에 참가해 visual localization 문제를 풀면서 feature correspondence에 관심이 생기던 중 NM-net을 보게되어 리뷰를 하게 되었습니다. 이 논문의 핵심 아이디어는 compatibility-specific mining 입니다. SIFT 같은 알고리즘으로 feature extraction 을 한 후, 기존에 corresponding points를 찾을 때 자주 사용하던 spatially kNN 알고리즘은 추출한 feature 들 중의 localization error, limited distinctiveness error 때문에 correspondence를 보장할 수 없다는 이유로 인해 본 논문에서는 어느 공간이든 compatibility의 특징을 지니고 specific한 neighbors, 즉 corresponding points를 찾는 network를 제안하게 됩니다.

이 논문의 contribution은 다음과 같습니다.

  • feature correspondences 측면에서 compatibility-specific 한 neighbors가 좀 더 reliable 하다는 것
  • hierarchically 하게 feature를 extract하고 aggregate 하면서 compatibility-specific 한 mining을 한 network인 NM-Net 제안
  • State-of-the-art

1. Compatibility-specific kNN

만약, 두 이미지 내에서 두 점이 corresponding points 라면 각 점에 대해 어떤 attack(변환)을 적용했을 때 유사해야 합니다. 변환을 적용하기 전 추출한 keypoint를 k_{i}, 변환 후 keypoint를 k_{i}^{'} 라고 한다면 이 변환에 대한 matirx H는 아래와 같습니다.

T_{i} 는 위와 같이 3×3 matrix로 구성이 되며 A_{i} 는 Hessian-affine detector에서 추출한 2×2 matrix 입니다. 즉, keypoint에 가한 변환은 Hessian-affine detector 에서 추출한 matrix로 회전을 하며 자기 자신의 좌표만큼 translation을 의미하게 됩니다. 이러한 변환 matrix를 keypoint pair에 대해서도 H_{j} 를 구하고 각각 두 keypoint에 적용한 뒤 reprojection error를 구하여 유사한 score를 구하게 됩니다.

c_{i}, c_{j} 는 각 k에서 brute-force 방식으로 initial 하게 매칭한 점을 의미하며 s(c_{i}, c_{j}) 는 compatibility-specific 방식을 이용해 구한 이 두 점의 유사도 score를 의미합니다. 이를 통해 top k를 고르는 mining이 진행됩니다.

Fig 2. Spatially kNN(SP kNN)과 Compatibility-specific kNN(CS kNN) 비교, 각 퍼센트는 initial correspondence의 비율을 의미

이와 같은 Compatibility-specific 방식을 기존 spatial 방식의 kNN과 비교했을 때 fig 2와 같이 initial correspondence에서 error가 아닌 inlier 들을 좀 더 잘 선택하는 것을 알 수 있습니다.

2. NM-Net

Fig 3. NM-Net architecture

NM-Net에서는 feature를 extract하고 aggregate 하는 세가지 단계로 구성됩니다. 먼저, SIFT로 추출한 feature를 brute-force 방식으로 매칭한 initial correspondence들을 graph로 매핑한 후 Compatibility-specific kNN 방식으로 grouping을 하게 됩니다. 이를 통해 가장 유사한 순서대로 정렬을 하는 효과를 얻을 수 있습니다.

두번째로 ResNet block을 이용해 각 group들에서 feature를 extract 하고 aggregate 하게 되는데 aggregate 과정에서는 이전 노드 group의 멤버들에 convolution 연산을 해 합한 것을 다음 노드로 모으게 됩니다. 직관적으로 Fig 3.(b)와 같습니다.

마지막으로 각 ResNet block에서 좀더 효율적인 pooling을 위해 Instance Normalization을 하여 feature map을 정규화 시켜주는 구조로 이루어져 있습니다.

이렇게 얻어진 output은 input인 initial correspondence와 size가 같이 나오며 각 correspondence 에 label과 output에 대해 cross-entropy loss를 구해 학습하게 됩니다.

3. Result

Fig 4. Evaluation result, 위에서부터 각각 NARROW, WIDE, COLMAP 데이터 셋, NM-Net-sp는 grouping을 spatially kNN으로 했을 때

제안된 방법이 여러 데이터 셋에서 여러 평가 방식에 대해 state-of-the-art라 불리울 수 있는 성능을 냈으며, 기존 자주 사용하던 RANSAC과 성능 차이를 꽤 많이 냈다는 점에 놀라게 되었습니다.

4. Reference

[1] https://arxiv.org/pdf/1904.00320.pdf

Author: 조 원

2 thoughts on “[CVPR 2019] NM-Net: Mining Reliable Neighbors for Robust Feature Correspondences

  1. 기존의 feature extraction로 추출한 특징을 그래프 알고리즘을 이용하여 특징을 점점 통합하는 과정인가요? 평가 지표는 검색기반 위치인식 성능으로 평가한 것인가요?

    1. 네 맞습니다 저자가 제안한 Compatibility-specific kNN 방식을 이용해 추출된 특징들을 그룹화하여 그래프의 노드로 만들고 이를 graph convolution network를 이용해 통합하게 됩니다. Precision과 Recall, F-measure는 visual SFM을 통해 두 영상의 correspondence를 구한 것을 GT로 각 point 마다 계산했고 MSE, MAE, Median, Max, Min은 두 corresponing point간의 추정된 Essential matrix와 gt Essential matrix 로 측정되었습니다.

답글 남기기

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