- Deep Homography Estimation에 관한 모든 것
- [16′ arxiv] Deep Homography Estimation : Deep Image Homography Estimation 핵심 리뷰
- [17′ ICCV] Hierarchical Homography Estimation : Homography Estimation from Image Pairs with Hierarchical Convolutional Networks 핵심 리뷰
- [18′ ACCV] Perspective Field Homography Estimation : Rethinking Planar Homography Estimation Using Perspective Fields 핵심 리뷰
- [18′ ICRA] Unsupervised Deep Homography: A Fast and Robust Homography Estimation Model 핵심 리뷰
- [19′ arxiv] Deep Mesh Flow: Content Adaptive Mesh Deformation for Robust Image Registration 핵심 리뷰
- [20′ ECCV] Content Aware Deep Homography Estimation : Content-Aware Unsupervised Deep Homography Estimation 핵심 리뷰
- [20′ CVPR] Dynamic Scene Deep Homography Estimation : Deep Homography Estimation for Dynamic Scenes 핵심 리뷰
- [21′ CVPR] Perceptual Loss for Robust Unsupervised Homography Estimation 핵심 리뷰
- [22′ arxiv] Depth Aware Deep Homography Estimation : Depth-Aware Multi-Grid Deep Homography Estimation with Contextual Correlation 핵심 리뷰
내용 요약
딥러닝 모델을 사용하여 학습 기반의 homography estimation을 수행한 거의 최초의 모델을 설명합니다.
1. 들어가며
이번 논문은 Deep Homography Estimation 방법론에 관한 논문입니다. 기존의 feature based 방식과 달리 딥러닝 모델을 사용하여 학습 기반의 homography estimation을 수행한 거의 최초의 모델을 설명합니다.
2. 제안 방법
제안 방법을 살펴보겠습니다.
2-1. 4 points homography parameterization
원래 homography estimation이란 transformation을 위한 3×3 H matrix를 찾는 것입니다. 수식으로는 다음과 같습니다.
하지만 이를 딥러닝 모델로 optimization 하여 구하는 건 어려운 문제입니다. 왜냐하면 rotation term과 translational term이 mixing 되어 표현되어 있기 때문에 밸런스를 잘 맞춰가며 global minimum을 찾아야 하기 때문입니다. 따라서 저자들은 이를 위한 alternate parameterization을 제안합니다. 그림의 각 코너에 대해 offset값을 사용하는 방식으로, 총 8개의 offset값에 대해 H matrix으로 변환하는 방법은 다양하지만 그중에서 저자들은 DLT (Normalized Direct Linear Transform) 방식을 사용합니다.
2-2. Data generation for homography estimation
이번에는 homography estimation을 위한 학습 데이터 제작 방법을 살펴보겠습니다. 이 당시에는 homography estimation을 학습하기 위한 label이 있는 데이터가 없었습니다. 그래서 저자들은 이를 제작합니다. 제작 방법은 다음과 같습니다.
먼저 이미지 I의 4개의 random position p에서 crop 하여 image patch를 만듭니다. 다음으로 Ip의 4개의 코너에서 각각 random perturb를 줘서 target image patch를 만듭니다. 이렇게 나온 perturbed 4 corners로부터 Hab는 구할 수 있고, 역행렬로 변환하여 Hba를 구할 수 있습니다. 이렇게 구한 Hba를 사용하여 target image patch를 구합니다. 그럼 image patch와 target patch와 이를 만들기 위한 H matrix를 label로 하는 학습 데이터를 제작할 수 있습니다.
학습 데이터를 이렇게 구성할 경우 원하는 모델을 위한 데이터셋 제작이 가능하다는 장점이 있습니다. 예를 들어 blur에 robust 한 모델을 만들고 싶다면 데이터에 blur augmentation을 추가해주면 됩니다.
2-3. ConvNet models
이번에는 homography estimation을 수행할 모델을 살펴보겠습니다.
Input으로는 source image patch와 target image patch를 gray scale로 변환한 뒤 concat 하여 받습니다. 전체 architecture는 VGGNet 스타일을 따르고 있습니다. 최종 output에 따라 두 가지 형태의 모델을 제안하고 있습니다.
첫 번째 모델은 regression network입니다. 최종 output으로 4 corners offset에 해당하는 8개의 실수 값을 내도록 구성한 모델입니다. 이는 L2 loss로 학습할 수 있습니다.
두 번째 모델은 classification network입니다. 4개의 코너마다 21개의 quantization bin을 설정하여 cross entropy loss로 학습합니다.
3. 실험 결과
다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.
3-1. MS COCO dataset result
위에서 설명한 방식으로 MS COCO dataset으로 만든 학습 데이터셋으로 실험한 결과를 살펴보겠습니다. 총 50만 pair의 학습 데이터를 제작했으며 128×128 이미지를 사용하고 perturbation range는 32픽셀을 사용했습니다. 테스트 데이터도 마찬가지로 MS COCO 데이터셋을 사용하여 제작했습니다. Metric은 corner position L2 distance mean으로 측정했습니다. 결과는 다음과 같습니다.
기존 feature based 방식인 ORB+RANSAC 보다 좋은 성능을 볼 수 있습니다. 실제로 homography estimation을 수행한 결과는 다음과 같습니다.