码迷,mamicode.com
首页 > 其他好文 > 详细

VINS_Fusion框架

时间:2020-04-23 21:35:16      阅读:65      评论:0      收藏:0      [点我收藏+]

标签:package   jpg   factor   deb   car   voc   之间   科大   query   

VINS_Fusion简介

VINS(Visual-Inertial Systems),
港科大在2019年1月12号发布了Vins-fusion,从2017年发布的Vins-mono:单目+IMU,这次晋级了vins-fusion,demo中主要给出了四个版本:单目+imu/纯双目/双目+imu/双目+imu+GPS.
VINS-Fusion是基于优化的多传感器状态估计器,可为自主应用(无人机,汽车和AR/VR)实现准确的自定位。
VINS-Fusion是VINS-Mono的扩展,它支持多种视觉惯性传感器类型(单摄像机+IMU,立体摄像机+IMU,甚至仅双目摄像机)。我们还展示了一个将VINS与GPS融合的玩具示例。 具有如下特征:

  1. 支持多种传感器组合(双目相机/单目相机+IMU/双目相机+IMU)
  2. 支持在线空间校准(可校准相机和IMU之间的外参)
  3. 支持在线时间校准(可校准相机和IMU之间的时间偏移)
  4. 支持视觉闭环,具有闭环检测的功能

Github地址
VINS_mono:原版VINS_mono
VINS_Fusion:VINS_mono的双目版本,也是要学习的重点
VINS_mobile:VINS_mono使用与移动设备的版本
VINS_RGBD:基于VINS_Fusion改进的RGBD相机版本

系统结构框架

安装与运行测试

可直接参考VINS_Fusion的安装文件

EuRoc数据集上的测试结果

技术图片

文件目录

