IT/Computer vision

Computer vision - Ransac

성진팍 2017. 6. 29. 23:12

RANSAC = Random Sample Consensus


Very general framework for model fitting in the presenece of outlier.

inlier: 모델의 정상분포에 속해있는 데이터집합

outlier: 모델바깥에 분포해있는 이상치 집합


line fitting에도 쓰일수있고 corespondance 문제에도 적용될 수 있다.



inlier으로 회귀분석을 수행할수있게 하는 기법이 RANSAC이다.

Line fitting문제로 예를 들어보겠다!

1.  임의로 랜덤하게 original data중 몇개를 고른다.

2. 그것을 inlier로 가정하고 회귀모델을 가정한다. 

3. 해당 모델에 대해 어느정도 마진을 두고(허용오차) , 그 안에 들어오는 아이들을 inlier로 본다.

 실제 original data들이 어느정도 들어오는지 본다. 그리고오차를 측정한다. 

4. 가설을 다시 세운다. 위에 1~3 반복하면서... 

제일 많이 consensus이룬걸 고르고 저 set들을 나중에 다시 쓸것이다.

 

predefined해놓은 iteration 횟수에 만족하면 종료시킨다.

또는 오차 허용 값에 도달했으면 종료시킨다.

 

얼마나 돌리면 좋을지 결정하는게 하이퍼 파라미터 튜닝임


line fitting, 다른 모델 fitting에도 다 적용가능하다.

이미지 매칭에도~


장점

- simple, general

- 실무에서 잘 동작한다

단점 

- 파라미터 튜닝이 너무 많이 필요하다

- low inlier ratio 에 잘 동작안한다.

- 항상 좋은 초기화 모델을 얻을수가 없다. ( 샘플이 적으면)

- optimal한 솔루션을 보장하진 못한다.


그러나 파라미터 estimation 기법에는 좋은 방법이고 CV 에서 널리 쓰이고 잇다고 한다.

http://blog.naver.com/hextrial/221011078891  <- 이런것 있더라..


Feature matching에서의 랜삭.

1. Detect Feature. 처음에는 먼저 matching pair가 주어질 것이다.

2. Guess 4 correspondence and estimate homograph matrix.

4개 차원의 상응하는 것 찾고.. 

그럼 이제 같은 방법으로 homography transformation을 진행한다.

3. find matching inlier

4. repeat 위 방법



Feature dectection -> Feature matching -> homography -> Image Synthesis


아래 블로그가 잘 설명되있는 것 같다 :)

http://darkpgmr.tistory.com/61