两个步骤,第一步是判断是否所有关键帧为空,如果是,就把它设置为第一帧。
第二步就以第一帧为reference, 求 Rt. 这个Rt, 是无scale的。
bool MonoInitializer::initialize(const std::shared_ptr& frame, Sophus::SE3f& pose)
当前帧进来,使用光流法,进行匹配点寻找; 然后调用
modelSelector->select(this->K, this->refPoints, this->prevPoints, motion)
这里是不考虑曝光因素的,只是算出了pose。
最后调用
- // insert frame as keyframe and optimize
- this->createKeyframeAndOptimize(frame);
把三维点给恢复出来,同时优化曝光误差。