guoben@guoben-WRT-WX9:~/Project/VINS-Fusion$ tree
.
├── build
├── camera_models
│?? ├── camera_calib_example
│?? │?? ├── calibrationdata
│?? │?? │?? ├── left-0000.png
│?? │?? │?? ├── left-0001.png
│?? │?? │?? ├── left-0002.png
│?? │?? │?? ├── left-0003.png
│?? │?? │?? ├── left-0004.png
│?? │?? │?? ├── left-0005.png
│?? │?? │?? ├── left-0006.png
│?? │?? │?? ├── left-0007.png
│?? │?? │?? ├── left-0008.png
│?? │?? │?? ├── left-0009.png
│?? │?? │?? ├── left-0010.png
│?? │?? │?? ├── left-0011.png
│?? │?? │?? ├── left-0012.png
│?? │?? │?? ├── left-0013.png
│?? │?? │?? ├── left-0014.png
│?? │?? │?? ├── left-0015.png
│?? │?? │?? ├── left-0016.png
│?? │?? │?? ├── left-0017.png
│?? │?? │?? ├── left-0018.png
│?? │?? │?? ├── left-0019.png
│?? │?? │?? ├── left-0020.png
│?? │?? │?? ├── left-0021.png
│?? │?? │?? ├── left-0022.png
│?? │?? │?? ├── left-0023.png
│?? │?? │?? ├── left-0024.png
│?? │?? │?? ├── left-0025.png
│?? │?? │?? ├── left-0026.png
│?? │?? │?? ├── left-0027.png
│?? │?? │?? ├── left-0028.png
│?? │?? │?? ├── left-0029.png
│?? │?? │?? ├── left-0030.png
│?? │?? │?? ├── left-0031.png
│?? │?? │?? ├── left-0032.png
│?? │?? │?? ├── left-0033.png
│?? │?? │?? ├── left-0034.png
│?? │?? │?? ├── left-0035.png
│?? │?? │?? ├── left-0036.png
│?? │?? │?? ├── left-0037.png
│?? │?? │?? ├── left-0038.png
│?? │?? │?? ├── left-0039.png
│?? │?? │?? ├── left-0040.png
│?? │?? │?? ├── left-0041.png
│?? │?? │?? ├── left-0042.png
│?? │?? │?? ├── left-0043.png
│?? │?? │?? ├── left-0044.png
│?? │?? │?? ├── left-0045.png
│?? │?? │?? ├── left-0046.png
│?? │?? │?? ├── left-0047.png
│?? │?? │?? ├── left-0048.png
│?? │?? │?? ├── left-0049.png
│?? │?? │?? ├── left-0050.png
│?? │?? │?? ├── left-0051.png
│?? │?? │?? ├── left-0052.png
│?? │?? │?? ├── left-0053.png
│?? │?? │?? ├── left-0054.png
│?? │?? │?? ├── left-0055.png
│?? │?? │?? ├── left-0056.png
│?? │?? │?? ├── left-0057.png
│?? │?? │?? ├── left-0058.png
│?? │?? │?? ├── left-0059.png
│?? │?? │?? ├── left-0060.png
│?? │?? │?? ├── left-0061.png
│?? │?? │?? ├── left-0062.png
│?? │?? │?? ├── left-0063.png
│?? │?? │?? ├── left-0064.png
│?? │?? │?? ├── left-0065.png
│?? │?? │?? ├── left-0066.png
│?? │?? │?? ├── left-0067.png
│?? │?? │?? ├── left-0068.png
│?? │?? │?? ├── left-0069.png
│?? │?? │?? ├── left-0070.png
│?? │?? │?? ├── left-0071.png
│?? │?? │?? ├── left-0072.png
│?? │?? │?? ├── left-0073.png
│?? │?? │?? ├── left-0074.png
│?? │?? │?? ├── left-0075.png
│?? │?? │?? ├── left-0076.png
│?? │?? │?? ├── left-0077.png
│?? │?? │?? ├── left-0078.png
│?? │?? │?? ├── left-0079.png
│?? │?? │?? ├── left-0080.png
│?? │?? │?? ├── left-0081.png
│?? │?? │?? ├── left-0082.png
│?? │?? │?? ├── left-0083.png
│?? │?? │?? └── left-0084.png
│?? │?? └── readme.txt
│?? ├── cmake
│?? │?? └── FindEigen.cmake
│?? ├── CMakeLists.txt
│?? ├── include
│?? │?? └── camodocal
│?? │??     ├── calib
│?? │??     │?? └── CameraCalibration.h
│?? │??     ├── camera_models
│?? │??     │?? ├── CameraFactory.h
│?? │??     │?? ├── Camera.h
│?? │??     │?? ├── CataCamera.h
│?? │??     │?? ├── CostFunctionFactory.h
│?? │??     │?? ├── EquidistantCamera.h
│?? │??     │?? ├── PinholeCamera.h
│?? │??     │?? ├── PinholeFullCamera.h
│?? │??     │?? └── ScaramuzzaCamera.h
│?? │??     ├── chessboard
│?? │??     │?? ├── ChessboardCorner.h
│?? │??     │?? ├── Chessboard.h
│?? │??     │?? ├── ChessboardQuad.h
│?? │??     │?? └── Spline.h
│?? │??     ├── gpl
│?? │??     │?? ├── EigenQuaternionParameterization.h
│?? │??     │?? ├── EigenUtils.h
│?? │??     │?? └── gpl.h
│?? │??     └── sparse_graph
│?? │??         └── Transform.h
│?? ├── package.xml
│?? ├── readme.md
│?? └── src
│??     ├── calib
│??     │?? └── CameraCalibration.cc
│??     ├── camera_models
│??     │?? ├── Camera.cc
│??     │?? ├── CameraFactory.cc
│??     │?? ├── CataCamera.cc
│??     │?? ├── CostFunctionFactory.cc
│??     │?? ├── EquidistantCamera.cc
│??     │?? ├── PinholeCamera.cc
│??     │?? ├── PinholeFullCamera.cc
│??     │?? └── ScaramuzzaCamera.cc
│??     ├── chessboard
│??     │?? └── Chessboard.cc
│??     ├── gpl
│??     │?? ├── EigenQuaternionParameterization.cc
│??     │?? └── gpl.cc
│??     ├── intrinsic_calib.cc
│??     └── sparse_graph
│??         └── Transform.cc
├── config
│?? ├── A3_ptgrey
│?? │?? ├── a3_ptgrey_mono_imu_config.yaml
│?? │?? ├── a3_ptgrey_stereo_config.yaml
│?? │?? ├── a3_ptgrey_stereo_imu_config_backup.yaml
│?? │?? ├── a3_ptgrey_stereo_imu_config.yaml
│?? │?? ├── left.yaml
│?? │?? └── right.yaml
│?? ├── euroc
│?? │?? ├── cam0_mei.yaml
│?? │?? ├── cam0_pinhole.yaml
│?? │?? ├── cam1_mei.yaml
│?? │?? ├── cam1_pinhole.yaml
│?? │?? ├── euroc_mono_imu_config.yaml
│?? │?? ├── euroc_stereo_config.yaml
│?? │?? └── euroc_stereo_imu_config.yaml
│?? ├── extrinsic_parameter_example.pdf
│?? ├── fisheye_mask_752x480.jpg
│?? ├── fisheye_mask.jpg
│?? ├── kitti_odom
│?? │?? ├── cam00-02.yaml
│?? │?? ├── cam03.yaml
│?? │?? ├── cam04-12.yaml
│?? │?? ├── cam13-21.yaml
│?? │?? ├── kitti_config00-02.yaml
│?? │?? ├── kitti_config03.yaml
│?? │?? ├── kitti_config04-12.yaml
│?? │?? └── kitti_config13-21.yaml
│?? ├── kitti_raw
│?? │?? ├── cam_09_30.yaml
│?? │?? ├── cam_10_03.yaml
│?? │?? ├── kitti_09_30_config.yaml
│?? │?? └── kitti_10_03_config.yaml
│?? ├── mynteye
│?? │?? ├── left_mei.yaml
│?? │?? ├── mynteye_mono_imu_config.yaml
│?? │?? ├── mynteye_stereo_config.yaml
│?? │?? ├── mynteye_stereo_imu_config.yaml
│?? │?? └── right_mei.yaml
│?? ├── realsense_d435i
│?? │?? ├── left.yaml
│?? │?? ├── realsense_stereo_imu_config.yaml
│?? │?? ├── right.yaml
│?? │?? └── rs_camera.launch
│?? ├── simulation
│?? │?? ├── cam0_mei.yaml
│?? │?? ├── cam1_mei.yaml
│?? │?? └── simulation_config.yaml
│?? ├── vi_car
│?? │?? ├── cam0_mei.yaml
│?? │?? ├── cam0_pinhole.yaml
│?? │?? ├── cam1_mei.yaml
│?? │?? ├── cam1_pinhole.yaml
│?? │?? └── vi_car.yaml
│?? └── vins_rviz_config.rviz
├── loop_fusion
│?? ├── cmake
│?? │?? └── FindEigen.cmake
│?? ├── CMakeLists.txt
│?? ├── package.xml
│?? └── src
│??     ├── keyframe.cpp
│??     ├── keyframe.h
│??     ├── parameters.h
│??     ├── pose_graph.cpp
│??     ├── pose_graph.h
│??     ├── pose_graph_node.cpp
│??     ├── ThirdParty
│??     │?? ├── DBoW
│??     │?? │?? ├── BowVector.cpp
│??     │?? │?? ├── BowVector.h
│??     │?? │?? ├── DBoW2.h
│??     │?? │?? ├── FBrief.cpp
│??     │?? │?? ├── FBrief.h
│??     │?? │?? ├── FClass.h
│??     │?? │?? ├── FeatureVector.cpp
│??     │?? │?? ├── FeatureVector.h
│??     │?? │?? ├── QueryResults.cpp
│??     │?? │?? ├── QueryResults.h
│??     │?? │?? ├── ScoringObject.cpp
│??     │?? │?? ├── ScoringObject.h
│??     │?? │?? ├── TemplatedDatabase.h
│??     │?? │?? └── TemplatedVocabulary.h
│??     │?? ├── DUtils
│??     │?? │?? ├── DException.h
│??     │?? │?? ├── DUtils.h
│??     │?? │?? ├── Random.cpp
│??     │?? │?? ├── Random.h
│??     │?? │?? ├── Timestamp.cpp
│??     │?? │?? └── Timestamp.h
│??     │?? ├── DVision
│??     │?? │?? ├── BRIEF.cpp
│??     │?? │?? ├── BRIEF.h
│??     │?? │?? └── DVision.h
│??     │?? ├── VocabularyBinary.cpp
│??     │?? └── VocabularyBinary.hpp
│??     └── utility
│??         ├── CameraPoseVisualization.cpp
│??         ├── CameraPoseVisualization.h
│??         ├── tic_toc.h
│??         ├── utility.cpp
│??         └── utility.h
├── README.md
└── vins_estimator
    ├── cmake
    │?? └── FindEigen.cmake
    ├── cmake-build-debug
    │?? ├── CMakeCache.txt
    │?? └── CMakeFiles
    │??     ├── 3.15.3
    │??     │?? ├── CMakeCCompiler.cmake
    │??     │?? ├── CMakeCXXCompiler.cmake
    │??     │?? ├── CMakeDetermineCompilerABI_C.bin
    │??     │?? ├── CMakeDetermineCompilerABI_CXX.bin
    │??     │?? ├── CMakeSystem.cmake
    │??     │?? ├── CompilerIdC
    │??     │?? │?? ├── a.out
    │??     │?? │?? ├── CMakeCCompilerId.c
    │??     │?? │?? └── tmp
    │??     │?? └── CompilerIdCXX
    │??     │??     ├── a.out
    │??     │??     ├── CMakeCXXCompilerId.cpp
    │??     │??     └── tmp
    │??     ├── clion-environment.txt
    │??     ├── clion-log.txt
    │??     ├── cmake.check_cache
    │??     ├── CMakeOutput.log
    │??     └── CMakeTmp
    ├── CMakeLists.txt
    ├── launch
    │?? └── vins_rviz.launch
    ├── package.xml
    └── src
        ├── estimator
        │?? ├── estimator.cpp
        │?? ├── estimator.h
        │?? ├── feature_manager.cpp
        │?? ├── feature_manager.h
        │?? ├── parameters.cpp
        │?? └── parameters.h
        ├── factor
        │?? ├── imu_factor.h
        │?? ├── initial_bias_factor.h
        │?? ├── initial_pose_factor.h
        │?? ├── integration_base.h
        │?? ├── marginalization_factor.cpp
        │?? ├── marginalization_factor.h
        │?? ├── pose_local_parameterization.cpp
        │?? ├── pose_local_parameterization.h
        │?? ├── projection_factor.cpp
        │?? ├── projection_factor.h
        │?? ├── projectionOneFrameTwoCamFactor.cpp
        │?? ├── projectionOneFrameTwoCamFactor.h
        │?? ├── projectionTwoFrameOneCamFactor.cpp
        │?? ├── projectionTwoFrameOneCamFactor.h
        │?? ├── projectionTwoFrameTwoCamFactor.cpp
        │?? └── projectionTwoFrameTwoCamFactor.h
        ├── featureTracker
        │?? ├── feature_tracker.cpp
        │?? └── feature_tracker.h
        ├── initial
        │?? ├── initial_aligment.cpp
        │?? ├── initial_alignment.h
        │?? ├── initial_ex_rotation.cpp
        │?? ├── initial_ex_rotation.h
        │?? ├── initial_sfm.cpp
        │?? ├── initial_sfm.h
        │?? ├── solve_5pts.cpp
        │?? └── solve_5pts.h
        ├── KITTIGPSTest.cpp
        ├── KITTIOdomTest.cpp
        ├── rosNodeTest.cpp
        └── utility
            ├── CameraPoseVisualization.cpp
            ├── CameraPoseVisualization.h
            ├── tic_toc.h
            ├── utility.cpp
            ├── utility.h
            ├── visualization.cpp
            └── visualization.h

52 directories, 267 files

VINS_Fusion框架

标签:package   jpg   factor   deb   car   voc   之间   科大   query   

原文地址:https://www.cnblogs.com/guoben/p/12763152.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!