多視圖幾何入門基礎--相機模型與投影變換

摘要: 本文來自章國峯_相機模型與投影變換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}

徑向畸變:設畸變量爲R(x,y)R(x,y),則R(x,y)=(1+k1r2+k2r4+...)R(x,y)=(1+k_{1}r^{2}+k_{2}r^{4}+...)

2. 相機外參(旋轉和平移)

在這裏插入圖片描述
相機座標和世界座標的轉換關係爲{Xc=RXw+tXw=RXc+t\left\{\begin{matrix}X_{c}=RX_{w}+t \\X_{w}=R^{'}X_{c}+t^{'} \end{matrix}\right.,其中{R=R1t=R1t\left\{\begin{matrix}R^{'}=R^{-1} \\t^{'}=-R^{-1}t \end{matrix}\right.

三、單應矩陣與常見投影變換

1. 單應矩陣

在這裏插入圖片描述
這裏描述了一副圖像,經過純旋轉後得到的圖像,其中共有的點可以用以上矩陣關係描述,這個矩陣稱爲單應矩陣,H可以表示爲H=K2RK11H=K_{2}RK_{1}^{-1}。使用點來表示H形成的對應關係,可以是
                 c(u2v21)=(h1h2h3h4h5h6h7h8h9)(u1v11)c\begin{pmatrix}u_{2} \\v_{2} \\1 \end{pmatrix}=\begin{pmatrix}h_{1}&h_{2}&h_{3} \\h_{4}&h_{5}&h_{6} \\h_{7}&h_{8}&h_{9} \end{pmatrix}\begin{pmatrix}u_{1} \\v_{1} \\1 \end{pmatrix}
其中(u2v21)\begin{pmatrix}u_{2} \\v_{2} \\1 \end{pmatrix}(u1v11)\begin{pmatrix}u_{1} \\v_{1} \\1 \end{pmatrix}分別表示第二幅圖和第一幅圖中對應點的座標。

2. 平面投影變換

選擇一個世界座標系,使得平面上的點在該座標系下Z座標爲0,可以推導投影矩陣
     (x1x2x3)=(p11p12p13p14p21p22p23p24p31p32p33p34)=(XY01)=(p11p12p14p21p22p24p31p32p34)(XY1)\begin{pmatrix}x_{1} \\x_{2} \\x_{3} \end{pmatrix}=\begin{pmatrix}p_{11}&p_{12}&p_{13}&p_{14} \\p_{21}&p_{22}&p_{23}&p_{24} \\p_{31}&p_{32}&p_{33}&p_{34} \end{pmatrix}=\begin{pmatrix}X \\Y \\0 \\1 \end{pmatrix}=\begin{pmatrix}p_{11}&p_{12}&p_{14} \\p_{21}&p_{22}&p_{24} \\p_{31}&p_{32}&p_{34} \end{pmatrix}\begin{pmatrix}X \\Y \\1 \end{pmatrix}
這個矩陣描述了三維平面到圖像平面的射影變換:
A.使用透視相機時,最常見的一種從世界座標系到圖像平面的變換
B.兩平面的映射用該3*3的矩陣表示
C.射影變換通常也稱爲“單應性映射”
D.H有八個自由度
                

3. 其它變換

弱透視變換:景物平面到相機面座標是是比例關係
在這裏插入圖片描述
正交投影:兩平面座標大小相等,符號相反
在這裏插入圖片描述

四、雙視圖幾何

1. 對極幾何

在這裏插入圖片描述
對極幾何是兩視圖之間滿足的關係,指兩幅視圖上對應的點滿足:
               xFx=0x^{'}Fx=0
這裏的矩陣F,稱爲基礎矩陣(Fundamental matrix)。

2. 求解基礎矩陣F

第一次更新:19.11.15 15:50

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章