본 논문을 읽고 요약한 내용이며 잘못 해석한 내용이 있을 수 있습니다. 설명에 오류가 있다면 댓글로 알려주시면 감사하겠습니다.
1. Motivation
Figure 1. The main idea of human-friendly topic assisted feature matching, TopicFM.
- 데이터 마이닝의 topic modeling 전략을 기반으로 이미지에 대한 high-level information을 인코딩한다. TopicFM은 topic에 대한 다항 분포로 이미지를 모델링한다. 여기서 topic은 객체 또는 구조적 형태와 같은 latent semantic instance를 의미한다.
- 이러한 방식은 semantic 정보를 기반으로 빠르게 covisible 영역을 탐색하고 그 안에서 matching point를 찾는 인간의 지각 시스템과 비슷하다. TopicFM은 이미지에서 같은 semantic area에 집중해 feature를 학습한다. (Figure 1에서 같은 색깔을 가진 영역, 즉 같은 semantic 영역에서만 대응되는 matching을 찾음.) 따라서 이미지의 전체 영역에서 transformer로 feature를 학습하는 기존의 방식에 비해 계산량이 적다.
- semantic instance와 같은 high-level context를 효과적으로 활용해 global context를 적절하게 통합하고 계산을 줄이면서 matching performance 성능도 좋은 모델을 제안하였다.
2. Methodology
Figure 2. Overview of the proposed architecture.
전체적인 구조는 Figure 2와 같다. pixel-level accuracy를 유지하면서 real-time에서 고해상도 이미지 매칭이 가능하도록 coarse-to-fine method로 설계하였다. 이미지 매칭은 크게 3가지 단계로 이루어진다. a) feature extraction, b) coarse-level matching, c) fine-level matching. coarse matching 단계에서는 topic-assisted matching module인 TopicFM을 사용하여 매칭 확률 분포를 추정한다. 이후 단계에서 고해상도 feature를 사용하여 더 fine한 수준으로 매칭을 개선한다.
Figure 3. Overview of the LoFTR.
Figure 3은 LoFTR [3]의 전체적인 구조를 나타낸다. TopicFM은 LoFTR의 구조를 baseline으로 하여 runtime과 accuracy를 개선하기 위해 b) coarse-level matching 방식을 수정하였다.
2.1. Topic-Assisted Feature Matching
2.1.1. Probabilistic Feature Matching
주어진 두 feature set {FcA, FcB}에 대해 가능한 모든 매칭 M={mij}의 매칭 분포를 추정하는 것이 목표이다.
P(M | FcA, FCB) = mijMP(mij|FcA, FcB) (1)
여기서 {mij}는 random variable로 Fc,iA의 i번째 feature와 Fc,jB의 j번째 feature가 매칭되는 사건을 의미한다. 기존의 방식들과 달리 TopicFM은 topic의 잠재 분포를 사용하여 매칭 분포를 추정한다.
Eq 1을 풀기 위해, 먼저 각 feature point에 대한 distribution을 추론하고 (Eq. 3), 각 매칭 후보에 대해 topic조건을 부여한 매칭 확률을 추정한다 (Eq. 4). 이때, 이 확률을 계산하기 위해 샘플링 전략이 사용된다 (Eq. 5 and Eq. 6). 마지막으로 확률 임계값을 사용하여 후보 중에서 coarse matches를 선택한다.
2.1.2. Topic Inference via Transformers
Figure 4. Topic Inference
먼저 이미지를 flatten한 후 각 feature point가 어떤 topic에 속하는지를 결정하기 위해 Topic Inference 단계를 거친다. 저자들은 구조적인 모양이나 semantic instance가 특정 데이터셋에서 K개의 topic으로 분류될 수 있다고 가정했다. 따라서 각 이미지는 K개의 주제에 대한 다항 분포로 모델링될 수 있다.
zi와 i는 각 feature에 대한 topic indicator와 topic distribution을 의미한다. 여기서 zi {1, ..., K}, i, k = p(zi=k | F)를 의미한다. topic k는 학습 가능한 임베딩 벡터 Tk로 표현되며 transformer를 사용하여 global representation으로부터 local topic representation Tk를 얻어 확률을 추정한다. 그림에서 Cross-Attention을 하기 전 topic embedding이 Tk, cross-attention을 거친 후의 임베딩 벡터가 Tk이다. local topic representation은 그림과 같이 Tk=CA( Tk,F) (2)를 통해 얻는다. 마지막으로 topic 확률 i, k 는 feature와 각 topic 사이의 거리로 정의한다.
i, k =< Tk, Fi>h=1K< Th ,Fi> (3)
2.1.3. Topic-Aware Feature Augmentation
Figure 5. Topic-aware Feature Augmentation
이 단계에서는 매칭된 후보에 대해 Eq. 1을 계산하여 매칭 확률을 추정한다. feature point pair에 대해 정의한 latent variable zij를 계산하기 위해 Eq. 4를 이용한다.
logP(M|FcA,FcB) = mijMlogP(mij|FcA,FcB) =mijMlogkZP(mij,zij=k|FcA,FcB) (4)
Eq.4 를 계산하기 위해 evidence lower bound(ELBO)를 이용해 Eq.5의 첫번째 식과 같이 근사할 수 있다. 이는 Monte-Carlo (MC) sampling을 적용해 Eq.5 와 같이 추정할 수 있다. 이 샘플링 방식은 가지고 있는 데이터를 이용해 기댓값을 알아내기 위한 방식으로 모든 K topic을 반복해 계산할 필요 없이 아래와 같은 식으로 바로 계산될 수 있어 효율적이다. ( S << K)
LELBO=mijMkZP(zij=k|Fc)logP(mij|zij,Fc) = mijM1ss=1SlogP(mij|zij(s),FcA,FcB) (5)
zij(s)~ P(zij|FcA,FcB) (6)
그러면 확률을 계산하기 위한 문제는 topic distribution P(zij|FcA,FcB)와 conditional matching distribution P(mij|zij(s),FcA,FcB)의 계산으로 축소된다. topic distribution은 k가 NaN이 아닐때는 FcA,FcB에 대한 i, k A, i, k B의 곱으로 구할 수 있고, NaN인 경우 1에서 k가 1부터 K일때까지 확률의 합을 빼서 구한다. (일련의 단계는 Figure 5의 sample 부분과 같다.)
두 이미지의 topic distribution을 비교하여 covisible topic을 결정한 후, 이 부분에 대해서 feature augmentation을 적용한다. 여기서 feature augmentation은 feature의 고유성을 확장하기 위한 단계로 transformer의 self-attention과 cross-attention을 사용하여 얻는다. 결과적으로 Eq. 6의 zij(s)은 SA, CA를 적용한 feature사이의 distance를 계산하고 이를 dual-softmax로 정규화함으로써 결정된다.
2.2. Efficient Model Design
Backbone으로는 ConvNext를 사용하였다. coarse matching step에서 TopicFM은 single block self/cross attention을 사용하였고, feature를 추출하기 위해 topic간의 정보를 공유하였다. 이러한 연산은 오직 covisible topic에만 적용되기 때문에 multi-block transformer를 사용한 다른 모델에 비해 연산이 효율적이다. 마지막으로 fine matching step에서 LoFTR은 self/cross attention을 모두 사용한 것과 다르게 cross-attention만 사용하여 연산량을 줄였다.
3. Dataset
LoFTR과 동일하게 MegaDepth로 train한다. 평가에는 HPatches, MegaDepth, ScanNet, Visual localization benchmark dataset을 사용하였다.
4. Result
Figure 6. Comparison between proposed model and SOTA Transformer-based methods on the MegaDepth dataset. The runtime and computational cost are measured at the image resolution of 1216 x 1216.
Table 1. Evaluation of relative pose estimation on MegaDepth and ScanNet.
Table 2. Evaluation of visual localization on Aachen Day-Night v1.1.
5. Conclusion and Limitation
성능을 높이는데만 집중했던 기존의 방식과 달리 성능을 높이면서 runtime을 줄이고자 시도하였다. 또한 topic modeling과 인간의 지각 시스템을 모방하여 semantic 정보를 활용하여 매칭될 수 있는 영역을 정한 후, 영역 내에서 매칭하는 방식으로 모델을 설계하였다. real-time semantic segmentation 혹은 real-time object detection의 모델을 활용해 본 논문처럼 매칭 가능 영역을 설정한 후 매칭하는 방식도 활용해 볼 수 있을 것이다.
Table 1과 Table 2를 보면 변화가 클 때 (각도가 클때) 다른 모델에 비해 성능이 떨어진다. TopicFM-fast의 경우 runtime이 56 ms로 측정되었다. 이는 CNN-based인 DGC-Net과 비슷한 결과이다 (55.59 ms). 그러나 하드웨어 친화적이지 않은 연산이 포함되어 있어 하드웨어별로 latency가 다르게 측정될 수 있다.
매칭 단계에서 standard self-attention과 cross-attention이 사용되었다. standard attention 연산의 경우 2차 복잡도를 지니기 때문에 attention 연산만 줄이더라도 runtime이 감소될 수 있다.