双视图几何:为什么旋转一个相机会导致平移发生变化?
Two-view geometry: why is rotating one camera causing a change in translation?
基于对极几何的姿态估计存在一个问题,这让我很困惑。我正在使用 OpenCV 实现 David Nister 的五点算法,使用图像之间的点对应来计算姿势。
假设两个相机被基线 b 分开:在进行姿态估计之后,我得到了一个类似于 [1,0,0] 的比例 t 矩阵。现在,如果我将其中一个相机旋转 30 度,没有平移变化(假设我们仍然有足够的特征匹配),我希望看到像 (0, 30, 0) 这样的旋转角度和 t 矩阵仍然是 (1, 0,0).但就我而言,我得到了正确的 R (0, 30 deg, 0),但 t 变成了类似 (0.7, 0, 0.7) 的值:z 平移发生了变化。任何人都可以向我解释为什么会这样吗?
谢谢!
您旋转的是摄像头 1 还是摄像头 2?如果旋转相机 1,则旋转整个坐标系。现在摄像机 2 的中心不再在 XY 平面上。
基于对极几何的姿态估计存在一个问题,这让我很困惑。我正在使用 OpenCV 实现 David Nister 的五点算法,使用图像之间的点对应来计算姿势。
假设两个相机被基线 b 分开:在进行姿态估计之后,我得到了一个类似于 [1,0,0] 的比例 t 矩阵。现在,如果我将其中一个相机旋转 30 度,没有平移变化(假设我们仍然有足够的特征匹配),我希望看到像 (0, 30, 0) 这样的旋转角度和 t 矩阵仍然是 (1, 0,0).但就我而言,我得到了正确的 R (0, 30 deg, 0),但 t 变成了类似 (0.7, 0, 0.7) 的值:z 平移发生了变化。任何人都可以向我解释为什么会这样吗?
谢谢!
您旋转的是摄像头 1 还是摄像头 2?如果旋转相机 1,则旋转整个坐标系。现在摄像机 2 的中心不再在 XY 平面上。