摘要: 本文来自章国峰_相机模型与投影变换ppt总结,补充了自己的对于多视图几何的一些理解,图来自ppt。

一、 齐次坐标和坐标变换(等距变换;相似变换;仿射变换;射影变换)

1. 齐次坐标:

在原有的坐标上面增加一个维度,新增维度不增加自由度,通常为1
以下对应2维和3维
                    [xy]\begin{bmatrix}x \\ y \end{bmatrix}变为[xy1]\begin{bmatrix}x \\ y \\1 \end{bmatrix}[xyz]\begin{bmatrix}x \\ y \\z \end{bmatrix}变为[xyz1]\begin{bmatrix}x \\ y \\z \\1 \end{bmatrix}

A. 齐次坐标可以更好的表示平移和放缩,旋转和平移
使用齐次坐标完成平移和放缩
          [uv1]=[su0sutu0svsvtv001][uv1]=[su000sv0001][10tu01tv001][uv1]=STx\begin{bmatrix}{u}' \\{v}' \\1 \end{bmatrix}=\begin{bmatrix}s_{u} &0 &s_{u}t_{u} \\0 &s_{v} &s_{v}t_{v} \\0 &0 &1 \end{bmatrix} \begin{bmatrix}u \\v \\1 \end{bmatrix}=\begin{bmatrix}s_{u} &0 &0 \\0 &s_{v} &0 \\0 &0 &1 \end{bmatrix} \begin{bmatrix}1 &0 &t_{u} \\0 &1 &t_{v} \\0 &0 &1 \end{bmatrix} \begin{bmatrix}u \\v \\1 \end{bmatrix}= STx
使用齐次坐标完成旋转和放缩
[uv1]=[cos(θ)sin(θ)tusin(θ)cos(θ)tv001][uv1]=[10tu01tv001][cos(θ)sin(θ)0sin(θ)cos(θ)0001][uv1]=TRx\begin{bmatrix}{u}' \\{v}' \\1 \end{bmatrix}= \begin{bmatrix}cos(\theta) &-sin(\theta) &t_{u} \\sin(\theta) &cos(\theta) &t_{v} \\0 &0 &1 \end{bmatrix} \begin{bmatrix}u \\v \\1 \end{bmatrix}= \begin{bmatrix}1 &0 &t_{u} \\0 &1 &t_{v} \\0 &0 &1 \end{bmatrix} \begin{bmatrix}cos(\theta) &-sin(\theta) &0 \\sin(\theta) &cos(\theta) &0 \\0 &0 &1 \end{bmatrix} \begin{bmatrix}u \\v \\1 \end{bmatrix}= TRx
                           
B. 并且可以用齐次坐标更容易表示点,线,面的关系。可以用两个齐次坐标的点的叉积描述一条直线,两条线的叉积定义一个点(交点)
                           l=p×ql=p \times q
                          多视图几何入门基础--相机模型与投影变换
                           x=p×qx=p \times q
                          多视图几何入门基础--相机模型与投影变换
C(补充). 引入齐次坐标后,可以很好的表示以下两种概念(2D下表示):

理想点[x1x20]\begin{bmatrix}x_{1}&x_{2}&0 \end{bmatrix}表示理想点,或者无穷远点。通过引入理想点,我们可以表示两平行直线的交点。
无穷远线:上述理想点的集合,即为无穷远线,用矢量l=[001]Tl=\begin{bmatrix}0 &0&1 \end{bmatrix}^{T}表示

D. 向量叉积的矩阵表示
v×xv\times x 表示向量的叉积,与下面这种矩阵乘法等价,所以我们可以用矩阵的线性乘法来表示叉积
                               v×x=[v]×xv\times x=[v]_{\times}x
其中[v]×=[0vzvzvz0vxvyvx0][v]_{\times}= \begin{bmatrix}0 &-v_{z} &v_{z} \\v_{z}&0&-v_{x} \\-v_{y}&v_{x}&0\end{bmatrix},其是秩为2的3×33\times3的斜对称矩阵。

2. 几种变换(2D下描述)

A. 等距变换:2D变换有三个自由度,是保距离的
                        [uv1]=[Rt01][uv1]\begin{bmatrix}{u}' \\{v}' \\1\end{bmatrix}=\begin{bmatrix}R&t \\0&1\end{bmatrix} \begin{bmatrix} u\\v\\1\end{bmatrix}
B. 相似变换:2D情况具有四个自由度,保角度(等距变换上,多了放缩因子s)
                        [uv1]=[sRt01][uv1]\begin{bmatrix}{u}' \\{v}' \\1\end{bmatrix}=\begin{bmatrix}sR&t \\0&1\end{bmatrix} \begin{bmatrix} u\\v\\1\end{bmatrix}
C. 仿射变换:六自由度,保平行
                      [uv1]=[At01][uv1]\begin{bmatrix}{u}' \\{v}' \\1\end{bmatrix}=\begin{bmatrix}A&t \\0&1\end{bmatrix} \begin{bmatrix} u\\v\\1\end{bmatrix}
          A=[a11a12a21a22]=R(θ)R(ϕ)SR(ϕ)A=\begin{bmatrix}a_{11}&a_{12} \\a_{21}&a_{22}\end{bmatrix}=R(\theta)R(-\phi)SR(\phi)      S=[sx00sy]S=\begin{bmatrix}s_{x}&0 \\0&s_{y}\end{bmatrix}
