基本矩阵的相对摄像机姿态估计

时间:2015-04-14 08:07:24

标签: opencv camera computer-vision

我想用一台相机来估算帧的相对相机姿势。

为实现这一目标,采取以下步骤。

  1. 校准相机获取相机参数K
  2. 使用SIFT / SURF
  3. 查找相应的点
  4. 基本矩阵识别;使用findFundamentalMat(),并输入匹配点2D
  5. 通过E = K'FK估计基本矩阵并修改E用于奇点约束
  6. 分解基本矩阵得到旋转,R = UWVt / UW'Vt(U和Vt得到E的SVD),得到平移t;
  7. 但是这样做之后,翻译t太小了。假设初始摄像机位置是(0,0,0)。摄像机向前移动20cm后,下一个姿势是(0,0,20),真正的翻译应该是20厘米。两者的水平是完全不同的。

    怎么了?如何从翻译矩阵中获取真实的翻译?你能帮助我吗?

1 个答案:

答案 0 :(得分:1)

基本矩阵仅按比例定义。从分解E得到的平移向量是单位向量。如果没有更多信息,您无法获得世界单位中相机之间的实际距离,例如场景中已知大小的参考对象。