视觉SLAM技术及其应用(章国锋--复杂环境下的鲁棒SfM与SLAM)
2017-12-21 10:46
295 查看
SLAM:同时定位与地图构建
机器人和计算机视觉领域的基本问题在未知环境中定位自身方位并同时构建环境三维地图
应用广泛:
增强现实、虚拟现实
机器人、无人驾驶
SLAM常用的传感器
红外传感器: 较近距离感应,常用与扫地机器人激光雷达: 单线、多线等
摄像头: 单目、双目、多目等
惯性传感器(英文叫IMU,包括陀螺仪、加速度计等): 智能手机标配
SLAM运行结果
设备根据传感器信息计算自身位置(在空间中的位置和朝向)
构建环境地图(稀疏或者稠密的三维点云)
SLAM系统常用框架
自2007年PTAM之后,现在的SLAM方法基本上都采用了并行跟踪和建图框架,一般包含以下几个部分:* 输入: 可以是RGB图像、深度图,甚至IMU测量值
* 前台线程: 根据传感器数据进行跟踪求解,实时恢复每个时刻设备的位姿势
* 后台线程: 对三维点云和关键帧的位姿进行局部或全局优化,减少误差累积,同时对场景进行回环检测
* 输出:设备实时位姿和三维点云。
SfM & Visual SLAM
Structure from Motion和Visual SLAM的区别SfM可以分为离线和实时的,而实时的SfM其实就是Visual SLAM。
Visual SLAM**主要采用摄像头传感器**,
* 根据摄像头的数目可以分为单目摄像头、双目摄像头和多目摄像头等
* Visual SLAM也在结合其它一些传感器,比如廉价IMU、GPS和一些深度摄像头来做到更加鲁棒的SLAM
以视觉为主的SLAM技术的优势:
硬件成本低廉
小范围内定位精确度较高
无需预先布置场景
Visual SLAM 主要挑战
Visual SLAM已经有几十年的历史,虽然理论上趋向成熟,但在复杂环境下的落地还面临着诸多挑战,比如:1. 如何处理循环回路序列和多视频序列,如何闭合回路,消除误差累积
2. 如何高效高精度地处理大尺度场景
3. 如何处理动态场景
* 传统的SLAM假设场景是静止的,摄像头是运动
4. 如何处理快速运动和强旋转
* 摄像头快速运动,拍摄的照片模糊
* 摄像头快速旋转
我们课题组的工作
ENFT-SFM:Efficient Non-Consecutive Feature Tracking for Robust SFM能够高效地处理循环回路和多视频序列
http://www.zjucvg.net/ls-acts/ls-acts.html
单目SLAM系统
ENFT-SLAM:ENFT-based Large-Scale Monocular SLAM
能在大尺度场景下实时运行
RDSLAM:Robust Monocular SLAM in Dynamic Environments
能在动态场景下稳定工作,通过替换部分关键帧
http://www.zjucvg.net/rdslam/rdslam.html
RKSLAM:Robust Keyframe-based Monocular SLAM for Augmented Reality
可以实时运行在移动设备上
http://www.zjucvg.net/rkslam/rkslam.html
RGB-D SLAM: RKD-SLAM: Robust Keyframe-based Dense SLAM with an RGB-D Camera
RKSLAM与深度相机的融合方法
ENFT-SFM: Efficient Non-Consecutive Feature Tracking for Robust SFM
非连续特征轨迹匹配:可以大大增加关键帧间特征点的匹配数目,为后端增加足够多的约束,大大减少跟丢的情况基于自适应分段的集束调整: 将长序列分成若干序列进行后端优化,大大加快优化速度
ENFT-SLAM: ENFT-based Large-Scale Monocular SLAM 是ENFT-SFM的实时化方法
动态场景SLAM的主要问题:
场景逐渐在改变左边的例子,人在移动书本,过了几十秒所有的书本的位置都发生了变化,这对传统的SLAM来说是非常难处理的
可能有大量的错误匹配
动态元素还会导致大量的错误匹配,这对实时稳定的SLAM求解来说也是非常困难的
视点改变造成的遮挡
运动物体造成的遮挡
会给稳定的SLAM带来挑战
基于关键帧的SLAM与基于滤波器的SLAM的区别
现在Visual SLAM技术方法主要分为两类,一个是keyframe-based SLAM,另一个是filtering-based SLAM。2012年Andrew Davison等人写了一篇文章对这两个方法进行了比较,得出这样的结论:keyframe-based SLAM比filtering-based SLAM在精度上、效率和扩展性上具有更好的性能。但是keyframe-based SLAM也有缺点,一般对强旋转比较敏感。当然,快速运动、运动模糊、特征不够丰富等情况对于这两类方法都很有挑战性具体内容参见H. Strasdat, J. Montiel, and A. J. Davison. Visual SLAM: Why filter? Image and Vision Computing, 30:65-77, 2012
Visual-Inertial SLAM
使用IMU数据提高SLAM的鲁棒性基于滤波的方法
MSCKF, SLAM in Project Tango
基于非线性优化的方法
OKVIS
没有真是IMU数据的情况下,能否工作?
Visual-Inertial SLAM方法广泛应用于机器人领域,这类方法使用IMU数据来提高鲁棒性。但是,在没有真实IMU数据的情况下,能否借鉴一些Visual-Inertial的方法来将SLAM做得更好呢?
RKSLAM就是解决了这个问题
Visual SLAM技术的发展趋势
缓解特征依赖基于边的跟踪
直接图像跟踪或半稠密跟踪
结合机器学习和先验/语义信息
稠密三维重建
单/多目实时三维重建
基于深度相机的实时三维重建
平面的表达和模型自适应简化
多传感器融合
每个传感器都有优点和局限性,IMU误差累计快,GPS精度不高,目标是将各个传感器融合在一起,结合IMU、GPS、深度相机、光流计、里程计
未来的工作展望
协同SLAM稠密SLAM
场景分析和理解
在VR、AR、机器人和无人驾驶领域进行应用
相关文章推荐
- 章国锋:黑暗中的前行--复杂环境下的鲁棒SfM与SLAM | VALSE2017之十五
- 计算电磁学及其在复杂电磁环境数值模拟中的应用和发展趋势
- 网管系统主流技术及其应用
- 机载LIDAR技术及其应用
- 自然语言理解技术及其应用探讨
- 步进电机的技术参数 控制及其应用
- 技术实践】Docker应用----1.Docker入门和环境搭建
- 双缓冲技术及其在VC的GDI环境下的实现
- 中间件技术及其应用
- Watir自动测试应用(2):Watir安装及其环境设置
- 单总线(1-Wire Bus)技术及其应用
- NAT技术及其应用
- EJB核心技术及其应用
- 【复杂网络】用户画像不应脱离社会关系,谈复杂网络的关键技术和应用实践
- 移动流媒体技术及其应用发展方向(转载)
- 移动流媒体技术及其应用发展方向(转载)
- 移动IPv6技术的研究及其在Linux环境下的实现
- ZigBee技术及其应用
- EJB核心技术及其应用
- 中间件技术及其应用