2. Visual Correspondence(2)
Dense Correspondence
모든 점들을 활용해 Pixel간의 매칭을 수행하는 것
ex. Flow예측
즉, 모든 점들을 활용해야 하기 때문에 Sparse Correspondence처럼 특별한 Feature Detection과정이 필요없다.
따라서 다음으로 구성할 수 있다.
- Feature Descriptor
- Regularization
- 모든 점들을 사용하는 만큼 Regularization방법이 중요해진다. 하지만 Noise가 많아지기 때문에 Regularization방법이 중요해진다.
- Regularization
(before: Sparse Correspondence: 특정 점들을 사용해 이미지간의 매칭을 수행하는 것)
예를들어 이미지1과 이미지2가 있다고 하자
이 때 Dense Correspondence는 이미지1과 이미지2의 Pixel Level Correspondence를 다음과 같은 Energe Function을 사용하여 풀 수 있다.
1. Stereo Matching
2개의 카메라를 사용하여 3D Depth Map을 추측하는 알고리즘
1) Epipolar Geometry
한 물체를 두 카메라로 관찰할 때, 이미지 위의 점 $x, x’$에서 보인다고 하자.
- Epipolar Line
- 양 카메라의 원점을 이은 점과 이미지가 겹치는 부분을 $e, e’$라고 할 때, $\overline{PE}, \overline{O’E’}$에 해당한다.
- Epipolar Plane
- 검정색으로 색칠된 평면
Rectification
2) Stereo Matching
Stereo Matching이란, 이제 Rectification이 완료된 두 이미지에서 1D Search를 하는 과정이라고 정의할 수 있다.
※ Disparity: 1D Search시에 대응되는 두 점 사이의 거리
가장 기본적인 구조는 위와 같다.
즉, Window를 만들어 움직이면서 Similarity를 측정하고 이를 Maximize하는 점을 찾으면 된다.
그렇다면 이 Similarity를 어떻게 측정할 수 있을까?
이 방법에 따라 Stereo Matching의 종류가 나뉜다.
Classical method
$\Rightarrow$ BUT Repetitve Pattern를 갖거나 Reflective/Transparent Surface, Occlusion된 물체에 대해 성능이 떨어지는 단점이 있다.
또한 Noise나 얇은 물체 등을 못잡는 문제가 발생함Deep Learning
2. Mothion Estimation(Optical Flow)
Stereo Matching은 1D Search Problem이었다면 Optical Flow는 2D Search Problem이다.
1) FlowNet & DispNet
- shared network로 featuremap 추출
- 한 Pixel에 대해 다른 Patch의 2D Window와의 Correlation Volume을 추출
- 이 Pixel은 다시 Convolution을 통해 모양을 조절하여 Corrrelation Volume과 Concatenate
- Convolution Layer로 구성된 Encoder와 Decoder를 거쳐 Optical Flow 예측 (like unet)
Refinement
- Decoder는 위와 같은 구조로 설계되었고 학습시에는 Ground Truth를 Resize하여 Low Level에서도 학습을 진행
(Multi-Task Learning)