一. SVD证明Ax=0的解是A=UDV^(T)中V的最后一列
参考:ORBSLAM2之单目初始化(2)_windistance的博客-CSDN博客
下面这一节的结果非常非常重要,用于检验三角化是否成功。y前面说了,不能为0.
三角化的含义在于(解决了你之前的一个大问题,单目测量深度)
输入:多幅图像帧对同一个世界坐标系下的特征点观测得到的相机归一化坐标,多幅图像帧各自的的Rwc,twc
输出:此特征点的世界坐标
局限性:我们不知道这个坐标到底是米,厘米,还是毫米。
你的实现算法代码如下
Eigen::Vector3d P_est; // 结果保存到这个变量
P_est.setZero();
/* your code begin */
// 构造矩阵D
Eigen::MatrixXd D = Eigen::MatrixXd::Zero(2*(end_frame_id - start_frame_id ), 4);
for (int i = start_frame_id; i < end_frame_id; i++)
{
// Eigen::Matrix<double, 1, 4> Pk3_t;
Eigen::Matrix3d Rcw = camera_pose[i].Rwc.transpose();