Matchmoving related issues

1. Feature tracking:
  • Harris + KLT (一般常用的組合),  SIFT (比較穩,但計算時間也較長) , Controlled environment (可確保特徵點匹配準確)
  • Challenges: Removing false corners (需濾掉匹配錯誤的特徵點), assuming stationary background (物體靜止較方便相機姿態估算), deleting short tracks (盡量用會一直出現的特徵點), growing matches (盡可能增加穩健特徵點數量).
2. Essential matrix: 當已知相機參數時,Fundamental matrix可簡化為Essential matrix。對Essential matrix進行SVD分解可進一步求得兩相機座標系統之間的R和T (假設兩張圖由不同位置之相機所拍攝)。
解法參: 淺談基礎矩陣,本質矩陣與相機移動

3. Singular value decomposition (SVD): 用於解一個非對稱矩陣的eigenvalues, eigenvectors.

4. Triangulation: 探討當已知兩張從不同角度拍攝的物體影像,如何建構出3D物體資訊。

理論上: 簡單數學幾何關係即可找出物體在3D中的位置


實際上:
  1. 兩個相機不會剛好平行
  2. 需要在影像上找到確定地相對特徵點
解決方法:
  1. 相機事先校正
  2. 在epipolar line上找對應特徵點 (Sum of Squared Differences (SSD) algorithm, Energy minimization algorithm)
  3. Image rectification使相對應特徵點平行

實際雙眼視覺reconstruction流程:
  1. Calibrate cameras (得到相機參數)
  2. Rectify images (對齊特徵點)
  3. Compute disparity (特徵點距離)
  4. Estimate depth
Possible errors sources:
  • Camera calibration errors (focal length)
  • Poor image resolution
  • Occlusions (feature points are not existing on both images)
  • Large motions
  • Low-contrast image regions
  • Violations of brightness constancy
5. SFM(Structure from motion): Bundle adjustment for projective reconstruction


P 為內部參數與外部參數的乘積。 X為被觀察的空間點。使式(37)為最小的PX即為解。

以矩陣形式表示:

量測矩陣M為等式左邊所有特徵點代入之矩陣。對M做SVD可找出PX近似值。

實際求解步驟:
重點:

  1. 將所有特徵點正交化。(Normalized)
  2. D4為D的前四個值構成的矩陣。
  3. 將解出來的PX投影到影像上,跟量測值做比較,若差異太大,則需再重解一次PX
  4. 若連續的影像差異太小,可以取間隔的影像 (提高求解穩定度)。

思考:
  1. Video Stabilization (可用於相機Camera zoom in 的時候或跟拍的時候)
  2. 如何找到PX最佳解? (不要只單純和觀察特徵點比較)

留言

這個網誌中的熱門文章

Tuing PID parameters in QGroundcontrol (2)

Useful PX4 Parameters

Burn linux image to eMMC storage on Banana Pi M3