RANSAC이란? 이상치를 제거해 Homography 정확도를 높이는 핵심 알고리즘

RANSAC 이란?

이번 글에서는
RANSAC (Random Sample Consensus)
에 대하여 살펴보겠습니다. ​

우리는 투영된 공간에서
2차원 Plane 의 변환을 구하기 위해서
대응점 (Correspondences) 을 찾아서

DLT 를 이용하여 문제를
푸는 것을 살펴봤었습니다. ​ ​

​ 그런데,
여기서 우리가 찾는 대응점이
정말 일치하는 대응점일까요? ​

1 특징점추출

대응점은 보통 descrptors 이용하여
컴퓨터가 자동으로 찾게 합니다.

이 과정을
Feature extraction
(특징점 추출) 이라고도 합니다.

​ 가장 유명한 SIFT 가
대표적인 예가 되겠습니다.

2 대응점

이렇게 찾은 대응점이 정말 정확할까요? ​

사진에는 하늘, 잔디,나무 와
같은 장면들도 찍힙니다. ​

SIFT 가 굉장히 좋은 성능을 가지지만,

실제 물리적으로 유사한 부분들이
세상에 너무나도 많이 존재합니다. ​

3 이상치제거

따라서,
우리는 Outliers (이상치) 제거를
해줘야 합니다.

​ 이 때 사용하는 대표적인
방법론이 RANSAC 입니다.
















RANSAC 알고리즘의 동작 원리

RANSAC 의 작동 원리를
살펴보겠습니다.

4 RANSAC

여기서 Line 위에 존재하는
Point 들은 Inliers ​ 입니다.

Line 밖에 존재하는
Point 들은 Outliers 입니다. ​

정말 이상적이게 점들이
모두 라인 위에 존재하면 좋겠지만,

5 RANSAC

현실은 다릅니다.
점들이 사방으로 퍼져 있습니다. ​

노이즈와 이상치 등이
섞여있기 때문입니다. ​

가장 적합한 Line 을 찾아보겠습니다.

1. 2개의 점을 임의로 선택하여 라인을 만든다.
​ 2. 해당 라인 위에 위치하는 점들의 개수를 카운트한다.
​ 3. 이렇게 여러 라인을 테스트 해본다.
​ 4. 가장 많은 점을 가지는 라인을 최종 선택한다. ​

6 RANSAC과정
7 RANSAC과정

​ 이렇게 선택한 라인에 위치하지
못하는 점들은 이상치라고
가정할 수 있습니다.

8 RANSAC 공식

이렇게 반복적으로 작업을 하다 보니,
Outliers 가 많아지면 속도가
많이 느려지게 됩니다.

10 RANSAC

3D vision 을 하다보면,
매 Step 마다 RANSAC 을 진행하기도 합니다.

​ 경험적인 방법이다 보니,
반복적으로 작업을 해야해서 느리고,
Guarantee 가 없다는 단점도 있습니다.


항목설명
목적이상치(Outlier)를 제거해 신뢰할 수 있는 모델 추정
적용 대상Homography, 선형 회귀, PnP 등 다양한 모델 추정에 사용
입력전체 대응점 집합 (Inliers + Outliers 포함)
반복 절차임의 샘플 → 모델 추정 → 일치 수 평가 → 최고 모델 선택
핵심 평가 기준모델 위에 잘 맞는 점 (Inliers) 개수
장점강건함 (노이즈/이상치에 강함)
단점반복 횟수가 많아 계산 비용 큼, 항상 정답을 보장하지는 않음
후처리DLT 및 Non-linear optimization 으로 정밀한 Homography 개선 가능

11 Optimization

이렇게 RANSAC 을 이용하여
이상치를 제거한 대응점들을
이용하여 DLT 를 사용한다면
Homography 를 쉽게 찾을 수 있습니다. ​

DLT 가 Algebraic 한 방법이라,
Geometric error 를 제거하기 위해
Non-linear optimization 을
추가로 진행하기도 합니다. ​


이것에 대해서는 다음에 알아보겠습니다. ​ ​


그런 건 난 잘 모르겠고,
RANSAC 은 이상치 제거를
위한 대표적 방법












참고자료

Slide credit : Joo Hanbyul

https://homes.cs.washington.edu/~seitz/talks/3Dhistory.pdf

댓글 남기기