连载文章,长期更新,欢迎关注:


写在前面

第1章-ROS入门必备知识

第2章-C++编程范式

第3章-OpenCV图像处理

第4章-机器人传感器

第5章-机器人主机

第6章-机器人底盘

第7章-SLAM中的数学基础

        7.1 SLAM发展简史

        7.2 SLAM中的概率理论

        7.3 估计理论

        7.4 基于贝叶斯网络的状态估计

        7.5 基于因子图的状态估计

        7.6 SFM、BA和SLAM比较

        7.7 典型SLAM算法

第8章-激光SLAM系统

第9章-视觉SLAM系统

第10章-其他SLAM系统

第11章-自主导航中的数学基础

第12章-典型自主导航系统

第13章-机器人SLAM导航综合实战


SFM、BA和SLAM是在不同研究领域所讨论的问题,由于经常会遇到并且初学者比较容易混淆,这里就拿出来说明一下。

SFM(structure from motion,运动重建)是计算机视觉领域的概念,通过收集到的无序图片进行离线三维重建,可以理解为多个图片的拼接。SFM一般使用在比较大的范围,比如构建一个城市的百度地图。SFM具有两个鲜明的特点,一个特点是输入算法的图片是无序的,另一个特点是重建过程离线进行对实时性没有要求。

BA(bundle adjustment,光束平差法)是摄影测量领域的概念,通过估计运动相机的位姿来反推场景中路标点的位姿,场景路标点又可以反过来作用于相机位姿估计,这其实就是一个局部优化问题。相机位姿与路标的通过相机观测模型进行约束关联,其实就是用到了重投影误差这个约束。与SFM相比,输入BA算法的图片是需要有顺序的。

SLAM是移动机器人领域的概念,利用机器人的运动模型和观测模型数据实时估计机器人位姿和路标。与BA相比,SLAM除了有观测数据还有运动数据,SLAM有回环检测能通过全局优化消除累积误差,并且SLAM计算要求尽可能的实时性。从这里可以看出,SLAM其实涵盖了SFM和BA所研究的问题,是一个更为复杂和困难的问题。

源码仓库

参考文献

【1】 张虎,机器人SLAM导航核心技术与实战[M]. 机械工业出版社,2022.

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