0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

计算机视觉方向简介之视觉惯性里程计

新机器视觉 来源:计算机视觉life 作者:计算机视觉life 2021-04-07 16:57 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

VIO-SLAM

Visual-Inertial Odometry(VIO)即视觉惯性里程计,有时也叫视觉惯性系统(VINS,visual-inertial system),是融合相机和IMU数据实现SLAM的算法,根据融合框架的不同又分为松耦合和紧耦合。

056d0c30-9592-11eb-8b86-12bb97331649.jpg

其中VO(visual odometry)指仅视觉的里程计,T表示位置和姿态。松耦合中视觉运动估计和惯导运动估计系统是两个独立的模块,将每个模块的输出结果进行融合。

058202ca-9592-11eb-8b86-12bb97331649.jpg

紧耦合则是使用两个传感器的原始数据共同估计一组变量,传感器噪声也是相互影响的。紧耦合算法比较复杂,但充分利用了传感器数据,可以实现更好的效果,是目前研究的重点。

相机和IMU的缺点及互补性

058adb98-9592-11eb-8b86-12bb97331649.jpg

相机和IMU融合有很好的互补性。首先通过将IMU 估计的位姿序列和相机估计的位姿序列对齐可以估计出相机轨迹的真实尺度,而且IMU 可以很好地预测出图像帧的位姿以及上一时刻特征点在下帧图像的位置,提高特征跟踪算法匹配速度和应对快速旋转的算法鲁棒性,最后IMU 中加速度计提供的重力向量可以将估计的位置转为实际导航需要的世界坐标系中。

随着MEMS器件的快速发展,智能手机等移动终端可以便捷地获取IMU数据和摄像头拍摄数据,融合IMU 和视觉信息的VINS 算法可以很大程度地提高单目SLAM 算法性能,是一种低成本高性能的导航方案,在机器人、AR/VR 领域得到了很大的关注。

算法流程

05dd9c98-9592-11eb-8b86-12bb97331649.jpg

整个流程图可以分解为五部分:数据预处理、初始化、局部非线性优化、回环检测和全局优化。

各个模块的主要作用是:

图像和IMU数据预处理:对于图像,提取特征点,利用KLT金字塔进行光流跟踪,为后面仅视觉初始化求解相机位姿做准备。对于IMU,将IMU数据进行预积分,得到当前时刻的位姿、速度、旋转角,同时计算在后端优化中将要用到的相邻帧间的预积分增量,及预积分的协方差矩阵和雅可比矩阵。

初始化:初始化中,首先进行仅视觉的初始化,解算出相机的相对位姿;然后再与IMU预积分进行对齐求解初始化参数。

局部非线性优化:对应流程图中滑动窗口的视觉惯导非线性优化,即将视觉约束、IMU约束放在一个大目标函数中进行优化,这里的局部优化也就是只优化当前帧及之前的n帧的窗口中的变量,局部非线性优化输出较为精确的位姿。

回环检测:回环检测是将前面检测的图像关键帧保存起来,当再回到原来经过的同一个地方,通过特征点的匹配关系,判断是否已经来过这里。前面提到的关键帧就是筛选出来的能够记下但又避免冗余的相机帧(关键帧的选择标准是当前帧和上一帧之间的位移超过一定阈值或匹配的特征点数小于一定阈值)。

全局优化:全局优化是在发生回环检测时,利用相机约束和IMU约束,再加上回环检测的约束,进行非线性优化。全局优化在局部优化的基础上进行,输出更为精确的位姿。

算法核心

局部优化会用到边缘化,仅用局部优化精度低,全局一致性差,但是速度快,IMU利用率高;仅用全局优化精度高,全局一致性好,但是速度慢,IMU利用率低;两者侧重点不同,所以将两者结合,可以优势互补。

因此小编设计实验采用局部优化和全局优化融合的方法。

061ed280-9592-11eb-8b86-12bb97331649.jpg

局部优化是滑动窗口内相机帧的优化,全局优化是所有关键帧的优化,两者结合会产生边缘帧冲突的问题,因为局部优化会固定滑动窗口边缘帧,而全局优化发生回环检测的时候则会固定回环起点的帧。这里的改进就是采用相对的位姿边缘化,即边缘化以后的点是相对于它上一时刻关键帧的位姿而不是全局的位姿,这样局部优化边缘化相对位姿(关键帧),扔给全局优化整体优化。局部边缘化和全局边缘化的结合部分是关键帧。

