Skip to content

Latest commit

 

History

History
217 lines (175 loc) · 4.5 KB

chapter-6.md

File metadata and controls

217 lines (175 loc) · 4.5 KB

摄像机模型

本章是重点章节. 主要介绍两种摄像机模型: 1.光心在有穷点 2. 光心在无穷点, 也叫仿射摄像机

6.1 有穷摄像机

假设在相机坐标系下有一点$X=(X,Y,Z)$, 由于摄像机的平面在$Z=f$ $f$就是焦距, 那么$(X,Y,Z)$就变到了$(fX/Z,fY/Z)$(图像坐标系), 写成矩阵就是如下形式 $$ \left( \begin{matrix} fX\ fY\ Z\ \end{matrix} \right)

\left[ \begin{matrix} f & & & &0 \ & f & & &0 \ & & & 1 &0 \end{matrix} \right] \left( \begin{matrix} X\ Y\ Z\ 1 \end{matrix} \right) $$

到了图像坐标系以后, 我们继续转换到像素坐标系

$(X,Y,Z,1)$就变成了$(fX/Z+p_x,fY/Z+p_y)$, $(p_x,p_y)$就是摄像机的光心.

$$ \left( \begin{matrix} fX\ fY\ Z\ \end{matrix} \right)

\left[ \begin{matrix} f & & p_x&0 \ & f & p_y&0 \ & & 1 &0 \end{matrix} \right] \left( \begin{matrix} X\ Y\ Z\ 1 \end{matrix} \right) $$

我们可以写 $$ K= \left[ \begin{matrix} f & & p_x&0 \ & f & p_y&0 \ & & 1 &0 \end{matrix} \right] $$

K就是摄像机的内参

最后, 我们还需要从世界坐标系转换到相机坐标系, 所以有一个旋转加平移的矩阵

$$ \left( \begin{matrix} fX\ fY\ Z\ \end{matrix} \right)

\left[ \begin{matrix} f & & p_x&0 \ & f & p_y&0 \ & & 1 &0 \end{matrix} \right] \left[ \begin{matrix} R & t \ 0 & 1 \end{matrix} \right]

\left( \begin{matrix} X\ Y\ Z\ 1 \end{matrix} \right) $$

其中 $$ \left[ \begin{matrix} R & t \ 0 & 1 \end{matrix} \right] $$ 就是相机的外参

相机内参有时候会加一个偏斜系数,因为相机的两个轴不是完全垂直的

$$ K= \left[ \begin{matrix} f & s& p_x&0 \\ & f & p_y&0 \\ & & 1 &0 \end{matrix} \right] $$

把整个摄像机矩阵写成P, P就是一个$3 \times 4$的矩阵, 反过来任何一个$3 \times 4$的矩阵都可以是(有限)摄像机矩阵, 只要他左边$3 \times 3$的子矩阵不是奇异矩阵就可以.

如果该矩阵是奇异矩阵, 那么该摄像机模型就是仿射摄像机. 那么我们把P写成$P=[M|p_4]$, $p_i$代表列. 将摄像机性质总结如下:

  1. 光心位置C, M 不奇异, 则$C=(-M^{-1}p_4,1)^T$. C是奇异矩阵则$C=(d,0)^T$
  2. $p_1,p_2,p_3$是$x,y,z$轴的消失点,$p_4$是相机坐标系的原点
  3. P的最后一行就是主平面
  4. P的第一第二行是轴平面
  5. 主点是$Mm^3$ $m^3$就是相机矩阵第三行

6.2.1 下面我们详细说明一下相机的各个关键词

相机中心 $P$的rank是3, 那么它就有一个1维的零空间C, 满足$PC=0$, 这个C就是相机的中心 列向量 前三个列向量是消失点, 最后一个列向量是世界原点 行向量 行向量代表平面,如上节3,4所属

主平面 主平面就是通过相机中心,并且与成像平面平行的平面 主轴 主轴通过主平面并且与其垂直, 交点是相机中心

6.2.2 投影与反投影

空间点$X$投影到$x=PX$, 图像点$x$反投影就形成了一个射线$X(\lambda)=P^{+}x + \lambda C$

6.2.3 点的深度

空间点$X=(X,Y,Z,T)^T$, 摄像机矩阵$P=[M|p_4]$, 我们假设$P(X,Y,Z,T)^T=w(x,y,1)$

$$ depth(X;P)=\frac{ sign(det M)w }{T||m^3||} $$

已知P求摄像机中心

假设中心$C=(X,Y,Z,T)^T$, 有以下公式可以计算出$C$

$X=det([p_2,p_3,p_4])$

$Y=-det([p_1,p_3,p_4])$

$Z=det([p_1,p_2,p_4])$

$T=-det([p_1,p_2,p_3])$

求摄像机内参和位姿R

$P=[M|-MC]=K[R|-RC]$. 所以直接把$M$做$QR$分解就可以了

6.3 无穷远处的摄像机

无穷远处摄像机的意思是$P$左边$3 \times 3$的子矩阵是奇异的. 这种摄像机可以分成两类. 仿射摄像机和非仿射摄像机.

仿射摄像机的定义是$P$最后一行是(0,0,0,1). 我们可以想象摄像机主点往无穷远处移动, 同时摄像机的焦距逐渐增大, 主点到了无穷远, 最后一行自然成了$(0,0,0,1)$

6.3.2 仿射摄像机的误差

一个点, 投影到仿射摄像机和普通摄像机上的坐标是有差别的. 点离摄像机越远, 点越会偏离主点.

6.3.3 仿射摄像机矩阵的分解

其矩阵可以写成如下形式 $$ \left[ \begin{matrix} K_{2 \times 2} & 0 \ 0& 1 \end{matrix} \right]

\left[ \begin{matrix} R & t \ 0& 1 \end{matrix} \right] $$

左边的矩阵就是内参

6.3.4 广义的无穷远摄像机

如前文所述, 仿射摄像机就是摄像机的中心在无穷远, 主平面也在. 或者说$P$左边$ 3 \times 3$ 的子矩阵是奇异矩阵, 因为最后一行是0. 但是还有一种情况, 就是该子矩阵是奇异的, 但是最后一行不是0, 那就是说相机中心在无穷远, 但是主平面不在