【机器人-基础知识】标定 - 相机内参求解原理(单应性矩阵、内参束缚方程) ...

打印 上一主题 下一主题

主题 969|帖子 969|积分 2907

1. 求解目标:内参

从世界坐标系到像素坐标系的齐次坐标形式:
                                         s                                       [                                                                                     u                                                                                                                   v                                                                                                                   1                                                                                 ]                                      =                            K                             [                             R                                     t                             ]                                       [                                                                                                     X                                              w                                                                                                                                                  Y                                              w                                                                                                                                                  Z                                              w                                                                                                                                  1                                                                                 ]                                            s \begin{bmatrix} u \\ v \\ 1 \end{bmatrix} = K \, [\, R \quad t \,] \begin{bmatrix} X_w \\ Y_w \\ Z_w \\ 1 \end{bmatrix}                     s               ​uv1​               ​=K[Rt]               ​Xw​Yw​Zw​1​               ​
其中                                    s                              s                  s 是尺度因子,内参矩阵                                    K                              K                  K 为:
                                         K                            =                                       [                                                                                                     f                                              x                                                                                                            0                                                                                                             c                                              x                                                                                                                                  0                                                                                                             f                                              y                                                                                                                            c                                              y                                                                                                                                  0                                                                                             0                                                                                             1                                                                                 ]                                            K = \begin{bmatrix} f_x & 0 & c_x \\ 0 & f_y & c_y \\ 0 & 0 & 1 \end{bmatrix}                     K=               ​fx​00​0fy​0​cx​cy​1​               ​
2. 单应性矩阵

   参考大佬的详细文章:https://zhuanlan.zhihu.com/p/74597564
  2.1. 单应性矩阵的界说

单应性矩阵(Homography Matrix)是一个平面映射到另一个平面的映射矩阵,即将一个平面上的点映射到另一个平面上。
2.2. 透视变换矩阵(或称单应性变换矩阵)



  • 刚体变换:平移+旋转,只改变物体位置,不改变物体形状。
  • 仿射变换:改变物体位置和形状,但是原来平行的边依然平行。
  • 透视变换(也称投影变换):彻底改变物体位置和形状

                                    3                         ×                         3                              3\times3                  3×3 的透视(或称单应性)变换矩阵                                    H                              H                  H :
                                         H                            =                                       (                                                                                     A                                                                                             t                                                                                                                                   v                                              T                                                                                                            1                                                                                 )                                      =                                       (                                                                                                     h                                              11                                                                                                                            h                                              12                                                                                                                            h                                              13                                                                                                                                                  h                                              21                                                                                                                            h                                              22                                                                                                                            h                                              23                                                                                                                                                  h                                              31                                                                                                                            h                                              32                                                                                                            1                                                                                 )                                            H = \begin{pmatrix} A & t \\ v^T & 1 \end{pmatrix}= \begin{pmatrix} h_{11} & h_{12} & h_{13} \\ h_{21} & h_{22} & h_{23} \\ h_{31} & h_{32} & 1 \end{pmatrix}                     H=(AvT​t1​)=               ​h11​h21​h31​​h12​h22​h32​​h13​h23​1​               ​
其中:

  • 仿射部分(Affine Component):

    • 线性变换(                                                            2                                        ×                                        2                                                  2\times2                                 2×2 部分                                                             A                                                  A                                 A): 这部分包含旋转、缩放和剪切。
                                                                  A                                        =                                                       (                                                                                                                                     h                                                          11                                                                                                                                                                h                                                          12                                                                                                                                                                                              h                                                          21                                                                                                                                                                h                                                          22                                                                                                                                )                                                                A = \begin{pmatrix} h_{11} & h_{12} \\ h_{21} & h_{22} \end{pmatrix}                                 A=(h11​h21​​h12​h22​​)
    • 平移(                                                            2                                        ×                                        1                                                  2\times1                                 2×1 向量                                                             t                                                  t                                 t):                                                        H                                              H                              H 的第一、二行第三列构成了平移分量。
                                                                  t                                        =                                                       (                                                                                                                                     h                                                          13                                                                                                                                                                                              h                                                          23                                                                                                                                )                                                                t = \begin{pmatrix} h_{13} \\ h_{23} \end{pmatrix}                                 t=(h13​h23​​)

  • 透视(项目)部分(Projective Component):
    假如                                                          v                                  T                                          =                               [                                           h                                  31                                          ,                                            h                                  32                                          ]                                      v^T=[h_{31},\,h_{32}]                        vT=[h31​,h32​] 不为零,则会引入额外的除法操作(透视除法):

    • 变换后,一个点                                                   (                                  x                                  ,                                   y                                  ,                                   1                                  )                                          (x,\,y,\,1)                           (x,y,1) 会变为                                                   (                                               x                                     ′                                              ,                                                y                                     ′                                              ,                                                w                                     ′                                              )                                          (x',\,y',\,w')                           (x′,y′,w′),末了映射到实际图像坐标为                                                   (                                                             x                                        ′                                                                w                                        ′                                                           ,                                                              y                                        ′                                                                w                                        ′                                                           )                                          \left(\frac{x'}{w'},\,\frac{y'}{w'}\right)                           (w′x′​,w′y′​)。
      假如                                                                      v                                        T                                                  =                                     [                                                   h                                        31                                                  ,                                                    h                                        32                                                  ]                                              v^T=[h_{31},\,h_{32}]                              vT=[h31​,h32​] 为零,则                                                                     w                                        ′                                                           w'                              w′为1,没有透视结果。

   当观察角度改变或相机位置不在正火线时,物相识出现远处变小、近处变大的结果。矩阵中                                                    h                               31                                            h_{31}                     h31​ 和                                                    h                               32                                            h_{32}                     h32​ 控制了这种“深度依赖性”的变化,最终通过除以                                         w                            =                                       h                               31                                      x                            +                                       h                               32                                      y                            +                            1                                  w = h_{31}x + h_{32}y + 1                     w=h31​x+h32​y+1 实现非线性映射,使得平行线汇聚于消失点。
  2.3. 单应性矩阵的求解


不是很恰当的描述:世界坐标系z=0的平面上图形(图中册本),从左右两个视角(两个图像平面)观察,得到两个图像平面上的两个不同图像。


求解一个包含

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

我爱普洱茶

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表