相对边缘化可以具体解释为,相对边缘化的参考坐标系不再是世界坐标系,而是与当前帧共视且距离最近的一个关键帧的相机系(设为第k0帧)。视觉约束可以表示为:

0662de8a-9592-11eb-8b86-12bb97331649.png

区别于绝对边缘化的视觉约束

0689c1b2-9592-11eb-8b86-12bb97331649.png

实验结果与总结

实验一:无人机数据集上的实验

数据集采用了欧盟机器人挑战数据集(EuRoC)。EuRoC 数据集使用 Asctec Firefly 六旋翼飞行器在仓库和房间采集数据,数据集中包括以20Hz采集的相机图像和200Hz的IMU数据,以及运动真值。

实验结果如下:

06a1ae44-9592-11eb-8b86-12bb97331649.jpg

实验结果可见,融合优化的轨迹和真实轨迹很接近,而仅使用局部优化的定位结果误差不断累积。

实验二:车载数据上的实验

该车载数据是在北京市朝阳区某小区采集的,在数据采集阶段,车辆以5km/h 到 30km/h 的速度行驶,一共行驶2271m。

实验结果如下:

06c4430a-9592-11eb-8b86-12bb97331649.jpg

实验结果可见,融合优化后的定位结果明显优于仅使用局部优化的定位结果,融合优化中误差得到及时修正。

参考文献

J. Delmerico. A Benchmark Comparison of Monocular Visual-Inertial OdometryAlgorithms for Flying Robots. 2018. ICRA

T. Qin. VINS-Mono: A robust and versatile monocular visual-inertial state estimator. arXivpreprint arXiv: 1708.03852, 2017.

N. Trawny. Indirect KalmanFilter for 3D Attitude Estimation. 2005.

Sola. Quaternion kinematics for error-state kalmanfilter. 2017.

K. Eckenhoff. Decoupled, Consistent Node Removal and Edge sparsificationfor graph-based SLAM. 2016.

G. Sibley. Sliding window filter with application to planetary landing. 2010.

S. Leutenegger. Keyframe-Based Visual-Inertial SLAM Using Nonlinear Optimization. 2015.

H. Liu. ICE-BA: Incremental, consistenand efficient bundle adjustment for visual-inertial slam. 2018. CVPR.

H. Liu. Robust keyframe-based dense SLAM with an RGB-D camera. 2017.

编辑:jq

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2573

    文章

    54374

    浏览量

    786093
  • 噪声
    +关注

    关注

    13

    文章

    1154

    浏览量

    48899
  • MEMS器件
    +关注

    关注

    2

    文章

    53

    浏览量

    13281
  • 紧耦合
    +关注

    关注

    0

    文章

    4

    浏览量

    1010

原文标题:计算机视觉方向简介 | 视觉惯性里程计(VIO)

