Combining Two-viewConstraints For Motion Estimation
作者:Venu Madhav Govindu
出处:2001 CVPR
做了什么:使用两视图约束进行运动估计,提出了两种方法:线性拟合和直接估计
线性拟合怎么做的:
1. 分为两个阶段:旋转估计和运动估计
2. 旋转估计:
输入:N幅图像之间的相对旋转矩阵
输出:(N-1)个相对参考帧的全局旋转矩阵
要点:
- 估计N幅图像的全局旋转需要的相对旋转数量在至少是(N-1)个,但是实际上N幅图像能提供的相对旋转可以多达N(N-1)/2个;
- 由于噪声,组合约束(比如)并不严格成立,也就是估计的(N-1)个全局旋转矩阵彼此不严格一致(即 不严格成立);
- 需要寻找(N-1)个能对相对旋转矩阵集合进行最佳拟合的全局旋转矩阵;
- 由于只需要求解(N-1)*4个未知量,却提供了至多N(N-1)/2*4个方程组,因此方程组往往高度冗余
- 无噪声时: ,有噪声时加入旋转误差(论文假设该误差的旋转方向服从均匀分布,旋转角服从高斯分布): 。论文中接着推导出了如下等式(不知道怎么来的): 。由于旋转矩阵有正交的约束,而直接求解的话这个约束不好施加,因此使用四元数表达旋转矩阵,等式 可以转化成:,其中的一一对应关系很明显,只是需要注意的是是个矩阵(我也不知道为什么是矩阵) 。联立求解所有的,就可以算出所有的(到底怎么算还是不懂)。论文说求解出的是最小二乘解(还是不知道为什么)。
3. 平移估计
输入:N幅图像之间的相对旋转矩阵
输出:N幅图像的平移
要点:
- 平移方向与相机的平移量之间有如下关系: (不知道为什么会有一个 )
- 与旋转估计一样,平移估计也会受到噪声影响,由于 只表示方向,因此只能对平移方向的误差进行建模(而不能对平移量建模),带有误差的模型为: 。
- 迭代计算过程:
线性拟合效果如何:
论文举了几个例子:
- 3D运动估计:先用八点算法算出帧之间的本质矩阵,然后分解本质矩阵得到相对旋转矩阵和平移方向向量,最后用上面的算法算出全局的旋转和平移。
- 相机内参和外参标定
(线性拟合没怎么看懂,主要是不知道旋转估计到底是怎么算的)
直接估计怎么做的:
利用对极约束建立目标函数:
由于不涉及结构的计算,所以能减少计算量。
直接估计效果如何:论文太老了,实验没看