본문 바로가기
Projects/3D Reconstruction

6. Fitting and Matching

by 규나 2021. 9. 21.
SMALL

Fitting : 관측한 포인트를 어떻게 curve에 fitting 하는가?

Matching : 두 이미지에서 대응되는 물체를 어떻게 matching 하는가?

→ fitting은 matching에서 어떻게 적용되는지 살펴본다.

 

Fitting

fitting은 관측한 데이터를 우리가 가정하고 있는 어떤 model에 맞추는 것을 말한다. fitting의 과정에는 모델과 관측한 데이터 사이의 오차를 줄이기 위해 parameter를 조정하는 과정이 포함된다. 우리가 공부한 내용에서 fitting을 사용하는 예시를 써보겠다.

  • fitting lines : vanishing point를 계산하기 위해 line을 구할 때
  • estimating an homographic transformation : 어떤 view에서 하나의 평면위에 있는 점들이 다른 view에서 보여지도록 homographic transform 계산을 할 때
  • estimating F : 2-views의 correspondences가 주어질 때 이들 사이의 fundamental matrix를 구할 때

 

Fitting Issues

  1. 잡음 noisy data
  2. 이상치 outliers
  3. 결측치 missing data (occlusions)

 

TECHNIQUES

Least Square Method

fitting 모델과 데이터의 error distance를 최소화하는 방법이다. 이 error에 대한 방정식은 "residual의 제곱합"으로 다음과 같이 구할 수 있다.

Robust to noise, but not to outliers

Robust estimator

LSM이 outliers에 예민하게 반응하지 않도록, "residual의 제곱합"이 아닌, 아래와 같이 robust function이 적용된 값을 최소화하는 방법으로 구할 수도 있다.

robust function은 다음과 같은 그래프를 갖는데, 이것은 residual이 커질 수록 그 간격을 penalize하는 효과를 갖는다. 신경망에서 activation function과 유사한 느낌이다.

 

RANSAC (RAndom SAmple Consensus)

RANSAC은 outlier와 missing data에 robust하도록 다음의 두가지 가정을 한다.

  1. noise와 outlier data는 vote되지 않는다. inlier data는 vote된다.
  2. model에 적합한 충분한 데이터를 갖고 있다.

 

Overview

  • P : 샘플 데이터셋
  • I : inliers
  • O : outliers
  • 𝜋 ∶ 𝑃 → 𝐼,𝑂 min |𝑂| such that 𝑟(𝐼, ℎ) = 𝑟𝑒𝑠𝑖𝑑𝑢𝑎𝑙 < 𝛿
    where ℎ = 𝑚𝑜𝑑𝑒𝑙 𝑝𝑎𝑟𝑎𝑚𝑒𝑡𝑒𝑟𝑠 𝑎, 𝑏, 𝑑

 

알고리즘

  1. model에 최소한으로 요구되는 개수만큼 랜덤하게 샘플 데이터를 선택한다.
  2. 샘플 데이터로 모델을 계산한다.
  3. 구해진 모델이 inlier로 결정하는 범위(𝛿) 내에 있는 전체 inlier개수를 센다.
  4. 1-3의 과정을 반복하며 가장 많은 inlier를 포함하는 모델을 선택한다.

 

장점 : 간단하고 다양한 맥락에서 잘 작동한다.
단점 : 튜닝할 파라미터가 많다. 정확도와 시간 사이에 trade-off가 있다. outlier 개수가 많으면 사용할 수 없다.

참고 : 다크 프로그래머 :: RANSAC의 이해와 영상처리 활용 (tistory.com)

 

Hough Transform

fitting의 목적은 데이터를 가장 잘 설명하는 모델을 찾는 것이었다.

이 모델을 찾기 위해 데이터를 뿌려놓는 것이 아니라, 그것을 파라미터로 하는 line들을 hough space에 투영시켜 반대로 모델의 파라미터를 찾을 수 있다. 아래 그림의 hough space에서 line들이 교차하는 지점의 m, n을 모델의 파라미터로 구할 수 있다. 

장점 : occulasion, outlier에 강함, noise에도 어느 정도 강함
단점 : noise가 uniform하면 제대로 못찾음

 


Matching

두 개의 이미지 view를 matching시켜 파노라마 이미지를 만드려고 할 때, fitting method를 이용해 bad match된 outlier들을 제거할 수 있다.

댓글