본문 바로가기
논문/3d_reconstruct

FeatureBooster: Boosting Feature Descriptors with a Lightweight NeuralNetwork 논문

by dohunNewte 2024. 5. 13.
반응형

Abstract

저자들은 같은 이미지 내에서 keypoints들의 묘사를 개선시키기 위해서 lightweight network를 소개합니다.

이 network는 input으로 원래의 descriptor와 key points들의 기하학적인 특성을 가지고 MLP 기반인 self-boosting stage와 Transformer기반인 cross-boosting stage를 이 descriptors를 향상시키기 위해 사용합니다.

boosted된 descriptor는 real-valued 또는 binary ones가 가능합니다.

저자들은 boost를 위해 발표된 네트워크인 hand-crafted(ORB, SIFT) 와 learning-based descriptors에서 sota를 찍은 모델(SuperPoint, LIKE)을 사용합니다. 그리고 이것들을 image matching, visual localization, structure-from-motion에서 평가합니다.

그 결과는 저자들의 방법이 각각의 task에서 상당한 결과의 개선이 있었습니다.


introduction

초기에는 주로 hand-crafted방식을 선호했는데 최근에는 learning-based descriptors가 더 강력하다는것이 입증되었고 특히 시점과 조명의 큰 변화와 같은 도전적인 경우에 더욱 유용합니다.
간단한 binary descriptor인 ORB는 SLAM시스템에 사용하고 structure-from-motion에서는 SIFT를 사용합니다.

이 연구에서는 기존의 descriptor를 개선하기 위해 경량 네트워크를 제안합니다.

각 descriptor는 먼저 MLP에 의해 처리되고 다른 mlp에 의해 인코딩된 기하학적 속성과 합산됩니다. 새로운 기하학적으로 인코딩된 descriptor는 Transformer에 의해 집계되어 고 수준의 visual context와 그 키포인트들의 공간적 배치를 인식하는 강력한 descriptor를 생성합니다. 이 향상된 descriptor는 유클리드/해밍 거리를 사용하여 매칭될 수 있습니다.

 

이 연구의 핵심 아이디어는 Transformer를 사용하여 모든 키포인트의 시각적 기하학적 정보를 개별 디스크립터에 통합하는것입니다.

 

Related work

●Feature descriptors

오래전부터 descriptors는 hand-crafted방식인 SIFT, ORB를 주로 사용했습니다.

hand-crafted descriptors는 local patch로부터 추출되기때문에 high-level에서 표현능력에는 한계가 있습니다.

 

대부분의 learning-based descriptors는 L2-Net이라는 네트워크 아키텍쳐를 소개하며 triplet loss, N-Pair loss, list-wise ranking loss라는 서로다른 loss들과 훈련됩니다.

learning-based descriptors는 local patches를 넘는 영향력을 행사할 수 있고 convolution neural network를 사용함으로써 전체 이미지로부터 추출할  수 있습니다.

 

●Improve existing feature descriptors

RootSIFT는 정규화된 SIFT descriptor의 각 요소의 제곱근을 취하는 것만으로도 matching 성능을 개선할 수 있음을 보았습니다. 이것으로 descriptor의 차원을 축사하여 PCA-SIFT, LDAHash가 나왔습니다. 최근의 연구에서는 다양한 유형의 descriptors를 공통 공간으로 매핑하여 서로 다른 유형의 descriptors를 매칭할 수 있도록 하는 네트워크를 훈련시켰습니다.
저자들은 이러한 연구 방향과 핵심 아이디어를 공유하지만 가벼운 신경망을 이용하여 기존 descriptor와 비교해 향상 시키는것을 목표로 했습니다.

 

Overview

저자들은 Fig2처럼 기존의 keypoint detectors로부터 추출된 이미지의 일련의 keypoints들에서 특징 벡터 또는 descriptors를 강화하기 위해 경량 네트워크를 제안합니다.

이 네트워크는 특징 descriptors뿐만아니라 특징의 위치, 방향, 규모와 같은 기하학적 정보를 입력으로 받아 원래의 것보다 훨씬 강력한 새로운 descriptors를 출력합니다.

새로운 descriptors는 원래의 것과 다른 real-valued(실수) 와 binary vectors(이진 벡터)일 수 있습니다.

저자들의 feature booster는 키포인트가 추출된 이미지를 처리할 필요가 없어 모델을 가볍고 효율적으로 만들며, 기존의 구조에서 운동(SfM)이나 SLAM 시스템에 더 쉽게 통합될 수 있습니다.

 

self-boosting은 lightweight인 MLP네트워크를 새로운 공간에 원래의 feature vector를 투영하기위해서 사용했습니다.

self-boosting인 2D location, detection score, orientation/scale과 같은 기하학적 정보를 고차원 백터에 descriptor를 향상시키기 위해 인코딩합니다.

