本文作者 沈玥伶,公众号:计算机视觉life,编辑部成员

一、相机与IMU的融合

在SLAM的众多传感器解决方案中,相机与IMU的融合被认为具有很大的潜力实现低成本且高精度的定位与建图。这是因为这两个传感器之间具有互补性:相机在快速运动、光照改变等情况下容易失效。而IMU能够高频地获得机器人内部的运动信息,并且不受周围环境的影响,从而弥补相机的不足;同时,相机能够获得丰富的环境信息,通过视觉匹配完成回环检测与回环校正,从而有效地修正IMU的累计漂移误差。

二、什么是相机与IMU外参?

足够准确的相机与IMU外参是实现相机与IMU融合的定位与建图的前提。相机与IMU之间的外参包括两部分:

(1)相机与IMU之间的相对位姿

如下图所示,相机与IMU之间的相对位姿值的是相机坐标系和IMU坐标系之间的变换,包括相对旋转角和相对平移量。

相机坐标系坐标和IMU坐标系坐标之间满足如下变换关系:

将上式展开可以得到分别得到相机坐标系和IMU坐标系之间旋转角和平移量的变换关系:

(2)相机与IMU之间的时间差

由于触发延时、传输延时的存在,传感器的采样时间和时间戳的时间不匹配,如下图所示,从而导致相机和IMU之间存在时间差td。

td用公式表示为:

将相机的时间戳平移td后,相机与IMU之间实现了同步。

三、为什么需要在线标定?

大部分同学都是从跑公开的数据集开始入门的,这些数据集都给出了传感器的内外参数,不需要我们进行标定。但是,如果想投入到实际应用中,我们就需要使用自己的传感器。对于低成本、自己组装的相机与IMU传感器组合,相机与IMU之间的外参是未知的,这就需要我们对相机与IMU之间的外参进行标定。

对于相机与IMU之间的相对位姿,传统的标定方法往往采用离线的形式,需要手持标定板进行一系列操作,费时费力。对于相机与IMU之间的时间差,由于每次运行时间差都不相同,所以只能依靠在线标定的方法。所谓在线标定方法,指的是在系统运行之初或者系统运行过程中完成标定,这种方法解放了双手,也能够保证足够的精度。

四、相对位姿在线标定方法

(1)VINS基础上的在线标定

港科大沈劭劼实验室提出了在初始化的同时对相机与IMU之间的外参进行标定的方法[1]。流程如下图所示。首先进行相机与IMU之间相对旋转角的标定,标定完成之后进行初始化和相机与IMU之间相对平移量的标定。标定和初始化完成后进行视觉惯性联合的状态估计,并且把标定量也当做待估计的状态放入联合优化中。此在线标定方法被应用于VINS[2]中。代码实现包含于VINS中,VINS的源码已上传至github:https://github.com/HKUST-Aerial-Robotics/VINS-Mono。

(2)VI-ORB-SLAM基础上的在线标定

Weibo Huang等借鉴了(1)中的标定方法,在VI-ORB-SLAM的基础上加上了相机与IMU的相对位姿在线标定[3]。与(1)的不同之处在于,此方法能够在系统运行之初快速得到足够精度的标定结果,没有将外参纳入状态估计的优化变量中,大大节省了计算量。作者暂时没有开源代码。

五、时间差在线标定方法

(1)基于像素点匀速运动的时间差标定方法

此时间差标定方法[4]同样出自港科大沈劭劼实验室并且应用于VINS中。代码实现包含于VINS中,VINS的源码已上传至github:https://github.com/HKUST-Aerial-Robotics/VINS-Mono。

原理为:假设在较短时间内相机从

匀速运动到

,特征点在像素平面上的投影也从

匀速运动至

,像素匀速运动的速度为

。如下图所示。

通过平移像素坐标,将时间差作为优化变量加入投影误差的表达式中,如下面式子所示。

此投影误差项与IMU误差项和初始值误差项相加进行联合非线性优化。每一次优化结束后对时间差进行补偿,最终时间差的标定量逐渐趋于0。

(2)将时间差变量加入IMU预积分表达式中

(1)中的方法引入了像素点匀速运动的假设,不够精确。中科院自动化所的Jinxu Liu等提出的时间差的在线标定方法[5]将时间差加入到IMU预积分表达式中,并且同样作为优化变量参与联合非线性优化。相比于(1)中的方法在表达式上更加复杂,但是带来了更加快速和精确的标定结果。作者暂时没有开源代码。

六、总结

上文我们对相机与IMU之间的相对位姿和时间差的在线标定的最新研究成果进行了列举。由于篇幅有限,我们仅仅介绍了框架层面的东西,感兴趣的读者可以直接阅读参考文献部分给出的相应论文。

实际应用的时候,我们需要根据应用场景和需求选择合适的方法,甚至在现有的方法上做出改进。下表列出了上文提到的方法的各自的适用场景,读者可以据此选择符合条件的方法进行相机与IMU的在线标定。

参考文献

[1] Yang Z , Shen S . Monocular Visual-Inertial State Estimation With Online Initialization and Camera-IMU Extrinsic Calibration[J]. IEEE Transactions on Automation Science and Engineering, 2016, 14(1):1-13.

[2] Tong Q, Li P, Shen S. VINS-Mono: A Robust and Versatile Monocular Visual-Inertial State Estimator[J]. IEEE Transactions on Robotics, 2017, PP(99): 1-17.

