동차좌표계

Projective geometry

3D World vs Photo

  • 3d World(Euclidean Geometry)
    • 평행선이 무한하게 평행함(평행과 교차가 동시에 존재할 수 없음)
  • Photo
    • 평행선이 한 픽셀에서 교차함(소실점)

image

원근법

실제 세상에서는 평행인 것이 왜 사진에서는 평행하지 않을까?

  • 사진에는 원근법이 존재 (가까운 것은 더 크게 보이고 멀리 있는 것은 더 작게 보임)
  • 물체들의 실제 크기를 알 수 없음
    • 실제 3D 공간의 물리적인 입체 정보를 2차원의 이미지에 투영(projection)을 하면서 depth 정보를 소실함
  • 3D -> 2D 차원 변환(투영) 과정에서 depth 정보가 소실됨
Projection
  • Loses depth
  • Loses orthogonality(직교성)
  • Loses scale
  • Loses Parallelism
  • 직선인 물체가 그대로 직선으로 나와야 하는 점은 변하지 않음

Vanishing Point

  • 3D 공간 속의 무한의 거리를 2D 이미지에서는 유한하게 표현할 수 있음
    • 3D 공간 속의 무한의 위치를 2D의 특정 공간으로 Mapping이 가능함

image

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 정보 소실

image

Homogeneous Coordinates

  • Projective geometry
    • N+1 차원 -> N 차원 투영
  • {x,y,z}{scale} -> Homogeneous Coordinates

image

  • Plucker Definition
    • Homgeneous Coordinates에서 x 라는 객체에 0이 아닌 어떤 scalar 값을 곱해도 같은 객체임

image

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차원으로 표현할 수 있음

image

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 값을 제거

image

SO(3) & SE(3)

  • 0이 있는 이유 : SE(3)의 작업이 Projective Space에서 Homogenous Coordinates로 표현이 되었지만 실제로 행하는 작업이 아직 Euclidean 작업이기 때문에 Projective Transform에 해당되지 않으므로 0으로 채움

image