VINS_Fusion前端的特征追踪策略在feature_tracker.cpp中。主要是TrackImage这个函数。 map<int, vector<pair<int, Eigen::Matrix<double, 7, 1>>> FeatureTracker::trackImage(double _cur_time, const cv::Mat &_img, const cv::Mat &_img1) 这个函数是图片信息中特征追踪的函数需要好好研究 输入参数*doub...
图2:特征点光流追踪类(class FeatureTracker)重构版预览 图3:特征点管理类(class FeatureManager)重构版预览 图4:边缘化(MarginalizationInfo::marginalize函数)详细注释预览 尽管做了以上重构,但VINS-Fusion-Understood的代码内容是严格忠实于原版的,在精度和运行性能上也并无二致,下图是原版和Understood版的运行结果对比。
前端程序入口为,可以发现VINS-Fusion是支持双目输入的,但我们主要关注特征的提取与追踪,这一块内容与双目的关系不是很大。 FeatureFrametrackImage(doubletime_in,constcv::Mat 0,constcv::Mat 1=cv::Mat()); 前端主要靠goodFeatures算法进行特征点的提取,这个算法实际上是一种对Harris角点的改进,称为Shi-Tomasi...
featureBuf 为estimator的一个public数据成员 , queue<pair<double,map<int,vector<pair<int,Eigen::Matrix<double,7,1>>>featureBuf; (需要注意,VINS-Mono里面feature_tracker和estimator是完全分开的,而这里feature_tracker包含在estimator里,唯一的差别在于减少了前端跟踪和后端之间的rostopic的发布和订阅) 而在 mai...
VINS_estimator是VINS_Fusion的节点,其不包含回环检测部分,该节点可以单独对相机进行位姿估计。 rosNodeTest.cpp rosNodeTest.cpp是vins_estimator节点的程序入口。主要实现以下函数。 主程序包含以下流程: 读取配置文件参数 readParameter() 订阅了四个话题,分别是imu、双目相机图像以及feature_tracker所提供的跟踪光流点...
*/ros::Subscriber sub_imu=n.subscribe(IMU_TOPIC,2000,imu_callback,ros::TransportHints().tcpNoDelay());ros::Subscriber sub_feature=n.subscribe("/feature_tracker/feature",2000,feature_callback);ros::Subscriber sub_img0=n.subscribe(IMAGE0_TOPIC,100,img0_callback);ros::Subscriber sub_img1=n...
* 1、featureTracker,提取当前帧特征点 * 2、添加一帧特征点,processMeasurements处理 */ void Estimator::inputImage(double t, const cv::Mat &_img, const cv::Mat &_img1) { inputImageCnt++; // 特征点id,(x,y,z,pu,pv,vx,vy) map<int, vector<pair<int, Eigen::Matrix<double, 7, 1>>...
vins_estimator/src/featureTracker/feature_tracker.cpp。 /*** 跟踪一帧图像,提取当前帧特征点* 1、用前一帧运动估计特征点在当前帧中的位置* 2、LK光流跟踪前一帧的特征点,正反向,删除跟丢的点;如果是双目,进行左右匹配,只删右目跟丢的特征点* 3、对于前后帧...
This repository is a version of VINS-Fusion with Dual Fisheye and GPU and Visionworks acceleration. It can run on Nvidia TX2 in real-time, also provide depth estimation based on fisheye. Drone path and RGB point cloud estimation Feature tracker for fisheye ...
程序入口:VINS-Fusion/vins-estimator/src/rosNodeTest.cpp 接下来从src/rosNodeTest.cpp文件开始入手 1. vins_estimator:: rosNodeTest.cpp中 首先 全局estimator Estimator estimator; Estimator类成员内部有两个重要的自定义类成员: FeatureManager f_manager;//用来对滑动窗口内所有特征点的管理。FeatureTracker fea...