[3] Huang W, Liu H, Ieee: Online Initialization and Automatic Camera-IMU Extrinsic Calibration for Monocular Visual-Inertial SLAM[C], 2018 Ieee International Conference on Robotics and Automation, 2018: 5182-5189.

[4] Qin T , Shen S . Online Temporal Calibration for Monocular Visual-Inertial Systems[J]. 2018.

[5] Liu J , Gao W , Hu Z, Ieee: Online Temporal Calibration of Camera and IMU using Nonlinear Optimization[C], 2018 Ieee International Conference on Pattern Recognition, 2018: 1761-1766.

推荐阅读

imu相机标定_解放双手——相机与IMU外参的在线标定相关推荐

  1. 【图像处理】像素坐标系、像平面坐标系、相机坐标系、世界坐标系、内参矩阵、外参矩阵

    [图像处理]像素坐标系.像平面坐标系.相机坐标系.世界坐标系.内参矩阵.外参矩阵 像素坐标系 像平面坐标系 相机坐标系 世界坐标系 像素坐标系<=>像平面坐标系 像素坐标系<=> ...

  2. 多激光雷达与相机的外参快速精准标定(arxiv 2021)

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者丨paopaoslam 来源丨 泡泡机器人SLAM 标题:Fast and Accurate Ex ...

  3. 相机下载_索尼黑卡相机与手机互联APP相关

    虽然题目里面有黑卡,但是这个APP针对具有互联功能的索尼相机都是通用的. 索尼相机拍照可以通过相机的WiFi热点直接发送给手机,方便手机再加工或上传社交网络.也可以使用该APP用手机遥控相机,还可以控 ...

  4. 相机标定 >> 坐标系转换@内参、外参

    相机标定 >> 坐标系转换@内参.外参 1. 坐标系介绍 1.1 像素坐标系 1.2 图像坐标系 1.3 相机坐标系 1.4 世界坐标系 2. 相机标定 2.1 内参 2.1.1 内参的意 ...

  5. arduino智能浇花系统_解放双手!自己动手做一个简易智能浇花系统

    原标题:解放双手!自己动手做一个简易智能浇花系统 面对疫情,宅在家的我们可以以各种方式为战"疫"一线的医护工作者.紧急研究病毒的科研人员.口罩厂日夜工作的人们......加油打气. ...

  6. 线扫相机 编码器_智能线扫描相机

    昂敏智能的智能线扫描相机具有集成的FPGA,高分辨率,可以直接在相机上进行评估,完全不需要外置PC.此外,AI-Master软件已经预安装完成,用户可获得一个完整的系统:相机.处理单元.评估软件.快速 ...

  7. 多激光雷达外参⾃动化标定算法及代码实例

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 激光雷达是⽬前⾃动驾驶系统中的核⼼传感器之⼀,但是由于其信息密度低.存在垂直盲区等问题,⼚商⼤多在其L ...

  8. html搜索框代码_解放双手 | 10行Python代码实现一款网页自动化工具

    各种各样的网站在我们日常工作和学习中占据着举足轻重的地位,学习.影音娱乐.查询资料.协同办公,越来越多的任务都被迁移到浏览器. 因此,网页也蕴含着很多有价值.我们能够用得到的资源.例如,数据.歌曲.影 ...

  9. 500万相机芯片尺寸_工业CCD相机芯片靶面尺寸的计算

    工业CCD相机芯片靶面尺寸的计算 2018-09-13 最近不断的有客户在问SENSOR的尺寸计算是怎么得出来的,怎么按照正常的1英寸=25.4mm来换算的话,结果不对,针对此问题,度申科技总结如下: ...

最新文章

  1. visual studio 2005 新建C++空项目无法调试的解决方案
  2. python读写、创建 文件(二)
  3. 服务发现与负载均衡traefik ingress
  4. illegal utf8 encoding at (190)
  5. linuxz指令大全
  6. 洛奇英雄转无法读取游戏服务器状态,洛奇英雄传无法连接服务器认证失败处理方法讲解...
  7. 考研英语阅读真题分析
  8. ORB-SLAM2代码阅读笔记(十):sim3求解
  9. Leetcode PHP题解D1:宝石与石头
  10. 云朵怎么画好看?超简单的天空上色教程
  11. 巴西柔术第一课:骑乘式上位技术
  12. 互换性测量技术-几何误差
  13. 电子邮件协议---SMTP,POP3,IMAP,MIME
  14. 学习java随堂练习-20220609
  15. java将秒转换为天,时,分
  16. zzulioj 1788: 小金刚的宝藏 (01背包)
  17. music_悲催的键盘手
  18. aws scp上传下载文件
  19. 工程资料管理实行计算机管理的利弊,工程资料与档案的管理
  20. 【旧资料整理】解决firefox3迅雷插件右键查看页面源代码无效问题

热门文章

  1. 推荐分享一个自定义绑定控件(附源码)
  2. lua学习笔记(三)
  3. AvtiveMQ与SpringBoot结合
  4. Lateral View使用指南
  5. 【转】wpa_supplicant与wpa_cli之间通信过程
  6. python的标准库学习之__buitin__
  7. 记珠海一日游2008-5-2
  8. 解决ffmpeg中的时间戳同步问题
  9. vmware安装找不到虚拟网卡解决方案
  10. 数独题的生成与解决方法