SLAM基础知识与算法框架

相机模型

第 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}

$$
6-1

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

6-2

  • 像素坐标:

  像素坐标系与成像平面之间,相差了一个缩放和一个原点的平移。
$$

\begin{cases} u = {\alpha}X^{\prime}+c_x \\ v = {\beta}Y^{\prime}+c_y \end{cases}

$$
6-3

  代入小孔成像的结果,其中$ 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 畸变

  • 径向畸变

  透镜形状影响光线传播,引起畸变。主要有桶形失真、枕形失真。

径向畸变类型 含义
桶形畸变 由于图像放大率随着离光轴的距离增加而减小
枕形畸变 相反

6_4

  径向畸变均是随着距离增加而增加,使用和距中心距离有关的二次及高次多项式进行纠正(极坐标):
$$

\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-5

6.3 RGB-D 相机

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

6-6

© 版权声明
THE END
喜欢就支持一下吧
点赞0 分享
DK的头像-邓轲
相关推荐
  • 暂无相关文章
  • 评论 抢沙发

    请登录后发表评论

      暂无评论内容