하나의 이미지로부터 3D 세계의 구조를 파악하고 카메라의 특성을 알 수 있을까? 하나의 이미지가 줄 수 있는 정보의 한계는?

Review calibration and 2D transformations

  • Camera Calibration: single view의 여러 포인트로부터 카메라의 특성을 파악할 수 있다.
  • 2D transformations: isometry, similarity, affinity, projective
    • isometry: 거리를 보존함. 회전+평행이동으로 일단 기본적인건 표현 가능. 3DoF(회전각, x이동, y이동)
    • similarity: 모양을 보존함. 모양을 보존하므로 길이의 비율과 각도를 보존함. isometry에 scaling이 들어감. 4DoF(scaling+3DoF)
    • Affine map: 점과 직선과 평행선을 보존함. 회전행렬+xy각 축으로의 scaling을 곱한 것으로 표현 가능. 평행선, 넓이의 비율, 평행선분의 비율 등을 보존함. 6DoF→$\begin{bmatrix}A&t\\0&1\end{bmatrix}$
    • Projective map: 선을 선으로 보내기 때문에 collinearity, cross ratio 등을 보존함. 8DoF

Vanishing points and lines

Points and lines at infinity in 2d case

  • line in projective plane: $\begin{bmatrix}a&b&c\end{bmatrix}^\top$으로 정의됨. 그냥 $(x,y,1)$이랑 내적해서 0인 값들. 두 라인의 교점은 cross product로 계산 됨(외적값과 내적하면 항상 0이니까).
  • 2 parallel lines in projective plane: 웃긴 건 평행해도 교점이 있다는 거임. 이 경우에 생기는 무한점은 $[x, y, 0]^\top$으로 표기. 기울기가 $-\frac{a}{b}$일 때 무한교점(ideal point)는 $x_\infty=(b, -a, 0)$. 이 기울기를 가지는 모든 선이 이 점을 지남.
  • lines at infinity: 무한점들이 있다면, 무한 선도 있을까? 이러한 선이 존재한다면 항상 무한점과의 내적값이 0이 되야함. 그러한 선은 단 하나, $l_\infty=(0,0,c)=(0,0,1)$로 정의할 수 있음. 어떤 의미론 직선의 ‘방향’의 집합으로 볼 수도 있음.

  • transformation on points at infinity: projective한 경우엔 보통 무한점을 무한 아닌 점으로 옮긴다. 그런데 affine이면 무한점을 무한점으로 보낸다.
  • transformation on lines: line $l$과 그 위의 점 $x$에 대해, $0=x^\top l=x^\top H^\top (H^\top)^{-1}l$이므로 직선에 적용하면 $(H^\top)^{-1}l$로 옮겨진다. 즉, projective하면 무한선이 무한 아닌 선으로 갈수도 있지만, affine하면 무한선은 역시나 무한선으로 간다.

3d case

  • plane in projective space: $[a, b, c, d]^\top$으로 정의. 내적하면 0인 점들의 모임.
  • lines in projective space: 두 평면의 교집합. 4DoF인 만큼 깔끔하게 묘사하긴 쉽지 않다. 방향 $(a,b,c)$ 정도는 정의할 수 있다.
  • points at infinity in projective space: 마찬가지로 intersection points of 2 parallel lines. $x_\infty=[x_1, x_2, x_3, 0]$으로 표현됨

Vanishing points and lines

  • vanishing point: 3D points at infinity에 projective transformation을 먹여 image plane으로 보낸 점. 이 경우 이미지 평면에서 무한점은 아니다.
  • 3D의 평행선과, 그들의 이미지 평면에서의 vanishing point와, 카메라 변수 $K, R, T$에 대한 관계를 유도할 수 있다.
  • 방향이 $d=(a,b,c)$이고 카메라 행렬이 $K$일 때, vanshing point $v=Kd$로 계산된다

