1.1 Introduction - the ubiquitous projective geometry#
우리는 모두 사영 변환에 익숙합니다. 실제로 세상의 모든 물체들을 볼 때, 우리는 사영 통해 바뀐 풍경으로 물체들을 바라보고 있습니다. 보는 시점에 따라 원이 원이 아니게 보이는 경우, 정사각형이 정사각형이 아니게 보는 경우가 사영 변환의 한 예시입니다.
Invariant properties by Projective Transformation
모양? → X
길이? → X
각도 → X
거리 → X
거리의 비율 → X
모두 보존되지 않고, 직진성(선의 곧음)만이 보존됩니다. 이 직진성이 매핑에 대한 가장 일반적인 요구 사항입니다. 따라서 우리는 평면의 사영 변환을 직선을 보존하는 평면의 점 매핑으로 정의할 수 있습니다.
Why Projection Geometry Is Needed
이를 알아보기 위해서는 유클리드 기하학에서부터 시작해야 합니다. 유클리드 기하학은 물체의 각도가 모양을 설명하는 기하학인데, 이 유클리드 기하학은 한 가지 주요한 문제가 있습니다. 이 문제로 인해 기하학의 몇몇 기본 개념들에 예외를 둘 필요가 생깁니다. 그 예시로 “두 선은 거의 항상 한 점에서 만난다. 하지만 그렇지 않는 선의 쌍(평행)이 존재한다” 를 들 수 있습니다. 이런 문제를 피하기 위해 평행선이 만나는 무한대에 점들을 추가함으로써 유클리드 평면을 확장합니다. 이 점들을 이상점(Ideal point)라 부르며, 이러한 점들을 무한대에 추가함으로써 유클리드 평면은 새로운 유형의 기하학적 물체인 사영 공간으로 변환됩니다. 이러한 과정을 통해 유클리드 기하학의 문제를 해결할 수 있습니다.
Coordinates
유클리드 2차원 공간의 점은 실수의 순서쌍
Homogeneous Coordinates
3차원 좌표
이러한 개념을 가진 그룹을 동치류(Equivalence classes)라고 합니다. 또한, 앞의 경우처럼 scale 값 k에 따라 값은 변하지만 비율은 동일한 좌표들을 동차 좌표(Homogeneous Coordinates) 라고 합니다. 이러한 동차 좌표들이
의 형태로 주어지면 로 나눠 다시 로 변환할 수 있습니다.
마지막 좌표값이 0이라면 즉,
우리는 위와 같은 방법을 통해 유클리드 공간
Homogeneity
고전적인 유클리드 기하학에서 모든 점은 동일하여 구별되지 않습니다. 따라서 공간 전체가 균일합니다. 이 공간을 이용하기 위해서 우리는 어떤 한 점을 원점으로 선택해, 상대적인 좌표를 이용하게 됩니다. 그러면 다른 점을 원점으로 선택하게 되면 기존에 보던 것이 다른 좌표로 나타나게 됩니다. 이것을 공간이 다른 위치로 이동(Translation) 또는 회전(Rotation) 한다고도 볼 수 있는데, 이러한 연산을 **유클리드 변환(Euclidean Transformation, Rigid Transformation)**이라 합니다.
또한, 우리는 **아핀 변환(Affine Transformation)**을 통해 유클리드 평면
사영 공간도 유클리드 공간과 같이 균일하기 때문에, 이상점 또한 0을 가지고 있을 뿐 다른 점들과 딱히 다르지 않습니다. 따라서 유클리드 공간에서의 유클리드, 아핀 변환과 같이, 사영 공간에서의 사영 변환(Projective Transformation)을 정의할 수 있습니다.
유클리드 공간
이후 챕터에서 각 변환에 대해 자세히 설명하고, 어떤 부분이 변하지 않고 왜 그런 것인지 알 수 있습니다.
사영 기하학을 정리해보겠습니다.
Projective Geometry
사영 기하학에서는 선형 변환이 이뤄졌을 때 직선의 성질이 보존되며, 평행성이나 크기 등은 유지되지 않습니다.
평행 개념이 없습니다. 사영 기하학에서는 이전 유클리드 기하학에서의 평행한 두 직선이 무한대에서 만난다는 개념이 추가됩니다.
그 만나는 점을 이상점이라 표현하며, 이를 통해 유한 공간 안에 표현이 가능해집니다.이러한 이상점들을 동차 좌표계에서는 마지막 좌표가 0인 것으로 표기합니다.
사영 기하학에서의 변환은 이상점이 유지되지 않습니다. 따라서 무한대의 선 또한 변환됩니다.
1.1.1 Affine and Euclidean Geometry#
지금까지 유클리드 공간에 이상점을 추가해 사영 공간을 얻을 수 있는 것을 보았습니다. 이제 반대로 가는 과정을 고려해봅시다. 아래에서는 주로 2차원과 3차원 사영 공간에 대한 이야기를 합니다.
Affine Geometry
아핀 기하학은 사영 기하학에 선의 평행에 대한 개념을 추가한 것이라고 볼 수 있습니다. 이 개념을 추가하는 방법으로 본 책에서는 어떤 특정 선을 임의로 생성하고 그 선을 **무한선(Line at infinity)**으로 정의하는 과정을 갖습니다. 이렇게 정의한 무한선과 교차하는 두 직선이 있다면 그 두 직선은 평행하다고 정의합니다.
예를 들자면, 위와 같은 철로를 생각해볼 수 있겠습니다. 이러한 이미지 평면에서 무한선은 수평선으로 나타납니다. 지금 보면 철로 양 쪽의 쭉 뻗어있는 부분들이 결국 수평선에서 만나는 것을 보실 수 있는데요, 이것이 무한점에서 만나는 두 직선이라는 것을 이해하실 수 있을 것입니다. 이렇게 무한선을 설정하면 평면에서 직선의 평행을 정의할 수 있습니다.
이렇게 무한선을 가진 사영 평면의 기하학을 아핀 기하학(Affine Geometry)라 하고, 한 공간의 무한선을 다른 공간의 무한선에 매핑하는 것을 아핀 변환이라고 합니다. 결국 아핀 기하학은 사영 기하학의 특정 형태라고 볼 수 있습니다.
정리하면 아래와 같습니다.
평행의 개념이 있습니다. 아핀 기하학은 사영 기하학에서 무한선을 구별함으로써, 평행성의 개념을 얻습니다.
아핀 변환은 한 공간의 무한선을 다른 공간의 무한선으로 변환하는 것을 아핀 변환이라 합니다.
아핀 기하학은 선형 변환이 이뤄졌을 때, 직진성과 더불어 선의 평행성이 유지됩니다.
Euclidean Geometry
유클리드 기하학은 아핀 기하학에서 무한대의 몇 가지 특별한 성질을 추출하면 유클리드 기하학이 됩니다. 이 과정에서 Absolute Conic을 소개합니다.
먼저 2차원에 존재하는 원을 생각해봅시다. 아핀 기하학에서는 평면을 임의로 확장할 수 있는데, 확장하게 되면 원이 타원이 될 수 있습니다. 따라서 아핀 기하학에서는 원과 타원을 구분하지 않습니다. 하지만 유클리드 기하학에서는 원과 타원이 구분됩니다.
등차 좌표
방정식을 보면
이 때, 사영 기하에서 무한선을 하나 선택하고, 이 선 위에 두 개의 원형점을 놓으면 유클리드 기하가 나타나게 됩니다. 우리는 저희가 보는 시점과 이 원형점을 지나는 원을 이용해 원뿔을 정의하며, 이를 절대 원뿔이라 합니다.
이후 챕터에서 이 Absolute conic을 이용해서 무엇을 어떻게 하는지 자세히 설명합니다.
정리하자면 아래와 같습니다.
유클리드 기하학은 선형 변환이 이뤄졌을 때, 직선, 평행성과 더불어 거리의 비율이 유지됩니다.
유클리드 변환은 유클리드 공간에서 회전하고 이동하는 것인데, 그 이동은 어떤 원점을 다른 공간의 원점으로 이동시키는 것을 말합니다.
3D Euclidean Geometry
지금까지 무한선과 한 쌍의 원형 점을 지정하여 유클리드 평면이 사영 평면의 관점에서 어떻게 정의되는지 봤습니다. 3D geometry에도 동일한 아이디어가 적용될 수 있습니다. 원에서 구로 바뀌었을 뿐입니다. 따라서 등차 좌표
3차원에서도 이러한 곡선을 Absolute conic으로 정의하며, 이후 챕터에서 camera calibration과 연관하여 설명합니다.
절대 원뿔은 유클리드 좌표계에서만 위의 방정식으로 정의됩니다. 일반적으로 이 책에서는 사영공간에서 특정 평면을 무한면으로, 특정 원뿔을 절대 원뿔로 지정해 유도한 3차원 유클리드 공간을 가정합니다.
이후 챕터에서 절대 원뿔을 이용해 3차원 유클리드 기하를 결정하는 방법이 제시됩니다.
Reference#
Multiple view geometry in computer vision chapter 1.1
철로 그림 : https://pixabay.com/photos/railway-rocks-sunset-sun-sunlight-1555348/