- 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 핵심 리뷰
내용 요약
Perceptual Loss for Robust Unsupervised Homography Estimation 핵심 내용을 설명합니다.
1. 들어가며
이번 논문은 Deep Homography Estimation 방법론에 관한 논문입니다. H estimator와 feature extractor를 분리하는 방식을 설명합니다. Illumination change 등에 강인한 homography estimation dataset 제작 방식을 설명합니다.
2. 제안 방법
제안 방법을 살펴보겠습니다.
저자들의 제안 방식과 가장 유사한 방식은 Content Aware Deep Homography Estimation이 있습니다. Content Aware Deep Homography Estimation 방식과 가장 큰 차이점은 H estimator와 feature extractor를 분리했다는 점입니다. 저자들은 feature extractor network는 fixed pretrained network를 사용함으로써 이 두 가지 과정을 분리했습니다. 자세히 살펴보겠습니다.
2-1. Homography estimation networks
Homography estimation network (HEN)은 input으로 source image와 target image를 받아 4 corners offsets를 output으로 내는 네트워크로서 기존 방식과 동일합니다.
이렇게 나온 8개의 실수 값은 기존과 마찬가지로 DLT를 사용하여 3×3 homography matrix를 계산합니다.
2-2. Perceptual loss functions
이렇게 구한 H matrix를 사용하여 source image를 warp 한 이미지는 perceptual loss를 계산하는 데 사용됩니다. 먼저 loss를 구할 때 사용하는 feature는 각각의 image를 fixed pretrained network를 사용하여 구합니다.
2-2-1. Mask
이때 mask를 적용합니다. Zhang et al.,2020 방식과 다른 점은 trainable mask가 아니라는 점입니다. 제안하는 방법에서 mask는 모두 1 값을 가지며 warp 된 mask’은 원래 이미지에 해당하는 부분만 1 값을 갖기에, 이는 warp 된 후 원래의 이미지에 해당하는 부분에서만 loss가 계산되도록 하는 기능을 수행합니다.
2-2-2. Implicit homography estimation with MAE/MSE loss
이때 가장 쉽게 생각할 수 있는 loss 구성은 per pixel normalized distance in feature space를 측정하는 것입니다. 수식으로는 다음과 같습니다.
2-2-3. Implicit homography estimation loss (iHomE)
다른 방법으로는 triplet loss를 사용하는 것입니다. 수식으로는 다음과 같습니다.
이때 ap는 anchor feature와 positive feature 간의 거리를 의미하며 anchor는 target feature, positive는 warped source feature를 의미합니다. 반면 an은 anchor feature negative feature 간의 거리를 의미하며 anchor는 target feature, negative는 source feature를 의미합니다. 수식으로는 다음과 같습니다.
2-2-4. Bidirectional implicit homography estimation loss (bi-HomE)
추가적으로 HST와 HTS는 서로 inverse관계이므로, 이 둘의 곱이 identity matrix가 되도록 loss function을 구성하면 최종적으로 loss는 다음과 같습니다.
2-3. Dataset
다음으로 학습 데이터셋 구성 방법을 살펴보겠습니다.
2-3-1. Synthetic COCO (S-COCO)
Deep Homography Estimation에서 사용한 방식을 그대로 사용합니다.
2-3-2. Photometrically distorted synthetic COCO (PDS-COCO)
위와 같이 데이터셋을 구성했을 때 한 가지 문제점이 있습니다. 이는 하나의 이미지로 homography estimation을 학습하게 되기 때문에 illumination change 등에 민감하게 반응한다는 것입니다. 따라서 저자들은 brightness, contrast, saturation, hue 등을 augmentation 하여 학습 데이터셋을 제작합니다. 제작 과정 위의 내용과 동일하며 그림은 다음과 같습니다.
3. 실험 결과
다음은 이렇게 제안한 방법의 실험 결과를 살펴보겠습니다.
3-1. S-COCO and PDS-COCO result
위에서 제작한 데이터셋에 대한 실험 결과를 살펴보겠습니다.
저자들이 제안하는 loss를 추가하면 모든 모델들의 성능이 개선되는 모습을 볼 수 있습니다.
4. Ablations
다음은 ablations를 살펴보겠습니다.
4-1. Illumination and viewpoint robustness study
먼저 illumination과 viewpoint change에 얼마나 robust 한 지 모델별로 비교 결과를 살펴보겠습니다.
제안 방식이 가장 robust 한 모습을 볼 수 있습니다.
4-2. From perceptual loss to biHomE
Network, layer, activation, loss function에 따른 차이를 살펴보겠습니다.
먼저 VGG 보다 ResNet을 사용했을 때 성능도 오르고, converge도 잘하는 모습을 볼 수 있습니다. 다음으로 feature는 high level feature보다는 low level feature를 사용할 때 성능이 더 좋은 모습을 볼 수 있습니다. 다음으로 ReLU activation 이후의 feature를 사용했을 때 더 성능이 좋은 모습을 볼 수 있습니다. 위의 두 내용은 alignment를 위해 필요한 특징들인 edge와 corner들은 대부분 low level feature들의 activation 값에서 많이 나오기 때문일 것으로 추측할 수 있습니다. 다음으로 loss는 MSE < L1 < triplet loss < bidirectional triplet loss 순으로 성능이 좋은 모습을 볼 수 있습니다.
4-3. Margin ablation
다음은 triplet loss에서의 margin에 따른 성능을 살펴보겠습니다. Content Aware Deep Homography Estimation에서는 margin 1로 사용했습니다. 하지만 아래 그림과 같이 margin이 클수록 성능이 좋아지는 모습을 볼 수 있습니다.
따라서 실제로는 triplet loss를 다음과 같이 사용하는 게 좋습니다.
4-4. Channel information aggregation
다음은 channel information aggregation 방식에 따른 성능을 살펴보겠습니다. Content Aware Deep Homography Estimation 에서는 feature map channel이 1이었습니다. 반면 제안 방법에서는 channel 정보가 유지되기 때문에 이를 어떻게 사용해야 하는지의 문제가 남습니다.
저자들은 두 가지 방법을 실험합니다.
첫 번째는 channel agnostic way입니다. 이는 spatial location별로 triplet loss를 계산하는 방식입니다.
두 번째는 channel wise way입니다. 이는 channel별로 triplet loss를 계산하는 방식입니다.
3-3의 tab2 결과를 보면 channel agnostic way의 성능이 더 좋은 모습을 볼 수 있습니다. 이는 아마도 모든 채널별로 이미지를 같아지도록 만드는 것보다, 모든 채널 정보를 한 번에 보면서 맞추는 게 더 쉽기 때문으로 추측할 수 있습니다.
4-5. To freeze or not to freeze
다음은 feature extractor를 freeze 하는 방식과 train 하는 방식의 성능 비교를 살펴보겠습니다.
Freeze 하는 방식이 성능이 더 좋은 모습을 볼 수 있습니다.
4-6. BiHomE performance on out of distribution dataset
Feature를 imagenet pretrained network로 사용했는데, 이때의 문제점 중 하나는 OOD dataset에 대해 완전히 잘못된 판단을 내릴 수 있다는 것입니다. 이에 대한 영향을 살펴보기 위해 thermal image dataset인 FLIP dataset으로 학습한 방식과 비교해봅니다.
biHomE 방식은 imagenet pretrained network를 fix 한 방식이고 TripletLoss 방식은 trainable network를 사용했음에도 불구하고 biHomE 방식의 성능이 더 좋은 모습을 볼 수 있습니다.