금일 리뷰는 좀 다르게 진행하겠습니다.
해당 논문에서 풀고자 하는 문제
본 논문에서는 Visual Place Recognition에서 어려운 문제인 ‘Viewpoint invariance’ 문제를 해결하고자 합니다. 더욱 정확히 이야기하자면 같은 장소에서 찍힌 사진이지만 극심한 뷰포인트 차이를 갖는 이미지간의 검색 문제를 해결하고자 합니다. 이를 설명하기위해서 논문에서 이야기하는 티저이미지는 아래와 같습니다.
위에 그림과 같이 극심한 뷰포인트가 발생하였을 경우, 우리는 기존 CNN 방식의 feature를 추출한다면 feature는 이미지의 spatial position의 영향을 받기때문에 위에 티저와 같이 실제 잘못된 distance를 나타낼 수 있습니다. 그리고 저자는 이러한 문제를 ‘mid-layer features를 사용하는 Visual place recognition의 lack robustness 문제’ 라고 논문에서 정의합니다. 이를 해결하기 위해서는 alignment가 필수적으로 요구된다고 저자는 이야기합니다.
이러한 문제를 해결하기 위한 본 논문의 Contribution
- 논문에서 저자는 왜 mid-layer deep feature가 large viewpoint change에 대해서 robustness가 부족한지를 분석하고, 본인들이 제안하는 aligning CNN-based local feature가 효과적임을 나타내고 있습니다.
- 논문에서 저자는 adaptive dynamic time warping(DTW) 알고리즘을 제안하며, 이 알고리즘은 mid-layer feature를 분리함으로써 local feature의 얼라인을 align을 맞출 수 있다고 합니다.
- 5개 챌린지 데이터셋에 STA-VPR을 적용하여 성능향상을 가져왔으며, 몇몇 데이터셋에서는 SOTA를 달성했다고 합니다. 이를 통해서 severe appearance and viewpoint changes에 대해서 강인함을 보였다고 합니다.
Dynamic Time Warping(DTW) 란?
앞에서 DTW 알고리즘을 설명없이 언급하였습니다. 저자는 DTW 알고리즘에 대해서 ‘Related work’에서 DTW를 설명합니다. DTW 알고리즘은 두개의 time sequences 사이의 거리 측정을 위한 well-known 알고리즘이라고 합니다. 가장먼저 speech recognition 분야에서는 두 음성(speech sequences)에서 동일한 spoken phrase를 확률을 나타내는데 주로 사용됐다고 합니다. 그 이후 다른 분야에 널리 사용되며 time sequence analysis에서 classical distance metric이 됐다고 합니다. DTW는 shapeDTW와 같이 몇가지 업그레이드 버전을 가지고 있으며, 컴퓨터비전 분야에서 Chen et al이 left and right camera의 align 맞추기위해서 사용했다고 합니다. 자세한 내용은 아래 블로그에서도 설명하고 있어 함께 첨부하겠습니다.
https://hwa-a-nui.tistory.com/2
STA-VPR이란?
본 논문의 제목에도 포함되는 STA-VPR 이란, Spatio-temporal alignment for visual place recognition 을 의미합니다. 이는 저자가 제안하는 방법이며 우선 아래 전체 구성을 보시죠.
먼저 저자는 이미지에 대해서 CNN model을 통해서 mid-layer feature를 추출합니다. 여기서 백본으로는 DenseNet161을 사용하였다고 합니다. 이때 mid-layer feature는 ‘7x7x1488’ 이며 이를 7×10416으로 변경하여 7개의 local feature를 만들었다고 합니다. 여기서 local feature도 viewpoint에 robust 하지만, 이를 alignment없이 단순히 두 이미지 추출한 각각의 local feature의 distance를 계산하다면 inappropriate measurement를 나타낼 수 있습니다. 따라서 본 저자는 이러한 W개의 (예시에서는 7개) Local feature를 spatial sequence로 생각해 adaptive DTW 알고리즘을 적용하여 두 sequence의 align을 맞추는 방법을 제안합니다. 위에서 나타낸 그림과 같이 두 이미지에서 추출된 feature간의 distance matrix를 구하게 되는데, 이때 distance는 아래와 같이 계산합니다.
따라서 이와같이 계산된 distance matrix를 계산해 adaptive DTW 알고리즘을 사용하는 것의 최종 목표는 matrix에서 최적의 warping path를 찾는 것이며, 이때 전체 길이가 가장 최소가되는 path가 최적의 warping path가 된다고 합니다. 이를 통해 두 feature의 alignment를 맞출 수 있다고 저자는 이야기 합니다. 이때 DTW는 adptive하게 적용되는데 이에 대한 설명은 아래와 같습니다.
참고로 이때 가정은 horizontal dimension of space에 대해서만 고려한다는 점인데, 이는 mobile robot의 카메라의 높이는 고정된다는 사실을 기반하기 때문에 뷰포인트 변화는 horizontal direction이 가장 크게 차지한다는 가정이 있습니다. 드론과 같은 special case에서는 더 많은 split을 요구하는데 이는 굉장히 time consuming하다고도 저자는 논문에서 명시합니다. 근데 여기서 문제는 앞에서 local feature의 크기는 ‘7×10416’ 이였습니다. 이를 가지고 전부 계산하여 matrix를 만들기에는 너무 많은 시간과 하드웨어 자원 필요합니다. 따라서 저자는 Gaussian Random Projection(GRP)를 통해 차원을 512차원으로 감소시켰다고 합니다. 또한 Restricted alignment(RA)도 수행하여 계산량을 감소시켰는데, RA는 위에 그림처럼 warping path가 lower-left에서 upper-right로 지나지 않는다는 점에서 착안하여 불필요한 영역에 대해서 거리계산을 수행하지 않고 값을 무한으로 설정하는 방법이라고 합니다. 이에 대한 수식은 아래와 같습니다.
또한 저자는 ‘Temporal Alignment’도 수행하는데, 이또한 만찬가지로 DTW의 방법을 사용하되 본인들의 이전 논문에서 제안한 ‘local matching DTW(LM-DTW)’를 사용한다고 합니다. LM-DTW에 대해서 저자는 ‘improved DTW’라고 명명한다고 합니다.
해당 방법론은 위에 그림과 같이 Current place에서 얻은 ‘C’에 해당하는 image sequence와 데이터 베이스에 저장된 historical navigation의 ‘H’에 해당하는 image sequence 사이에 LM-DTW를 이용하여 C와 가장 매칭이 잘되는 최적의 image sequence를 찾아내는것이라고 합니다. 저자가 작성한 이전에서 그림에서 좀더 자세한 그림을 가져오면 아래오 같습니다. (장점으로 속도가 빠르다는 장점이 있다는데 이전 논문에서 다루고 있어 자세한 내용은 생략하겠습니다.)
정리하면 앞서 두 방식으로 Spatio, Temporal Alignment를 맞춰 Visual Place Recognition을 수행하는 것이 본 논문의 핵심입니다.
실험결과
본 논문에서는 ‘Ther Nordland Dataset’, ‘Gardens Point (GP) Dataset’, ‘The synth-Nord dataset’, ‘The UA dataset’, ‘The Berlin_A100 dataset’에 대해서 실험을 진행했다고 합니다.
결국 다 결과가 뛰어났으며, NetVLAD, SeqSLAM 등보다 좋은 결과를 나타냈습니다.
결론
컴퓨터비전에서 Place Recognition을 하게돼 읽었는데 Alignment 문제도 다루고 있어서 어떻게 하면 적용할 수 있을까 고민하면서 읽었습니다. 일단 공개된 코드를 기반으로 베이스라인을 만들고 추후 Detection에 적용해봐야겠습니다.
좋은 리뷰 감사합니다. Warping Path 라는 개념이 생소한데 신기하네요. 어찌됐든 카메라가 고정되어 높이에 대해 constraint가 걸려있다고 하더라도 stationary robot이 아닌이상 y축으로의 움직임이 어느정도는 있을텐데 말이죠. 과속방지턱을 넘어간다거나 비탈길을 지나간다거나 등등이요. 결국에는 꼭 드론이 아니더라도 평지라는 가정이 깔렸다고 보면되겠네요? 그게아니면 split을 많이 나누어야 할테니깐요.
네 그렇게보시면됩니다.