Homography - Practical Applications
•
Corresponding Point 를 찾기 위해 SIFT Descriptor 를 사용할 수 있음.
◦
SIFT Descriptor 는 realiably “identifiable” points 를 feature points 들로 찾아줌.
•
하지만, SIFT Descriptor 는 생각보다 outlier 를 많이 뽑아줌.
◦
이러한 outlier 들을 homography 를 계산하는데 사용하면 부정확한 값이 나옴.
◦
이러한 outlier 를 줄여주는 방법론이 RANSAC 임.
RANSAC
•
두 점 를 이용해 line 을 fitting 하는 방법은 단순하게 cross product 도 있지만, 다음과 같이 Null Space (의 vector)를 구하는 것도 존재함.
◦
이 방법은 측정에 noise 가 있더라도 대강의 Null Space 를 구해낼 수 있다는 장점이 있음.
•
RANSAC 의 프로세스는 다음과 같음.
1.
랜덤하게 두 개의 점을 선택함.
2.
두 개의 점을 이용해 그은 선에서 threshold 안에 몇 개의 점이 있는지 세고 이들을 inlier 로 선언함.
3.
특정 iteration 만큼 돌았을 때 가장 많은 inlier 를 가졌던 두 개의 점을 best case 로 설정함.
4.
Best case 에서 inlier 들을 이용해 Null Space fitting 을 진행함.
•
RANSAC 의 성공확률 ?
◦
는 success probability
◦
는 전체 sample 중 inlier sample 의 개수
◦
은 model 을 estimating 할 때 사용되는 sample 의 개수
◦
는 number of iteration
◦
RANSAC 은 다음 상황에서 잘 동작함.
1.
다수의 sample 들이 inlier 여야 함. ( 가 커야 함.)
2.
Iteration 이 충분하게 많아야 함. ( 가 커야 함.)
3.
시스템의 DoF 가 작아야 함. ( 이 작아야 함.)
◦
아래는 성공확률을 0.99 이상으로 높이기 위해 필요한 sample 수임.
▪
Outlier 를 줄이는 것이 필요한 sample 수를 급격히 줄이는 것을 알 수 있음. → RANSAC 의 중요성을 알 수 있는 대목임.
•
Pros and Cons
◦
Pros
▪
실제 세팅에서 잘 동작함.
▪
많은 3D Vision Application 에서 처음으로 고려되는 옵션임.
◦
Cons
▪
실행이 느림.
▪
보장이 없음.
▪
Treshold 나 iteration 같은 parameter 에 대한 조절이 필요함.
Homography - Practical Applications
•
RANSAC iteration process 를 다음과 같이 진행함.
1.
랜덤하게 4 개의 점을 고름.
2.
DLT 를 이용해 를 계산함.
3.
계산한 로 inlier 수를 계산함.
•
가진 Corresponding Points 들에 대해서 의 distance 를 계산하고 해당 distance 가 threshold 를 넘는지 아닌지를기준으로 inlier 와 outlier 를 나눔.
•
특정 iteration 반복 후 가장 많은 inlier 를 가졌던 점들을 이용해 DLT 를 사용함.
Algebraic Error Vs. Geometric Error
•
DLT 를 활용하는 것은 Algebraic Error 를 최소화하는 것임.
◦
사실 항목이 무엇을 의미하는지에 대한 것을 설명할 수 없기 때문에 최소화하는 것의 정성적인 의미는 없음
•
하지만, 실제로 Homography 의 계산은 모든 대응점들의 오류를 최소화하는 구체적인 목표가 있음.
◦
때문에 보통은 DLT 를 활용한 Algebraic Error 의 최소화를 통해 inital 를 정하고, optimization method (e.g. gradient descent) 를 사용하게 됨.
3D Projective Geometry
•
3D point in Homogeneous Coordinate 는 다음과 같이 표현할 수 있음.
•
3D plane 은 2D plane 때와 마찬가지로 동일한 형태로 표현이 가능함.
•
Conic → Quadric ?
◦
Sphere, Ellipsoid, Hyperboloid, Parabolid
A Hierarchy of Transformations in 3D
•
Euclidean
◦
6DoF: Rotation(3DoF) + Translation(3DoF)
•
Similarity
◦
7DoF: Scalar(1DoF) + Rotation(3DoF) + Translation(3DoF)
•
Affine
◦
12DoF: A(9DoF) + Translation(3DoF)
◦
Parallelism of Plane 을 유지함.
•
Projective
◦
15DoF: 16DoF - 1DoF (Up-to-Scale)
Plane at Infinity
•
Plane at Infinity 위에 있는 점들은 모두 Point at Infinity 임.
◦
두 개의 line 이 평행하면, 그들의 intersection 인 점은 Plane at Infinity 위에 있음.
◦
두 개의 line 의 intersection 이 Plane at Infinity 위에 있으면 이 둘은 평행함.
•
Plane at Infinity 위에 있는 선들은 모두 Line at Infinity 임.
◦
두 개의 plane 이 평행하면, 그들의 intersection 인 선은 Plane at Infinity 위에 있음.
◦
두 개의 plane 의 intersection 이 Plane at Infinity 위에 있으면 이 둘은 평행함.
•
Plane at Infinity 는 Affine Transformation 에 invariant 함.
Absolute Conic
•
Circular Points 와 동일하게 Similarity Transformations 에 invariant 함.
•
Absolute Conic 의 정의는 다음과 같음.
◦
위의 첫 번째 식은 다음과 같이 표현할 수도 있음.
◦
때문에 Absolute Conic 자체를 Identity Matrix 로 표현함.
◦
두 개의 3D ray 방향 에 대해서 다음과 같은 식이 성립함.
•
Properties ?
◦
Plane at Infinity 와 일반적인 plane 와의 교점은 선인데, 이 선은 Absolute Conic 와 plane 에서 정의되는 Circular Points 에서 만남.
▪
Absolute Conic 와 plane 모두 Point at Infinity 인 Circular Point 를 포함하기 때문임.
◦
모든 circle 은 Absolute Conic 와 두 개의 점 (Circular Points) 에서 만남.
◦
모든 sphere 는 와 Absolute Conic 에서 만남.
Absolute Dual Quadric
•
정성적으로는 Absolute Conic 에 접하는 plane 들이 만드는 quadric 을 의미함. (????)
•
Degenerated Dual Quadric 은 다음과 같음.
•
두 개의 plane 간의 각도를 위의 quadric 을 사용해 나타낼 수 있기 때문에 중요함.
◦
3D reconstruction 의 noisiness 를 rectify 하는데 사용되기도 함.