Computer vision 在给定立体图像的相对旋转和固有矩阵的情况下,如何估计摄像机平移?

Computer vision 在给定立体图像的相对旋转和固有矩阵的情况下,如何估计摄像机平移?,computer-vision,camera-calibration,extrinsic-parameters,Computer Vision,Camera Calibration,Extrinsic Parameters,我有两个图像(左和右)的一个场景捕捉到一个单一的相机。 我知道两个图像的内在矩阵K_L和K_R,以及两个摄像机之间的相对旋转R 如何计算两台摄像机之间的精确相对平移t? 除非您有单独的方法来解析比例,例如通过观察已知大小的对象,或通过传感器(如激光雷达)提供与地平面或两个视图中可见对象的距离,否则只能按比例进行 也就是说,解决方案相当简单。你可以通过计算然后分解基本矩阵来实现,但是这里有一个更直观的方法。设xl和xr为两个视图中同质图像坐标中的两个匹配像素,设X为其对应的3D世界点,以左摄像机坐

我有两个图像(左和右)的一个场景捕捉到一个单一的相机。 我知道两个图像的内在矩阵
K_L
K_R
,以及两个摄像机之间的相对旋转
R

如何计算两台摄像机之间的精确相对平移
t


除非您有单独的方法来解析比例,例如通过观察已知大小的对象,或通过传感器(如激光雷达)提供与地平面或两个视图中可见对象的距离,否则只能按比例进行

也就是说,解决方案相当简单。你可以通过计算然后分解基本矩阵来实现,但是这里有一个更直观的方法。设xl和xr为两个视图中同质图像坐标中的两个匹配像素,设X为其对应的3D世界点,以左摄像机坐标表示。设Kli和Kri分别为左右摄像机矩阵Kl和Kr的逆矩阵。用R和t表示从右摄像机坐标到左摄像机坐标的变换。然后是:

X = sl * Kli * xl = t + sr * R * Kri * xr
其中,sl和sr分别是从左摄影机和右摄影机向后投影到点X的左光线和右光线的比例

上面的第二个等式表示5个未知数中的3个标量方程:t、sl和sr的3个分量。根据您掌握的其他信息,您可以用不同的方法求解


例如,如果您知道(例如,通过激光雷达测量)从相机到X的距离,则可以从上面的方程中删除比例项并直接求解。如果有一段已知长度的[X1,X2]在两幅图像中都是可见的,您可以像上面那样写出两个方程,然后再次直接求解

您只能按比例进行,除非您有单独的方法来解析比例,例如通过观察已知大小的对象,或通过传感器(如激光雷达)提供与地平面或两个视图中可见对象的距离

也就是说,解决方案相当简单。你可以通过计算然后分解基本矩阵来实现,但是这里有一个更直观的方法。设xl和xr为两个视图中同质图像坐标中的两个匹配像素,设X为其对应的3D世界点,以左摄像机坐标表示。设Kli和Kri分别为左右摄像机矩阵Kl和Kr的逆矩阵。用R和t表示从右摄像机坐标到左摄像机坐标的变换。然后是:

X = sl * Kli * xl = t + sr * R * Kri * xr
其中,sl和sr分别是从左摄影机和右摄影机向后投影到点X的左光线和右光线的比例

上面的第二个等式表示5个未知数中的3个标量方程:t、sl和sr的3个分量。根据您掌握的其他信息,您可以用不同的方法求解


例如,如果您知道(例如,通过激光雷达测量)从相机到X的距离,则可以从上面的方程中删除比例项并直接求解。如果有一段已知长度的[X1,X2]在两幅图像中都是可见的,您可以像上面那样写出两个方程,然后再次直接求解

(不幸的是)我知道你描述的两种方法。我希望有一种方法可以获得精确的刻度(例如米)。如果我额外知道像素的物理大小,或者有多张场景照片(具有匹配点和相对旋转),这样的事情可能发生吗?谢谢。如果没有额外的信息,你永远无法单独从图像中检索比例:你的相机可能相距1米,看着你的厨房,或者相距10厘米,看着比例为1:10的厨房模型。如果你能分辨出《星球大战》不是一部好电影,整个VFX行业也不存在。在这种情况下,t是标准化版本还是非标准化版本@Francesco@IsolatedSushi不知道你的意思。(不幸的是)我知道你描述的两种方法。我希望有一种方法可以获得精确的刻度(例如米)。如果我额外知道像素的物理大小,或者有多张场景照片(具有匹配点和相对旋转),这样的事情可能发生吗?谢谢。如果没有额外的信息,你永远无法单独从图像中检索比例:你的相机可能相距1米,看着你的厨房,或者相距10厘米,看着比例为1:10的厨房模型。如果你能分辨出《星球大战》不是一部好电影,整个VFX行业也不存在。在这种情况下,t是标准化版本还是非标准化版本@Francesco@IsolatedSushi不知道你的意思。