资讯详情

认知机器人:相机校准

本文成立于2021年,致力于建立一个完整的智能系统知识库系统。我们的工作:收集和整理世界各地的学习资源,系统地建立一个内容全面、结构合理的知识库。

作者博客:路上的树

在机器人的感知系统中,有时我们需要摄像机来构建三维世界的投影图像。本文将讨论它

摄像机模型

在欧几里德几何中很难描述这种变化,但在射影几何中要简单得多。在齐次坐标系下可以表示射影几何的变化

  • 射影几何 Projective geometry可替代的几何变换方法
  • 齐次坐标系homogenous coordinates 广泛应用于机器人学中
  • 优点:仿射转换和投影转换可以通过矩阵的乘法传达

相机校准

  • 相机可以将三维世界的点投射到二维图像平面上
  • 校准的影响因素
    • 图片中心
    • 焦距
    • 镜头变形参数
  • 为什么需要校准?
    • 便宜的镜头在制作相机时会产生误差
    • 精确的校准是非常必要的
      • 图像3D信息解释
      • 重建地图模型
      • 机器人与环境的互动(手眼协调)

Pinhole相机的三个假设

  1. 物体的所有射线相交于一个点
  2. 所有图像点都投射在平面上
  3. 从物体到图像的射线点是一条直线
  • 当然,这些假设往往不成立,导致图像不完美

镜头和针孔的区别

  • 镜头只是针孔相机模型的近似值
  • 对象和图像中的对应点以及镜头的中心通常不在一条线上
  • 光束通过透镜中心的距离越远,误差就越大

坐标系框架

坐标系转换 Transformation

  • 我们想要从传感器坐标系转换到环境坐标系

  • 其中环境坐标系 S o S_o So​ 到相机坐标系 S k S_k Sk​属于外在转换
    • 外在参数描述摄像机在环境中的姿态
  • 其他的转换属于内在转换
    • 内在参数描述了相机前的场景与最终图像(传感器)中的像素的映射关系

外在参数

  • 摄像机相对于世界的姿态
  • 可逆变换 Invertible transformation
  • How many parameters are needed?
    • 6个:3个位置参数+3个方向参数
  • 在环境坐标系中点 P \mathcal{P} P的坐标为 X P = [ X P , Y P , Z P ] T \mathrm{X}_P=[X_P,Y_P,Z_P]^T XP​=[XP​,YP​,ZP​]T
  • 在相机坐标系中圆点的坐标(在环境坐标系中的坐标)为 X O = [ X O , Y O , Z O ] T \mathrm{X}_O=[X_O,Y_O,Z_O]^T XO​=[XO​,YO​,ZO​]T
  • 在下文中,我们将看到为什么与欧几里得坐标相比,H.C.是描述变换的更好选择

环境坐标系转换到相机坐标系 S o → S k S_o \rightarrow S_k So​→Sk​

直觉上讲,知道了环境坐标系中的坐标,也知道的相机坐标系的坐标,想将点坐标从环境坐标系转换到相机坐标系,可以先做一个平移和旋转 k X P = R ( X P − X O ) ^kX_P=R(X_P-X_O) kXP​=R(XP​−XO​),当然这是在欧式坐标系中的表示

如果放到H.C.齐次坐标系中,则为

  • [ k X p 1 ] = [ R 0 0 T 1 ] [ I 3 − X O 0 T 1 ] [ X P 1 ] = [ R − R X O 0 T 1 ] [ X P 1 ] \begin{bmatrix} ^kX_p \\ 1 \end{bmatrix} = \begin{bmatrix} R & 0 \\ 0^\mathrm{T} & 1 \end{bmatrix}\begin{bmatrix} I_3 & -X_O \\ 0^\mathrm{T} & 1 \end{bmatrix}\begin{bmatrix} X_{P} \\ 1 \end{bmatrix}= \begin{bmatrix} R & -RX_O \\ 0^\mathrm{T} & 1 \end{bmatrix}\begin{bmatrix} X_P \\ 1 \end{bmatrix} [kXp​1​]=[R0T​01​][I3​0T​−XO​1​][XP​1​]=[R0T​−RXO​1​][XP​1​]
  • 或者写为 k X P = k H X P ^k\mathrm{X}_P=^k\mathrm{HX}_P kXP​=kHXP​有 k H = [ R − R X O 0 T 1 ] ^k\mathrm{H}= \begin{bmatrix} R & -RX_O \\ 0^\mathrm{T} & 1 \end{bmatrix} kH=[R0T​−RXO​1​]

内在参数

  • 将点从相机框架投射到传感器框架的过程
  • 可逆变换
    • 图像平面到传感器框架
    • 模型偏差
  • 不能直接倒置:投影
  • 理想状态下的投影可以分为三步
    1. 将透视投影投射到图像平面上
    2. 转换到传感器坐标系框架(像素)
    3. 前面两个映射步骤是理想化的,需要进行校正,或者说补偿compensation

相机坐标系到图像坐标系

  • 在图像坐标系统中:
    • 我们定义一个相机常数 c c c 用来表示投影中心(小孔位置) O O O到图像平面中心 H \mathcal{H} H的距离
    • 该值是作为相机校准的一部分计算出来的
    • c < 0 c<0 c<0情况如下图

如果上图的透视投影是没误差的,根据截断定理几何关系我们可以得到点 P \mathcal{P} P (3D)在图像平面上的投影点 P ‾ \overline{\mathcal{P}} P(3D)的坐标 [ c x P ‾ , c y P ‾ ] [^cx_{\overline{\mathcal{P}}},^cy_{\overline{\mathcal{P}}}] [cxP​,cyP​],

c x P ‾ : = k X P ‾ = c k X P k Z P ^cx_{\overline{\mathcal{P}}}:=^kX_{\overline{\mathcal{P}}}=c\frac{^kX_{\mathcal{P}}}{^kZ_{\mathcal{P}}} cxP​:=kXP​=ckZP​ 标签: zp12r传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台