簡體   English   中英

使用基本矩陣的相對姿勢估計:R和T錯誤

[英]Relative pose estimation using essential matrix: Wrong R and T

我正在嘗試在opencv中使用基本矩陣方法來獲得一個相機相對於另一個相機的姿態的R和t。 我要遵循的過程是:

  1. 使用SIFT標記特征
  2. 使用FLANN匹配來匹配特征
  3. 計算基本矩陣。
  4. 計算基本矩陣
  5. 執行SVD獲得U,W,Vt
  6. 根據歸一化/均質化的點是否在相機的前面,檢查R和t的哪種組合是正確的。

為了進行簡單檢查,我使用了一副圖像對但對同一圖像進行了兩次測試(以便相機和圖像點均未移動),因此平移矢量應為null,旋轉應為恆等。 但是程序的輸出最終是錯誤的。

The fundamental matrix is
[[  3.59955121e-17  -5.77350269e-01   2.88675135e-01]
 [  5.77350269e-01   5.55111512e-17   2.88675135e-01]
 [ -2.88675135e-01  -2.88675135e-01   0.00000000e+00]]

Fundamental matrix error check: 0.000000

The essential matrix is
[[  4.51463713e-10  -7.25229650e+06  -2.37367600e+06]
 [  7.25229650e+06   6.98357978e-10   4.27847619e+06]
 [  2.37367600e+06  -4.27847619e+06  -1.33013600e-10]]

Translation matrix is
[-0.48905495 -0.2713251   0.82898007]

Rotation matrix is
[[ 0.52165052 -0.26538577  0.8108336 ]
 [-0.26538577  0.85276538  0.4498462 ]
 [ 0.8108336   0.4498462  -0.3744159 ]]
Roll: -26.965168, Pitch: 129.775110, Yaw: -54.179055

我還使用了一對在X軸上相距一定距離的相機使用此代碼:但是,使用此技術獲得的歐拉角和平移(這里我認為是兩個相機矩陣而不是一個)仍然是錯誤的。 平移矢量告訴我,我同時移動了X和Z,並且旋轉矩陣不准確。 我對這里可能出什么問題感到困惑。 任何建議將非常有幫助。 謝謝!

編輯:我的代碼可以在這里查看

我認為,在繼續使用匹配功能之前,您需要使用相機矩陣和失真系數來使圖像失真。 我知道這為時已晚,但希望對其他人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM