多视图几何总结——等距变换、相似变换、仿射变换和射影变换
多視圖幾何總結——等距變換、相似變換、仿射變換和射影變換
- 多視圖幾何總結——等距變換、相似變換、仿射變換和射影變換
- 等距變換
- 相似變化
- 仿射變換
- 射影變換
- 總結
多視圖幾何總結——等距變換、相似變換、仿射變換和射影變換
多視圖幾何再2.4節中介紹好幾種變換,有時候容易繞懵,這里花點時間簡單總結下
首先只管感受下這幾種變換
其中圖a是相似變換,其效果是圓仍然是圓,正方形仍然是正方形;圖b是仿射變換,其效果是圓變成橢圓,垂線不再垂直;圖c是射影變換,其效果是平行線變成匯聚線,下面分別從數學層面介紹這幾種變換。
等距變換
等距變換也就是我們在機器人中所學的剛體變換,其分塊形式為
其中RRR為旋轉矩陣(為正交陣),ttt為平移矢量,在平面等距變換中矩陣一共有三個自由度,旋轉一個,平移兩個
其變換不變量是:長度、角度和面積
相似變化
相似變換是等距變換與均勻縮放的復合,其分塊形式為:
觀察矩陣形式,其實就是在旋轉矩陣上加了一個縮放因子s,其一共有四個自由度,因為比等距變換多了一個自由度
其不變量為:長度的比率、角度和面積的比率
仿射變換
其分塊形式為
其中A是一個2×22×22×2的非奇異矩陣,因此仿射變換一共六個自由度,其中比較有意思的是對矩陣AAA的理解,可以對AAA進行SVD分解A=UDVT=(UVT)(VDVT)=R(θ)(R(??)DR(?))A=UDV^T=(UV^T)(VDV^T)=R(\theta)(R(-\phi)DR(\phi))A=UDVT=(UVT)(VDVT)=R(θ)(R(??)DR(?))因此仿射矩陣可以看成一個旋轉(?)(\phi)(?),加上在已旋轉的xxx和yyy方向分別進行比例因子λ1\lambda_1λ1?和λ2\lambda_2λ2?(分解出來的特征值或者說矩陣DDD的對角線元素)分別進行按比例縮放,再加上一個回轉(??)(-\phi)(??)和最后一個旋轉的符合類型(θ)(\theta)(θ),這在我學矩陣論是遇到SVD分解時就思考過的問題,這里解釋得很好,可以參考下圖理解
其不變量為:平行線段的長度比,平行線和面積比(所有面積都縮放λ1λ2\lambda_1 \lambda_2λ1?λ2?倍)
補充:
仿射變換是保持無窮遠線不變形的最一般的線性變換,這句話的意思就是說,例如射影變換是會將無窮遠點變成有限點,因此原本平行的直線不再平行,而仿射變換之后平行直線仍然平行,因為其不改變無窮遠點的性質
射影變換
其分塊形式為
仿射變換是非齊次坐標的一般非奇異線性變換和一個平移的符合,其一共具有八個自由度
其不變量為:共點,共線,接觸的階還有長度的比率的比率
總結
這里可以注意下仿射變換和射影變換的區別如下:
仿射變換
射影變換
其中(x1,x2.0)T(x_1,x_2.0)^T(x1?,x2?.0)T是無窮遠點(無窮遠點的表示方法就是其次坐標最后一位為0),可以發現通過仿射變換無窮遠點還是無窮遠點,但是通過射影變換可以將無窮遠點變換為有限點,正因為如此,射影變換可以完成消除透視失真操作:
最后鋪上一張多視圖幾何中關于幾種變換的總結表:
有問題歡迎交流指正~
此外,對SLAM算法感興趣的同學可以看考我的博客SLAM算法總結——經典SLAM算法框架總結
總結
以上是生活随笔為你收集整理的多视图几何总结——等距变换、相似变换、仿射变换和射影变换的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ros2_object_analytic
- 下一篇: 多视图几何总结——从本质矩阵恢复摄像机矩