- 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 핵심 리뷰
내용 요약
Deep Homorgaphy Estimation에 대해 설명합니다. 대표적인 Traditional Homography Estimation 방식인 Feature Matching 방식의 Homography Estimation 방법을 설명합니다. Deep Homography Estimation의 연구동향을 설명하고 대표적인 논문들을 소개합니다.
1. Homography estimation이란?
먼저 Deep Homography Estimation에 대해 알아보기 전에 Homography가 무엇인지 알아보겠습니다.
Homography란 위의 그림처럼 동일한 평면상에 위치한 이미지에 대해 다른 위치의 카메라의 관점으로 Mapping 하는 함수를 의미합니다. 위의 그림에서는 평면상에 존재하는 2D Image X를 첫 번째 카메라의 관점에서 본 이미지는 Xa이고 두 번째 카메라의 관점에서 본 이미지는 Xb입니다. 그리고 Xa와 Xb를 서로 적절한 Transform을 통해 Mapping 해주는 Function이 Homography입니다. 따라서 Homography란 2D Image의 Mapping Function이므로 아래 그림과 같이 2D Transformation들의 조합으로 표현할 수 있습니다.
그리고 Homography Estimation이란 Homography Matrix H를 구하는 방법을 말합니다. Homography Matrix H는 다음과 같이 표현됩니다.
2. Traditianal homography estimation
다음은 Deep Homography Estimation이 등장하기 전의 방법인 Traditional Homography Estimation에 대해 살펴보겠습니다. Traditional Homography Estimation에는 다양한 방법들이 존재하지만, 가장 대표적인 방법으로는 Feature Matching 방법을 들 수 있습니다. Feature Matching 방식의 Homography Estimation 방법은 세 단계로 나누어 생각해볼 수 있습니다.
첫 번째는 Local Invariant Feature를 찾는 단계입니다. 이를 위한 대표적인 방법은 SIFT(Scale-Invariant Feature Transform) 방법이 있습니다. 이는 딥러닝 방식과 달리 목적함수를 학습하는 과정에서 유용한 Feature를 찾는 것이 아닌, 미리 정해놓은 규칙에 따른 Feature를 찾아내는 방법입니다.
두 번째는 이렇게 찾은 각 이미지의 Feature들에 대한 Matching 작업입니다. 이미지 A와 이미지 B에서 각각 100개의 Feature를 찾았으면 이미지 A의 100개 Feature들이 각각 이미지 B의 어느 Feature와 Matching 되는지를 찾는 과정입니다.
세 번째는 이렇게 Matching이 되기에 가장 적합한 Homography Matrix를 구하는 작업입니다.
이러한 Feature Matching 방식은 일반적인 상황에서 준수한 성능을 보입니다. 하지만 몇 가지 제약조건을 갖고 있습니다.
첫 번째는 하나의 이미지에 대해 2D Transform 된 2개의 이미지에 대해 수행하는 것이 아닌 경우 정확도가 많이 떨어진다는 점입니다.. 이는 Feature 추출 방식의 한계 때문입니다. 미리 정해놓은 규칙 기반으로 Feature를 추출하기에 Illuminance Change 등 외부 변화에 대해 Feature를 추출하지 못하는 상황이 빈번하게 발생합니다.
두 번째는 Large View Point Change의 경우 정확도가 많이 떨어진다는 점입니다. 이는 Feature Matching 작업 시 Large View Point Change의 경우 성능이 많이 떨어지기 때문입니다. Homography Estimation을 활용하는 상황은 Image Stitching 등 서로 다르지만 공통부분이 존재하는 두 이미지의 Align을 맞추기 위한 경우가 많습니다.
위의 두 가지 제약조건으로 인해 많은 응용 상황에서 Feature Matching 방식의 Homography Estimation 방법은 적용하기 어렵습니다.
3. Deep homography estimation
다음은 Deep Homography Estimation을 살펴보겠습니다. 위에서 살펴본 Homography Estimation을 많은 데이터셋과 딥러닝 모델을 사용하여 학습을 통해 해결하는 방식이 Deep Homography Estimation입니다. 아래에서는 Deep Homography Estimation의 연구 방향과 논문들을 시간순으로 소개합니다.
3-1. 연구 방향
먼저 Deep Homography Estimation의 연구방향에 대해 살펴보겠습니다. 초창기 모델은 Traditional Homography Estimation 방법들을 딥러닝 방식으로 교체하는 방향에 초점을 맞췄습니다. 따라서 하나의 이미지에 대해 다른 2D Transform이 적용된 두 개의 이미지의 Homography Matrix를 추정하는 문제를 연구했습니다. 이 문제가 금방 정복됨에 따라 공통부분을 많이 포함하고 있는 다른 두 개의 이미지에 대해 최대한 Align을 맞추는 Homography Matrix를 찾는 문제로 연구 방향이 넘어갔습니다. 그리고 최근에는 Foreground에만 초점을 맞추는 방법, Parallax가 존재하는 이미지에 대한 Align 방법 등 점점 더 어려운 문제를 해결하는 방향으로 나아가고 있습니다.
3-2. 논문 소개
이번에는 Deep Homography Estimation의 논문들을 하나씩 간략하게 살펴보겠습니다.
3-2-1. [16′ arxiv] Deep Image Homography Estimation
먼저 살펴볼 논문은 16년도에 발표된 “Deep Image Homography Estimation”입니다.
이 논문은 Deep Homography Estimation을 최초로 시도한 논문입니다. 최초로 Supervised learning 방식으로 Homography Estimation을 학습하는 방법을 제안했습니다. 이 방법은 이후 Supervised Deep Homography Estimation의 표준으로 사용됩니다. Supervised Learning 방식임에도 자체 Transform을 통해 Homography Matrix를 Labeling 하므로 Labeling Cost가 들지 않는다는 장점이 있습니다.
3-2-2. [17′ ICCV] Homography Estimation from Image Pairs with Hierarchical Convolutional Networks
다음으로 살펴볼 논문은 17년도 ICCV에 발표된 “Homography Estimation from Image Pairs with Hierarchical Convolutional Networks”입니다.
이 논문은 Deep Image Homography Estimation의 철학을 그대로 이어받았습니다. 다만 Homography Matrix를 추정함에 있어서 한 번에 수행하는 것은 어려우니 동일한 방식으로 n번 연속 Homography Estimation을 추정함으로써 성능을 향상한 방법입니다.
3-2-3. [18′ ACCV] Rethinking Planar Homography Estimation Using Perspective Fields
다음으로 살펴볼 논문은 18년도 ACCV에 발표된 “Rethinking Planar Homography Estimation Using Perspective Fields”입니다.
이 논문도 Supervised Homography Estimation 모델을 제안합니다. 앞선 방법들과 다른 점은 앞선 방법들은 Image Pixel Value로부터 Homography Matrix를 추정했지만, 해당 논문은 Image Pixel Value로부터 우선 Perspective Field를 추정하고, 이에 맞는 Homography Matrix를 구하는 방법을 사용한다는 것입니다.
3-2-4. [18′ ICRA] Unsupervised Deep Homography: A Fast and Robust Homography Estimation Model
다음으로 살펴볼 논문은 18년도 ICRA에 발표된 “Unsupervised Deep Homography: A Fast and Robust Homography Estimation Model”입니다.
최초로 Unsupervised Deep Homography Estimation 방법을 제안한 논문입니다. Unsupervised Learning 방법을 사용하기에 동일한 이미지에 대한 Transformed Image Pair로 학습해야 한다는 제약조건이 없다는 장점이 있습니다.
3-2-5. [19′ arxiv] DeepMeshFlow: Content Adaptive Mesh Deformation for Robust Image Registration
다음으로 살펴볼 논문은 19년도 arxiv에 발표된 “DeepMeshFlow: Content Adaptive Mesh Deformation for Robust Image Registration”입니다.
Optical Flow를 사용한 Deep Homography Estimation 방식은 성능은 좋지만 계산량이 많다는 단점이 있습니다. 이 논문은 이러한 단점을 극복하기 위해 Mesh Flow를 사용합니다. 또한 Triplet Loss를 사용하여 Unsupervised Learning 방식의 Deep Homography Estimation 방법을 제안합니다.
3-2-6. [20′ ECCV] Content-Aware Unsupervised Deep Homography Estimation
다음으로 살펴볼 논문은 20년도 ECCV에 발표된 “Content-Aware Unsupervised Deep Homography Estimation”입니다.
Mask Generator Network를 사용하여 Unsupervised Learning 방식으로 Content Aware Network를 제작하는 방법을 제안합니다.
3-2-7. [20′ CVPR] Deep Homography Estimation for Dynamic Scenes
다음으로 살펴볼 논문은 20년도 CVPR에 발표된 “Deep Homography Estimation for Dynamic Scenes”입니다.
저자들은 Background에 Moving Object가 존재하는 Dynamic Scene에서의 Deep Homography Estimation 방법을 제안합니다. Dynamic Content를 인식하기 위해 Optical Flow를 활용하여 Masking Network를 구성합니다.
3-2-8. [21′ CVPR] Perceptual Loss for Robust Unsupervised Homography Estimation
다음으로 살펴볼 논문은 21년도 CVPR에 발표된 “Perceptual Loss for Robust Unsupervised Homography Estimation”입니다.
기존 Triplet Loss를 사용하는 방법의 단점을 개선하는 간단한 방법을 제안합니다.
3-2-9. [22′ arxiv] Depth-Aware Multi-Grid Deep Homography Estimation with Contextual Correlation
다음으로 살펴볼 논문은 22년도 arxiv에 발표된 “Depth-Aware Multi-Grid Deep Homography Estimation with Contextual Correlation”입니다.
Parallax가 있는 두 이미지에 대해 Homography Estimation을 수행하는 방법을 제안합니다.
4. 출처
- https://towardsdatascience.com/estimating-a-homography-matrix-522c70ec4b2c
- Computer Vision: Algorithms and Applications 2nd Edition Richard Szeliski
- https://docs.opencv.org/3.4/d7/dff/tutorial_feature_homography.html