Matchmoving related issues
1. Feature tracking:
5. SFM(Structure from motion): Bundle adjustment for projective reconstruction
量測矩陣M為等式左邊所有特徵點代入之矩陣。對M做SVD可找出P及X近似值。
- 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中的位置
實際上:
解法參: 淺談基礎矩陣,本質矩陣與相機移動
3. Singular value decomposition (SVD): 用於解一個非對稱矩陣的eigenvalues, eigenvectors.
4. Triangulation: 探討當已知兩張從不同角度拍攝的物體影像,如何建構出3D物體資訊。
理論上: 簡單數學幾何關係即可找出物體在3D中的位置
- 兩個相機不會剛好平行
- 需要在影像上找到確定地相對特徵點
- 相機事先校正
- 在epipolar line上找對應特徵點 (Sum of Squared Differences (SSD) algorithm, Energy minimization algorithm)
- Image rectification使相對應特徵點平行
- OpenCV function: trinagulatePoints (參: triangulate 3d points from a stereo camera and chessboard.)
實際雙眼視覺reconstruction流程:
- Calibrate cameras (得到相機參數)
- Rectify images (對齊特徵點)
- Compute disparity (特徵點距離)
- 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
以矩陣形式表示:
留言
張貼留言