文章出处:【微信号:vision263com,微信公众号:新机器视觉】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    使用代理式AI激活传统计算机视觉系统的三种方法

    当前的计算机视觉系统擅长于识别物理空间与流程中的事件,却难以诠释场景细节及其意义,也无法推理后续可能发生的情况。
    的头像 发表于 12-01 09:44 327次阅读

    【CIE全国RISC-V创新应用大赛】+基于MUSE Pi Pro的3d激光里程计实现

    __​:雷达内置IMU模块 ​__电源模块__​:12V/5A稳定电源供应系统 软件组成 ​__操作系统__​:基于RISC-V的嵌入式Linux系统 ​__核心算法__​:Point-LIO激光-惯性里程计算
    发表于 10-24 17:02

    STM32计算机视觉开发套件:B-CAMS-IMX摄像头模块技术解析

    CMOS RGB图像传感器、ISM330DLC惯性运动单元和VL53L5CX ToF传感器。B-CAMS-IMX可用于任何具有MIPI CSI-2® 接口(带22引脚FFC连接器)的STM32开发板,轻松在STM32微控制器和微处理器上实现全功能计算机
    的头像 发表于 10-20 09:46 714次阅读
    STM32<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>开发套件:B-CAMS-IMX摄像头模块技术解析

    什么是机器视觉及其功能?

    机器视觉本质上是一个系统(例如一台计算机)查看的能力。系统通过该能力分析图像,然后作出决策或进行分类。
    的头像 发表于 09-10 17:23 595次阅读
    什么是机器<b class='flag-5'>视觉</b>及其功能?

    易控智驾荣获计算机视觉顶会CVPR 2025认可

    近日,2025年国际计算机视觉与模式识别顶级会议(IEEE/CVF Conference on Computer Vision and Pattern Recognition,CVPR 2025)在美国田纳西州纳什维尔召开。
    的头像 发表于 07-29 16:54 981次阅读

    利用边缘计算和工业计算机实现智能视频分析

    IVA的好处、实际部署应用程序以及工业计算机如何实现这些解决方案。一、什么是智能视频分析(IVA)?智能视频分析(IVA)集成了复杂的计算机视觉,通常与卷积神经网
    的头像 发表于 05-16 14:37 632次阅读
    利用边缘<b class='flag-5'>计算</b>和工业<b class='flag-5'>计算机</b>实现智能视频分析

    【「# ROS 2智能机器人开发实践」阅读体验】视觉实现的基础算法的应用

    结合IMU(惯性测量单元)进行多传感器融合。 三、总结与展望 技术融合趋势 机器人视觉与SLAM的结合(如视觉惯性里程计VIO)是当前研
    发表于 05-03 19:41

    一种新型激光雷达惯性视觉里程计系统介绍

    针对具有挑战性的光照条件和恶劣环境,本文提出了LIR-LIVO,这是一种轻量级且稳健的激光雷达-惯性-视觉里程计系统。通过采用诸如利用深度与激光雷达点云关联实现特征的均匀深度分布等先进技术,以及利用
    的头像 发表于 04-28 11:18 802次阅读
    一种新型激光雷达<b class='flag-5'>惯性</b><b class='flag-5'>视觉</b><b class='flag-5'>里程计</b>系统介绍

    英飞凌边缘AI平台通过Ultralytics YOLO模型增加对计算机视觉的支持

    计算机视觉的支持,扩大了当前对音频、雷达和其他时间序列信号数据的支持范围。在增加这项支持后,该平台将能够用于开发低功耗、低内存的边缘AI视觉模型。这将给诸多应用领域的机器学习开发人员带来极大的便利,例如工厂可以借此实现对零件的
    的头像 发表于 03-11 15:11 656次阅读
    英飞凌边缘AI平台通过Ultralytics YOLO模型增加对<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>的支持

    Arm KleidiCV与OpenCV集成助力移动端计算机视觉性能优化

    生成式及多模态人工智能 (AI) 工作负载的广泛增长,推动了对计算机视觉 (CV) 技术日益高涨的需求。此类技术能够解释并分析源自现实世界的视觉信息,并可应用于人脸识别、照片分类、滤镜处理及增强现实
    的头像 发表于 02-24 10:15 877次阅读

    AR和VR中的计算机视觉

    ):计算机视觉引领混合现实体验增强现实(AR)和虚拟现实(VR)正在彻底改变我们与外部世界的互动方式。即便是在引人入胜的沉浸式
    的头像 发表于 02-08 14:29 2128次阅读
    AR和VR中的<b class='flag-5'>计算机</b><b class='flag-5'>视觉</b>

    AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV

    1简介Opencv(OpenSourceComputerVisionLibrary)是一个基于开源发行的跨平台计算机视觉库,它实现了图像处理和计算机
    的头像 发表于 12-14 09:10 1264次阅读
    AI模型部署边缘设备的奇妙之旅:如何在边缘端部署OpenCV

    用于任意排列多相机的通用视觉里程计系统

    如何让多相机视觉SLAM系统更易于部署且对环境更具鲁棒性?本文提出了一种适用于任意排列多相机的通用视觉里程计系统。在KITTI-360和MultiCamData数据集上验证了该方法对于任意放置相机的鲁棒性。与其他立体和多相机
    的头像 发表于 12-13 11:22 1149次阅读
    用于任意排列多相机的通用<b class='flag-5'>视觉</b><b class='flag-5'>里程计</b>系统

    e络盟达成BBC micro:bit计算机制造分销里程

    计算机,为全球青少年提供了一个通过物理计算探索编程乐趣的平台。 BBC micro:bit是一款小巧而功能强大的计算机,旨在激发青少年对编程和技术的兴趣。通过e络盟的广泛分销网络,这款计算机
    的头像 发表于 12-13 10:10 839次阅读