pf) \(v=\mathbf{M}\mathbf{X}_\infty=\mathbf{K}\begin{bmatrix}\mathbf{I}&0\end{bmatrix}\begin{bmatrix}a\\b\\c\\0\end{bmatrix}=\mathbf{K}\begin{bmatrix}a\\b\\c\end{bmatrix}\)

  • 역으로, vanishing point를 알면 방향은 \(d=\frac{K^{-1}v}{||K^{-1}v||}\)
  • line at infinity: 한 평면 $\Pi$을 평행한 선들의 집합으로 보면, 그 선들이 만나는 무한점들이 존재한다. 이 무한점들이 모인 무한 선을 line at infinity $l_\infty$ associated with $\Pi$라고 하며, 이를 projective transformation으로 image plane으로 옮긴 것을 vanishing line 또는 horizon line $l_\text{horiz}$이라 한다. 마찬가지로 $l_\text{horiz}=(H_P^\top)^{-1}l_\infty$ 1

  • 지평선 개념을 통해, 수학적으로 명확하지 않은 사실들을 알 수 있다. 이미지 상의 직선들은 평행하지 않지만, 지평선이 존재하고 이미지 상의 두 직선이 지평선에서 만난다면, 우린 이 직선들이 3차원에서 평행함도 추론할 수 있다.
  • 유용한 특성도 계산할 수 있다. 평면의 직교벡터 $n$과 대응되는 이미지의 지평선 $l_\text{horiz}$에 대해, $n=K^\top l_\text{horiz}$.즉 카메라 캘리브레이션이 돼있고 지평선을 안다면, 대응되면 평면의 방향을 구할 수 있는 것이다.
  • The plane at infinity $\Pi_\infty$: 두 무한선으로 정의되거나, $[0,0,0,1]^\top$ 벡터로 정의됨.
  • angle between 2 lines: 두 평행선 짝이 각각 $d_1, d_2$ 방향을 가지고, 무한점 $x_{1,\infty}, x_{1,\infty}$를 가지고, 이미지 평면에서 $v_1, v_2$ vanishing point가 된다고 한다면 각도 $\theta$는

\( \cos\theta=\frac{d_1\cdot d_2}{||d_1||||d_2||}=\frac{v_1^\top (K^{-1})^\top K^{-1} v_2}{\sqrt{d_1^\top d_1}\sqrt{d_2^\top d_2}}=\frac{v_1^\top\omega v_2}{\sqrt{v_1^\top\omega v_1}\sqrt{v_2^\top\omega v_2}} \) where $\omega=(K^{-1})^\top K^{-1}=(KK^\top)^{-1}$

  • angle between 2 planes: 똑같은 논리를 적용할 수 있다. 직교벡터가 $n_1, n_2$라고 하면

\( \cos\theta=\frac{n_1\cdot n_2}{||n_1||||n_2||}=\frac{l_1^\top\omega^{-1} l_2}{\sqrt{l_1^\top\omega^{-1} l_1}\sqrt{l_2^\top\omega^{-1} l_2}} \) where $\omega=(KK^\top)^{-1}$

  • 결국 이것들 가지고 뭐함?
    1. 카메라 칼리브레이션
    2. 3차원 세계의 기하학 추정

Estimating geometry from a single image

2

Single View Calibration

  • 학교 건물이 직각임을 알고 있으므로 이를 통해 카메라 성분을 계산할 수 있다. 근데 $K$의 DoF가 5니까 좀 부족하지 않나? 싶으니까 건물과 땅이 직각인 것도 활용해서 식을 추가해서 계산한다.
  • $v_i^\top\omega v_j=0$ for $i\neq j$, $i,j=1,2,3$
  • 정사각형 픽셀에 skew가 없다고 가정하면

\( \omega=\begin{bmatrix}w_1&0&w_4\\0&w_1&w_5\\w_4&w_5&w_6\end{bmatrix} \)

  • 이 이후 $\omega=(KK^\top)^{-1}$ 촐스키 분해법 통해 계산

Single View Reconstruction

  • 카메라 행렬을 알고 있다고 하자. 역으로 아까 위 사진에서 나오는 모든 평면의 방향을 계산할 수 있다.(위 사진은 3개)
  • 카메라 참조 시스템에서 장면을 재구축할 수 있다!(스케일만 빼고) 즉, 인지한 것은 재구축에도 도움이 되는구나

Extensions

  • single view reconsturcion의 한계: 수동으로 배니싱 포인트와 라인을 설정해야함, 수동으로 면을 잡아야함, 수동으로 경계를 잡아야함 등..
  • Make3D(2005): 이런걸 직접 컴퓨터가 계산하게 해서 이미지로부터 3D 깊이를 추정하고 복구
  • Depth Map reconstruction using DL(2014)
  • 3D layout estimation(2016): deep fcn을 통해 공간 안의 각 벽면을 추정(최대 5개인듯?)
  • Coherent object detection and scene layout estimation from a single image(2010): 사물인식+사물이 올려진 평면 인식을 동시에 함