후에 cross-boosting은 다른 feature의 descriptors과 lightweight Transformer를 사용하면서 각각을의 descriptors를 향상시킨 모든 feature의 공간적인 레이아웃을 포함한 global context를 탐구합니다.

이 nentwork는 end-to-end형식입니다.

 

Self-boosting

각각의 keypoint i 는 이미지에서 감지됩니다. 저자들은 시각적인 descriptor인 di를 관측할 수 있었으며  D 차원의 real-valued와 binary vector도 관측할 수 있었습니다.

feature descriptors는 이미지들 사이의 유사성을 측정하기 위해 사용됩니다.

 

강력한 descriptor는 올바른 matching 결과를 만들기 위해 viewpoint와 조명변화에 견고해야합니다.

hand-crafted 방법으로는 ORB, SURF, SIFT가 있고 

조금더 진보된 learning-based 방식으로는 Super Point가 있습니다. 그러나 이러한 방법들은 여전히 문제점은 존재합니다.

 

hand-crafted 방법의 첫번째 문제는 descriptor 공간의 유사성 metric은 feature matching을 위해 최적이지 못합니다.

SIFT의 유사성을 측정할때 Euclidean 거리대신에 hellinger 거리를 사용하는데 이때 더좋은 matching 결과가 있었습니다.

 

유사성 지표를 바꾸는것은 원래의 descriptors를 다른 공간으로 투영하는것과 동등합니다. 

이러한 동기부여는 원래의 descriptor를 새로운것으로 맵핑하기위해 MLP를 사용합니다.

 

MLP는 보편적인 함수 근사자로 사용 될 수 있어서 MLP를 사용했습니다.

keypoint i를 위한 변형된 descriptor di(tr)는 추출된 descriptor di를 비선형 투영을 해줍니다.

기존 MLP에 기하학적은 정보를 추가해주기 위해 MLP geo를 사용합니다.

 

Cross-boosting

self-boosting은 다른 keypoint들 사이에 가능한 상관관계의 고려없이 각각의 keypoint의 descriptor를 독립적으로 향상시킵니다.

self-boosting은 다른 keypoints들 사이에 상관관계나 공간적인 관계를 추출하는것이 아니므로 local context(단일 key point만의 정보만을 활용)에서 한계가 있고 반복되는 패턴이나 weakly textured scenes환경에서 한계가 있습니다. 이러한 문제를 해결하기위해 cross-boosting stage가 필요합니다.

 

SuperGlue에 동기부여를 받아서 저자들은 Transformer를 같은 이미지로부터 추출된 local features의 공간적인 contexual을 잡기위해서 사용합니다.

저자들은 확장성 scalability(확장성)문제를 해결하기위해 Attention-Free Transformer을 사용하여 Vanilla Transformer에서 MHA(multi-head-attention) 연산을 대체할 것을 제안합니다.

AFT(Attention-Free Transformer)는 MHA와 달리 dot product attention을 사용하지않고 attention처럼  Q, K, V의 계산 순서를 재배열하지만, 행렬 곱셈을 사용하는 대신 K와 V를 요소별로 곱합니다(계산과 메모리 사용을 크게 줄여줍니다).

이렇게 하면서 AFT는 전통적인 Transformer 모델에서 발생하는 확장성 문제를 해결하면서, 데이터의 글로벌 상호작용을 유지할 수 있습니다.

 

키포인트 i에 대한 Attention-Free Transformer는 다음과 같이 정의될 수 있습니다.

시그모이드 함수와 소프트맥스 함수를 사용하여 Q와 K 간의 유사도를 계산하고, 이를 기반으로 attention을 요소별 곱셈을 통해 계산합니다. 이는 기존의 복잡한 행렬 곱셈 대신 더 간단하고 효율적인 방식을 제공하여, 큰 컨텍스트와 특징 차원을 가진 데이터에 대해 더 쉽게 확장할 수 있게 합니다.

 

Loss Functions

 

AP 손실함수를 사용하고 descriptor의 성능이 향상될 수 있도록 하기위해 BOOST 손실함수를 사용했습니다.

최종 LOSS는 이 두 손실함수를 더해주었습니다.

 

성능비교한 표입니다. 저자들의 feature Boost 방법이 모든 특징에 대한 성능을 향상시킨다는 점을 보여줍니다.

표1은 실외(Aachen Day-Night V1,1)및 실내장면(InLoc) 에서의 시각적 위치 인식 결과입니다.

ORB-Bboost-B가 ALIKE를 능가하며 실내장면에서는 SuperPoint와 경쟁할 수 있습니다. 빨간 선은 잘못된 매칭결과를 나타냅니다.

728x90

댓글