D. 射影变换:八自由度,保同线性
              [uv1]=[Atvb]=[uv1]\begin{bmatrix}{u}' \\{v}' \\1\end{bmatrix}=\begin{bmatrix}A&t \\v&b\end{bmatrix}= \begin{bmatrix} u\\v\\1\end{bmatrix}           H=[Atvb]H=\begin{bmatrix}A&t \\v&b\end{bmatrix}

求解射影变换(下面有八个未知数,需要四组点来求解):
        H=[Atvb]=[h1h2h3h4h5h6h7h8h9]H=\begin{bmatrix}A&t \\v&b\end{bmatrix}= \begin{bmatrix}h_{1}&h_{2}&h_{3} \\h_{4}&h_{5}&h_{6} \\h_{7}&h_{8}&h_{9}\end{bmatrix}         x=Hx{x}'=Hx

展开上述关于u_{2}和v2v_{2}的等式:
                h1u1+h2u2+h3h7u1u2h8v1u2h9u2=0h_{1}u_{1}+h_{2}u_{2}+h_{3}-h_{7}u_{1}u_{2}-h_{8}v_{1}u_{2}-h_{9}u_{2}=0
                h4u1+h5u2+h6h7u1v2h8v1v2h9v2=0h_{4}u_{1}+h_{5}u_{2}+h_{6}-h_{7}u_{1}v_{2}-h_{8}v_{1}v_{2}-h_{9}v_{2}=0

改写为:
      Ai=(u1v11000u1u2v1u2u2000u2v21u1v2v1v2v2)A_{i}=\begin{pmatrix}u_{1}&v_{1}&1&0&0&0&-u_{1}u_{2}&-v_{1}u_{2}&-u_{2} \\0&0&0&u_{2}&v_{2}&1&u_{1}v_{2}&-v_{1}v_{2}&-v_{2}\end{pmatrix}
      h=(h1h2h3h4h5h6h7h8h9)h^{*}=\begin{pmatrix}h_{1}&h_{2}&h_{3}&h_{4}&h_{5}&h_{6}&h_{7}&h_{8}&h_{9}\end{pmatrix}

改写为:            Aih=0A_{i}h=0

总结:
多视图几何入门基础--相机模型与投影变换

二、 相机模型

1. 针孔相机模型(如下图)

多视图几何入门基础--相机模型与投影变换
世界坐标系中的点到针孔相机像平面变换为
                  (fXfYZ)=[ff1][101010](XYZ1)\begin{pmatrix}fX\\fY\\Z\end{pmatrix}=\begin{bmatrix}f\\&f\\&&1\end{bmatrix}\begin{bmatrix}1&&&0\\&1&&0\\&&1&0\end{bmatrix}\begin{pmatrix}X\\Y\\Z\\1\end{pmatrix}
                             KK         [Rt][R|t]
   KK为相机内参矩阵; [Rt][R|t]为旋转位移矩阵

由于装调等误差,存在主点的偏移:
                  (fX/Z+x0fY/Z+x01)\begin{pmatrix}fX/Z+x_{0}\\fY/Z+x_{0}\\1\end{pmatrix}~(fX+Zx0fY+Zx0Z)=[fx00fy0010](XYZ1)\begin{pmatrix}fX+Zx_{0}\\fY+Zx_{0}\\Z\end{pmatrix}=\begin{bmatrix}f&&x_{0}&0\\&f&y_{0}&0\\&&1&0\end{bmatrix}\begin{pmatrix}X\\Y\\Z\\1\end{pmatrix}

透视相机模型,其内参矩阵增加了一个扭曲因子s:
                         K=[fsx0fy01]K=\begin{bmatrix}f&s&x_{0}\\&f&y_{0}\\&&1\end{bmatrix}

径向畸变:

2. 相机外参(旋转和平移)

多视图几何入门基础--相机模型与投影变换

三、单应矩阵与常见投影变换

1. 单应矩阵

多视图几何入门基础--相机模型与投影变换
这里描述了一副图像,经过纯旋转后得到的图像,其中共有的点可以用以上矩阵关系描述,这个矩阵称为单应矩阵,H等于

2. 平面投影变换

选择一个世界坐标系,使得平面上的点在该坐标系下Z坐标为0,可以推导投影矩阵

这个矩阵描述了三维平面到图像平面的射影变换:
A.使用透视相机时,最常见的一种从世界坐标系到图像平面的变换
B.两平面的映射用该3*3的矩阵表示
C.射影变换通常也称为“单应性映射”
D.H有八个自由度

3. 其它变换

弱透视变换:
多视图几何入门基础--相机模型与投影变换
正交投影:
多视图几何入门基础--相机模型与投影变换

四、双视图几何

  1. 对极几何
    多视图几何入门基础--相机模型与投影变换
  2. 求解基础矩阵F

第一次更新:19.11.15 15:50

相关文章:

  • 2022-02-26
  • 2021-04-03
  • 2021-06-08
  • 2021-06-08
  • 2021-05-04
  • 2021-11-24
  • 2021-07-21
猜你喜欢
  • 2022-01-03
  • 2022-12-23
  • 2021-07-20
  • 2022-12-23
  • 2021-05-26
  • 2021-12-23
  • 2021-10-10
相关资源
相似解决方案