由E求R,t的数学原理

我们知道E=t^R=t_x*R
一个向量a叉乘一个向量b可以表示为一个反对称矩阵乘以向量b的形式这时由向量a表示的反对称矩阵(skew symmetric matrix)如下:
叉乘矩阵t_x = [0 -a3 a2;
a3 0 -a1;
-a2 a1 0 ]
已知E,如何求R,t?(当然MATLAB stereo camera calibration工具箱都可以直接求出来,这里我们看一下背后的原理)
本征矩阵的性质:
  一个3x3的矩阵是本征矩阵的充要条件是对它奇异值分解后,它有两个相等的奇异值,并且第三个奇异值为0。
  把E,svd分解(MATLAB代码如下:)
在这里插入图片描述
其中RZ(π/2)表示绕Z轴旋转90度得到的旋转矩阵:
在这里插入图片描述
在这里插入图片描述
(这里的∑即为svd分解得到的D)
从R,T的计算公式中可以看到R,T都有两种情况,组合起来R,T有4种组合方式。由于一组R,T就决定了摄像机光心坐标系C的位姿,所以选择正确R、T的方式就是,把所有特征点的深度计算出来,看深度值是不是都大于0,深度都大于0的那组R,T就是正确的。
在这里插入图片描述
但由于尺度scale的关系,不同的t,决定了以后计算点P的深度也是不同的,所以恢复的物体深度也是跟尺度scale有关的(详情见https://blog.csdn.net/heyijia0327/article/details/50758944)

猜你喜欢

转载自blog.csdn.net/qq_33591712/article/details/85115139