[2023-07-11] 2. 동차좌표계
동차좌표계
Projective geometry
3D World vs Photo
- 3d World(Euclidean Geometry)
- 평행선이 무한하게 평행함(평행과 교차가 동시에 존재할 수 없음)
- Photo
- 평행선이 한 픽셀에서 교차함(소실점)
원근법
실제 세상에서는 평행인 것이 왜 사진에서는 평행하지 않을까?
- 사진에는 원근법이 존재 (가까운 것은 더 크게 보이고 멀리 있는 것은 더 작게 보임)
- 물체들의 실제 크기를 알 수 없음
- 실제 3D 공간의 물리적인 입체 정보를 2차원의 이미지에 투영(projection)을 하면서 depth 정보를 소실함
- 3D -> 2D 차원 변환(투영) 과정에서 depth 정보가 소실됨
Projection
- Loses depth
- Loses orthogonality(직교성)
- Loses scale
- Loses Parallelism
- 직선인 물체가 그대로 직선으로 나와야 하는 점은 변하지 않음
Vanishing Point
- 3D 공간 속의 무한의 거리를 2D 이미지에서는 유한하게 표현할 수 있음
- 3D 공간 속의 무한의 위치를 2D의 특정 공간으로 Mapping이 가능함
Hierarchies of geometries
- Euclidean
- Rotation + Translation 표현 가능
- Similarity
- Euclidean Transformation에서 uniform scaling 표현 가능
- Euclidean Transformation에서 Length 정보 소실
- Affine
- Similarity Transformation에서 Non-uniform scaling + shear 표현 가능
- Similarity Transformation에서 Angle / Length-ratio 정보 소실
- Projective
- Affine Transformation에서 Projection 표현 가능
- Affine Transformation에서 Incidence, Cross-ratio 정보 소실
Homogeneous Coordinates
- Projective geometry
- N+1 차원 -> N 차원 투영
- {x,y,z}{scale} -> Homogeneous Coordinates
- Plucker Definition
- Homgeneous Coordinates에서 x 라는 객체에 0이 아닌 어떤 scalar 값을 곱해도 같은 객체임
Scale Space
- Euclidean Space
- w는 homogeneous 에서 scale을 의미함
- Euclidean Space는 Projective Space의 하위 개념
- Projective Space 속의 수 많은 scale들 중 scale 값이 1인 경우의 공간을 Euclidean Space라고 함
- 2D Euclidean Space의 Point 한 개는 Projective Space에서는 어떻게 표현이 되는가?
- Projective Space에서 (0,0,0) 에서 (x,y,1)을 지나는 직선으로 표현할 수 있음
- Eucliden Space에서 0차원이 Projective Space에서는 1차원으로 표현할 수 있음
Euclidean Space vs Projective Space
-
Euclidean Space
- Cartesian Coordinates
-
Projective Space의 일부(scale 값이 1인 공간)
- Cartesian Coordinates의 값을 Homogeneous Coordinates로 표현해주기 위해서는 scale 값인 1을 추가하면 됨
-
Projective Space
- Homogeneous Coordinates
- Homogeneous Coordinates의 값을 Cartesian Coordinates로 표현해주기 위해서는 모든 값을 scale 값으로 나눠서(scale 값을 1로 만듬) scale 값을 제거
SO(3) & SE(3)
- 0이 있는 이유 : SE(3)의 작업이 Projective Space에서 Homogenous Coordinates로 표현이 되었지만 실제로 행하는 작업이 아직 Euclidean 작업이기 때문에 Projective Transform에 해당되지 않으므로 0으로 채움