日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多视图几何总结——从本质矩阵恢复摄像机矩阵

發布時間:2025/3/20 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多视图几何总结——从本质矩阵恢复摄像机矩阵 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

多視圖幾何總結——等距變換、相似變換、仿射變換和射影變換

  • 多視圖幾何總結——從本質矩陣恢復攝像機矩陣
    • (1)本質矩陣性質
    • (2)從本質矩陣恢復攝像機矩陣

多視圖幾何總結——從本質矩陣恢復攝像機矩陣

本質矩陣是歸一化坐標下基本矩陣的特殊形式,具有五個自由度,我們通過八點法或者五點法可以求出本質矩陣,那么我們如何從中恢復出我們實際想要的RRRttt呢?我們得從性質入手。

(1)本質矩陣性質

多視圖幾何上定義:一個3×3的矩陣是本質矩陣的充要條件是它的奇異值中有兩個相等而第三個是0,為什么呢?
首先我們知道E=[t]×R=SRE=[t]_{ \times} R=S RE=[t]×?R=SR其中S為反對稱矩陣,反對稱矩陣有什么性質呢?

結論1:如果SSS是實的反對稱矩陣,那么S=UBUTS=UBU^TS=UBUT,其中BBB為形如diag(a1Z,a2Z...amZ,0,0...0)diag(a_1Z,a_2Z...a_mZ,0,0...0)diag(a1?Za2?Z...am?Z00...0)的分塊對角陣,其中Z=[01?10]Z=\begin{bmatrix}0 & 1 \\ -1 & 0\end{bmatrix}Z=[0?1?10?],反對稱矩陣的特征矢量都是純虛數并且奇數階的反對稱矩陣必是奇異的

那么根據這個結論我們可以將SSS矩陣寫成S=kUZU?\mathrm{S}=k \mathrm{UZU}^{\top}S=kUZU?,而Z\mathrm{Z}ZZ=[010?100000]\mathrm{Z}=\left[ \begin{array}{ccc}{0} & {1} & {0} \\ {-1} & {0} & {0} \\ {0} & {0} & {0}\end{array}\right] Z=???0?10?100?000????ZZZ由可以寫成Z=diag?(1,1,0)W\mathrm{Z}=\operatorname{diag}(1,1,0) \mathrm{W}Z=diag(1,1,0)W,其中W\mathrm{W}WW=[0?10100001]\mathrm{W}=\left[ \begin{array}{ccc}{0} & {-1} & {0} \\ {1} & {0} & {0} \\ {0} & {0} & {1}\end{array}\right] W=???010??100?001????因此這個EEE矩陣可以分解為E=SR=Udiag?(1,1,0)(WU?R)\mathrm{E}=\mathrm{SR}=\mathrm{U} \operatorname{diag}(1,1,0)\left(\mathrm{WU}^{\top} \mathrm{R}\right) E=SR=Udiag(1,1,0)(WU?R)這樣就證明了EEE擁有兩個相等的奇異值


(2)從本質矩陣恢復攝像機矩陣

假定第一個攝像機矩陣是P=[I∣0]\mathrm{P}=[\mathrm{I} | 0]P=[I0],為了計算第二個攝像機矩陣P′\mathrm{P}^{\prime}P,必須把EEE矩陣分解為反對成舉著和旋轉矩陣的乘積SR\mathrm{SR}SR
還是根據上面的結論一,我們在相差一個常數因子的前提下有S=UZUT\mathrm{S}=\mathrm{U} \mathrm{ZU}^{\mathrm{T}}S=UZUT,我們假設旋轉矩陣分解為UXVT\mathrm{UXV}^{\mathrm{T}}UXVT,則有Udiag?(1,1,0)VT=E=SR=(UZUT)(UXV?)=U(ZX)VT\mathrm{U} \operatorname{diag}(1,1,0) \mathrm{V}^{\mathrm{T}}=\mathrm{E}=\mathrm{SR}=\left(\mathrm{UZU}^{\mathrm{T}}\right)\left(\mathrm{UXV}^{\top}\right)=\mathrm{U}(\mathrm{ZX}) \mathrm{V}^{\mathrm{T}} Udiag(1,1,0)VT=E=SR=(UZUT)(UXV?)=U(ZX)VT則有ZX=diag?(1,1,0)\mathrm{ZX}=\operatorname{diag}(1,1,0)ZX=diag(1,1,0),因此x=W\mathrm{x}=\mathrm{W}x=W或者X=WT\mathrm{X}=\mathrm{W}^{\mathrm{T}}X=WT

結論:如果EEE的SVD分解為Udiag?(1,1,0)V?\mathrm{U} \operatorname{diag}(1,1,0) \mathrm{V}^{\top}Udiag(1,1,0)V?E=SR\mathrm{E}=\mathrm{SR}E=SR有兩種分解形式,分別是:S=UZU?R=UWVTor?UW?TV?\mathrm{S}=\mathrm{UZU}^{\top} \quad \mathrm{R}=\mathrm{UWV}^{\mathrm{T}} \text {or UW }^{\mathrm{T}} \mathrm{V}^{\top} S=UZU?R=UWVTor?UW?TV?

接著分析,又因為St=0\mathrm{St}=0St=0(自己和自己叉乘肯定為0嘛)以及∥t∥=1\|\mathbf{t}\|=1t=1(對兩個攝像機矩陣的基線的一種常用歸一化),因此t=U(0,0,1)T=u3\mathbf{t}=\mathrm{U}(0,0,1)^{\mathrm{T}}=\mathbf{u}_{3}t=U(0,0,1)T=u3?,即矩陣UUU的最后一列,這樣的好處是不用再去求SSS了,應為t\mathbf{t}t的符號不確定,RRR矩陣有兩種可能,因此其分解有如下四種情況:P′=[UWVT∣+u3]or?[UWVT∣?u3]or[UWTVT∣+u3]or?[UWTVT∣?u3]\mathrm{P}^{\prime}=\left[\mathrm{UWV}^{\mathrm{T}} |+\mathbf{u}_{3}\right] \text { or }\left[\mathrm{UWV}^{\mathrm{T}} |-\mathbf{u}_{3}\right] or \left[\mathrm{UW}^{\mathrm{T}} \mathrm{V}^{\mathrm{T}} |+\mathbf{u}_{3}\right] \text { or }\left[\mathrm{UW}^{\mathrm{T}} \mathrm{V}^{\mathrm{T}} |-\mathbf{u}_{3}\right] P=[UWVT+u3?]?or?[UWVT?u3?]or[UWTVT+u3?]?or?[UWTVT?u3?]
就是下面這張圖展示的

然后用空間中的一個點作測試,驗證它是否在兩個攝像機前面就可以從兩個不同解中確定一個作為攝像機矩陣

到這里就OK啦,有問題歡迎交流~

此外,對SLAM算法感興趣的同學可以看考我的博客SLAM算法總結——經典SLAM算法框架總結

總結

以上是生活随笔為你收集整理的多视图几何总结——从本质矩阵恢复摄像机矩阵的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。