第 6 章 相机模型
6.1 单目相机
6.1.1 针孔相机模型
- 小孔成像:
相机坐标系下点$ \boldsymbol{P}([X,Y,Z]^T) $,对应成像平面点$ \boldsymbol{P^{\prime}}([X^{\prime},Y^{\prime},Z^{\prime}]^T) $,有如下关系。(为了简化模型,且考虑到相机会将倒像翻转,所以去掉负号关系)
$$
\frac{Z}{f} = \frac{X}{X^{\prime}} = \frac{Y}{Y^{\prime}} {\Rightarrow} \begin{cases} X^{\prime} = f \frac{X}{Z} \\ Y^{\prime} = f \frac{Y}{Z} \end{cases}
$$

便于数学运算,对成像平面进行处理:

- 像素坐标:
像素坐标系与成像平面之间,相差了一个缩放和一个原点的平移。
$$
\begin{cases} u = {\alpha}X^{\prime}+c_x \\ v = {\beta}Y^{\prime}+c_y \end{cases}
$$

代入小孔成像的结果,其中$ f_x $和$ f_y $单位是像素:
$$
\begin{cases} u = f_x{\frac{X}{Z}}+c_x \\ v = f_y{\frac{Y}{Z}}+c_y \end{cases}
$$
使用齐次坐标形式,写成矩阵形式。其中$ (X/Z,Y/Z,1)^T $为归一化坐标,它经过内参可得到像素坐标,因此可将像素坐标看作对归一化平面上的点进行量化测量的结果。
$$
\left[ \begin{matrix} u \\ v \\ 1 \end{matrix} \right]
=\left[ \begin{matrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{matrix} \right]
\left[ \begin{matrix} \frac{X}{Z} \\ \frac{Y}{Z} \\ 1 \end{matrix} \right]
=\frac{1}{Z} \left[ \begin{matrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{matrix} \right]
\left[ \begin{matrix} X \\ Y \\ Z \end{matrix} \right]
\triangleq \frac{1}{Z} \boldsymbol{K} \boldsymbol{P}
$$
$$
Z \left[ \begin{matrix} u\\v\\1 \end{matrix} \right]
=\left[ \begin{matrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{matrix} \right]
\left[ \begin{matrix} X \\ Y \\ Z \end{matrix} \right]
\triangleq \boldsymbol{K} \boldsymbol{P}
$$
- 内参:
$ \boldsymbol{K} $,相机出厂后使用中,内参固定不变。使用时可能需要标定内参。
- 外参:
代表相机轨迹的$ \boldsymbol{R} $和$ \boldsymbol{t} $。
$$
Z \boldsymbol{P}_{u,v}
=Z \left[ \begin{matrix} u\\v\\1 \end{matrix} \right]
=\boldsymbol{K} \left( \boldsymbol{R} \boldsymbol{P}_w + \boldsymbol{t} \right)
=\boldsymbol{KT} \boldsymbol{P}_w
$$
6.1.2 畸变
- 径向畸变
透镜形状影响光线传播,引起畸变。主要有桶形失真、枕形失真。
| 径向畸变类型 | 含义 |
|---|---|
| 桶形畸变 | 由于图像放大率随着离光轴的距离增加而减小 |
| 枕形畸变 | 相反 |

径向畸变均是随着距离增加而增加,使用和距中心距离有关的二次及高次多项式进行纠正(极坐标):
$$
\begin{cases} x_{corrected}=x(1+k_1r^2+k_2r^4+k_3r^6) \\ y_{corrected}=y(1+k_1r^2+k_2r^4+k_3r^6) \end{cases}
$$
- 切向畸变
在机械组装过程中,透镜和成像平面不可能严格平行,引起畸变。
使用参数$ p_1,p_2 $纠正切向畸变
$$
\begin{cases} x_{corrected}=x+2p_1xy+p_2(r^2+2x^2) \\ y_{corrected}=y+p_1(r^2+2y^2)+2p_2xy \end{cases}
$$
6.1.3 总结-成像过程
- 世界坐标系下一点$ P $,世界坐标为$ \boldsymbol{P}_w $
- 得到$ P $点的相机坐标为:$ \widetilde{\boldsymbol{P}_c} = \boldsymbol{R} \boldsymbol{P}_w +\boldsymbol{t} $
- 得到$ P $点的归一化相机坐标:投影到归一化平面$ Z=1 $,$ \boldsymbol{P}_c = [X/Z,Y/Z,1]^T $
- 畸变纠正:对归一化平面的点进行径向畸变和切向畸变的纠正
$$
\begin{cases} x_{corrected}=x(1+k_1r^2+k_2r^4+k_3r^6)+2p_1xy+p_2(r^2+2x^2) \\ y_{corrected}=y(1+k_1r^2+k_2r^4+k_3r^6)+p_1(r^2+2y^2)+2p_2xy \end{cases}
$$
- 得到像素坐标:$ \boldsymbol{P}_{u,v} = \boldsymbol{K} \boldsymbol{P}_{c} $
6.2 双目相机
根据三角形相似,得出深度的计算公式。
$$
\frac{z-f}{z} = \frac{b-u_L+u_R}{b}
$$
$$
z=\frac{fb}{d},d=u_L-u_R
$$
- 基线:左右光心间的距离,$ b $。
- 视差:左右图的横坐标之差,$ d $。
- 计算难度:左右眼图像的同步对应问题,导致$ d $本身的计算较困难。因此计算量和精度成为问题。

6.3 RGB-D 相机
- 红外结构光(Structured Light):相机根据返回的结构光图案,计算物体离自身的距离。
- 飞行时间法(Time-of-flight, ToF):相机向目标发射脉冲光,然后根据发送到返回之间的光束飞行时间,确定物体离自身的距离 。




暂无评论内容