Removing Perspective Distortion
•
두 이미지 간의 Homography 를 찾기 위해서는 Corresponding Points 들이 필요함.
Direct Linear Transform (DLT)
•
위 식을 일반적인 Homography 변환에 대한 대응 식임.
•
이를 다음과 같이 에 대해 나타낼 수 있음.
•
위 식을 풀어서 의 각 항목에 대한 식으로 변환하면 다음과 같음.
•
4 개의 Corresponding Points 들이 있다면 다음과 같이 식을 구성할 수 있음.
◦
8DoF 이기 때문에 4 개의 Corresponding Points 로도 식의 해를 구할 수 있음.
▪
다만, 많은 Corresponding Points 로도 구할 수 있고, 이는 Corresponding Points 의 측정에 오류가 있는 경우에 정확해짐.
◦
SVD 를 사용하여 에서 를 최소화하는 문제를 풀면 다음 식의 해를 구할 수 있음.
▪
가 인 index 만 1 이고 나머지는 0 일 때 식이 최솟값을 가지며, 이러기 위한 는 가장 작은 eigenvalue 와 대응되는 eigenvector 임.
•
직접적으로 multiplication form 을 만들지 않더라도 Cross Product 를 통해 Up-to-Scale 문제를 해결할 수 있음.
What if We Only Want to Remove Some Properties?
•
두 개의 이미지 사이의 변환이 아니라, Projective Transform 된 이미지에서 Affine Transform 요소만 남기고 싶은 경우에는 2DoF 만을 줄여야 함.
Affine Rectification
•
Affine Rectification 은 Projective Transform 이미지에서 Affine 요소만 남기는 변환임.
•
Euclidean 이 Projective Transform 이 되면, 평행한 선이 한 점에서 만나게 됨.
◦
평행한 선들의 교점이 만드는 선인 Line at Infinity 가
•
Affine 의 특성은 parallelism 이기 때문에 Line at Infinity 를 다시 Infinity 로 보내는 변환을 통해 Projective Transform 으로 변환된 이미지에서 Affine 요소만 남길 수 있음.
Affine Rectification
•
Projective Transform 이미지에서 Line at Infinity 는 평행한 선의 교점을 두 쌍 구하고, 두 개의 교점을 지나는 선을 구하는 방법으로 구해낼 수 있음.
•
Line at Infinity 를 다시 로 보내기 위해 다음과 같은 식을 고려할 수 있음.
◦
는 Affine 에서 Projective Transform 으로 가는 point 에 대한 Homography Matirx 임.
•
위 식의 단순하게 다음과 같이 구해낼 수 있음.
◦
여기서 구해낸 에 다른 어떠한 Affine Transform 를 사용해 Left Multiplication 을 해도 Affine Transform 은 Line at Infinity 를 변경하진 못하기 때문에 이 또한 해가 될 수 있음.
Metric Rectification
•
Affine Rectification 때와 마찬가지로 Affine Transform 된 이미지에서 Similarity Transformation 으로 변경하려고 할 경우를 고려해 볼 수 있음.
Circular Points are Fixed Under Similarity Transformations
•
Circular Points 는 다음과 같은 점들임.
•
놀라운 점은, Circular Points 에 Similarity Transform 을 거쳐도 본인이 나옴.
•
더 놀라운 점은, 이러한 Circular Points 가 마냥 의미없는 점들은 아니라는 것임.
◦
모든 원들과 Line at Infinity 의 유일한 교점이 임…
The Conic Dual to The Circular Points
•
정성적으로는, 를 지나는 직선 모두에 수직인 conic 을 나타냄.
•
이 Conic 은 마찬가지로 특이하게도 Similarity Transform 에 invariant 함.
◦
일반적인 Projective Transform 은 Similarity + Affine + Projective 의 곱으로 나타낼 수 있음.
◦
이 특성을 활용하면 일반적인 Projective Transform 에서 conic 이 다음과 같이 변함.
Why Do We Care the Dual Conic?
•
Dual Conic 을 다룬 이유는 이 친구의 invariance 가 Similairty Transform 에서의 angle 의 invariance 를 보이는데 쓰일 수 있기 때문임.
•
일반적으로 선 과 의 cosine 각도는 다음과 같음.
•
위 식은 Circular Points 에 Dual 한 Conic 을 활용하여 다음과 같이 표현할 수 있음.
◦
놀라운 점은 위의 모든 선에 대해 다음 형태가 Similarity Transform invariant 하다는 것임…
▪
사실 conic 이 바뀌어도 위 식은 성립함. 꼭 Circular Points 에 Dual 한 conic 이 아니어도 됨.
◦
따라서 도 invariant 하게 됨.
Metric Rectification: Recall
•
결국, 사전지식을 이용해 기존 이미지에서 수직인 직선 을 찾아 다음과 같은 식을 만들 수 있음.
•
Circual Point Dual Conic 의 변환된 conic 은 다음과 같이 표현됨을 앞에서 언급했음.
•
근데 이미 Affine Transform 이라는 가정이 있으니 이고 다음과 같이 표현됨.
•
결국 식은 다음을 푸는 것이 됨.
◦
DLT 로 를 구하고, 를 Cholesky Decomposition 으로 구하면 결과적으로 기존에 언급했던 의 decomposition 에 따라 를 최종적으로 구해낼 수 있음.
◦
이렇게 구한 를 inverse 해서 곱하면, Affine 요소를 제거하여 Similarity 로 변경할 수 있음.
Homography - Practical Applications
•
Automatically Building Panoramic Images
◦
SIFT descriptor 로 keypoint 를 찾고 Corresponding Points 를 찾음.
◦
Noisy 한 Corresponging Points 중 outlier 를 제거하기 위해 RANSAC 을 활용함.
◦
찾은 Corresponding Points 기반으로 DLT 를 사용함.