位置: IT常识 - 正文

slam原理介绍和经典算法(slam方法)

编辑:rootadmin
slam原理介绍和经典算法 1.传统slam局限性

推荐整理分享slam原理介绍和经典算法(slam方法),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:slam实现,slam算法 入门,slam算法 入门,slam的,slam的,slam算法,slam的,slam实现,内容如对您有帮助,希望把文章链接给更多的朋友!

        slam算法假设的环境中的物体都是处于静态或者低运动状态的,然而,现实世界是复杂多变的,因此这种假设对于应用 环境有着严格的限制,同时影响视觉slam系统在实际场景中的应用性。当环境中存在动态物体时,会给系统带来错误的观测数据,同时降低系统的精度和鲁棒性。通过RANSAC算法(随机采样一致性)的外点处理机制能够解决部分异常点对于算法的影响。但是当动态物体占据空间的大部分时,依然会影响位姿跟踪,所以需要检测运动的物体、剔除动态区域的特征点,亦或者是降低在优化位姿的权重,减少对视觉定位的影响。

 人身上为动态特征点,要尽可能的去除。

2.常用算法:

开源的系统(DS-SLAM、Dyna-SLAM、Co-Fusion)目前大部分的动态SLAM系统都是在ORB-SLAM2或者KinectFusion基础上改进得到的,很少部分会涉及到边缘SLAM的方法。

用于检测动态区域或者特征点的常用方法有以下几种:

2.1基于深度学习的分割方法

利用深度学习技术能够很好地识别图像中特定的物体,结合运动物体的先验知识(汽车、行人、动物),能够很好的去除潜在的动态区域。 需要注意的是,对于移动的椅子、停在路边的汽车,该方法往往会做出错误的判断。

深度学习在动态SLAM中的应用有两种形式:目标检测与实例分割(语义分割)。

2.1.1目标检测(Object Detection)

目标检测的目标是找到图像中所有的待检测物体,并用边界框标出该物体的位置,该方法的优点是检测速度快,但是缺点也很明显,其只能用方框标出物体大概位置,不能实现精确分割,如果直接将方框内的特征点去掉,会因特征点过少而影响定位精度。为了克服此问题,会通过图割法对方框中的图像进行进一步修剪,以得到更加准确的物体区域。yolo和SSD

2.1.2语义分割(INstance Segmentation)

语义分割的目标是对物体进行像素级别的分割,该方法的优点在于精度较高,但是分割速度并不高,一般来说达不到实时的要求。为了解决效率问题,一些论文提到只在关键帧中进行实例分割,然后通过传播模型得到普通帧的结果。SegNet、Mask-RCNN

2.2基于多视图几何的方法

检测动态特征点的原理是用多帧图像的位姿约束,剔除误差较大的特征点。

极线约束:需要注意的是,当物体沿着极线的方向运动时,该方法会失效。

2.3基于光流/场景流的方法2.3.1光流方法slam原理介绍和经典算法(slam方法)

对于两张图像,稠密光流很好地描述了每个像素在二维平面中运动的情况,是检测运动区域很好的方法,一般来说运动物体的区域所产生的光流会远高于静态的背景区域。但是除了物体本身运动会产生光流,相机的运动也会产生光流,为了消除相机运动的影响,通常会采用以下两种方案:

1.通过特征匹配计算二者之间的仿射变换,对第一张图像进行校正,用校正后的图像与第二张图像计算稠密光流。

2.结合语义信息得到初始静态背景的区域;计算两张图像之间的光流场;计算初始背景区域光流场的平均运动方向;光流场减去背景光流场得到最后的光流结果。

OpenCV有很多关于稠密光流的函数,如DeepFlow。

2.3.2场景流方法

所谓场景流(Scene Flow),就是光流(Optical Flow)的三维版本,表述了图像点云中每个点在前后两帧的变化情况。光流由两帧图像即可得到,场景流则需要两帧双目图像或者RGBD图像来得到。目前对场景流的研究还局限在实验室阶段,由于缺乏实际数据(打标成本太高)以及客观的评价指标,离工程应用还有不小的距离。

 正如论文FlowFusion中所介绍的,场景流反映了世界坐标系下物体点云的3D运动情况,也就是我们想要检测的东西;光流是二维图像中像素运动产生的,并不简单是场景流投影至二维平面的结果,其还受相机运动(Ego motion)的影响,也就是说,相机运动产生的Ego Flow和物体本身运动产生的Secne Flow叠加,并投影至相机图像平面上,便得到了我们观测的Optical Flow。

OpticalFlow=SceneFlow+EgoFlow

Secne Flow反应了物体的真实运动情况,求得场景流便知道了运动的物体。具体方法为:

1.计算两帧图像的初始位置,并进一步计算Ego Flow(相机)

2.计算两帧图像的光流场

3.二者相减得到3D场景流,投影至2D图像平面即得到了运动区域

2.4基于残差的方法

        最朴素的想法是计算每个点的误差大小(光度、重投影误差等)。可以应用在特征点上也可以应用在整个图像上,因为要计算误差,所以需要计算一个初始的位姿,计算位姿时一般会将当前图像与所维护的静态地图进行比较,因为每一帧图像都会对静态地图进行更新和维护,所以位姿计算也是比较准确地。

首先计算整张图像的残差,然后通过自适应阈值分割即可得到大致的动态区域,最后经过形态学处理去除噪声影响即可。

 3.性能比较

 传统SLAM算法与动态SLAM算法的轨迹对比。

作者:Mr Qin。如若转载,请注明出处:古月居 https://www.guyuehome.com/34296

本文链接地址:https://www.jiuchutong.com/zhishi/289066.html 转载请保留说明!

上一篇:海恩斯章克申附近克鲁瓦尼国家公园中冰川和山脉的鸟瞰图,加拿大育空 (© Robert Postma/plainpicture)(海恩斯科普简介)

下一篇:在windows下安装nnUnet,并制作数据集以及运行(让隔壁奶奶也能学会的教程)(在windows中安装应用程序的途径)

  • 总账会计的职责目标设定
  • 防伪税控系统
  • 个人所得税的税目分多少种
  • 增值税普票没有税号可以开吗
  • 公司贷款可以转私人吗
  • 3%简易征收范围
  • 免抵税额什么时候缴纳城建税
  • 发生额对照表
  • 小规模旅游业差额增值税税率
  • 借款利息是否可以转为本金
  • 费用类都有哪些账户
  • 现金股利和股票股利的区别
  • 建筑业简易征收差额征税的计算案例
  • 个人出租房屋应该注意什么
  • 只开增值税普通发票,需要申报税务吗
  • 出口申报时限
  • 外资生产企业出口销售会计处理
  • 筹建期员工社保分录
  • 固定资产报废需要在固定资产系统中
  • 支付境外服务费税务如何处理
  • 股权转让个税怎么缴纳
  • 事业单位年末收入怎么算
  • player.exe是什么意思
  • 金融商品转让的增值税怎么计算
  • 咨询服务费怎么交税
  • 客户尾款不付会计分录
  • php怎么新建
  • 加利福尼亚riverside
  • 销售收入与销售成本
  • 培训费收入交什么税
  • 集团公司收到的上级秘密
  • 峡谷的人
  • 将自产的应税消费品用于连续生产应税消费品
  • 医院执行政府会计制度补充规定
  • 前端解决跨域问题的8种方案(最新最全)
  • 创建vue3项目的步骤
  • 后端中spef文件和spf文件
  • 数据库arc文件
  • 如何验证工具坐标系
  • _get_osfhandle
  • 待处理财产损溢增加是哪方
  • 不免征个人所得税的是个人转让著作权所得
  • 善意取得增值税专用发票
  • 帝国cms文件夹介绍
  • phpcms使用教程
  • 汽车的计提折旧
  • 控股合并的账务处理
  • 什么单位需要
  • 企业所得税如何抵扣
  • 核定征收适用于什么税率
  • 买赠销售账务处理
  • 工作失误扣工资的规定是什么
  • 管理费用现金流量附表指定
  • 核销报验登记流程
  • 差旅费的会计处理
  • 用友为什么引入不了账套
  • mysql数据库如何使用
  • mysql5.7.31安装配置教程
  • 数据库left joins
  • mysql查询时间语句
  • linux系统硬盘分区
  • mac电脑废纸篓清空文件恢复
  • 苹果电脑macbookpro忘记密码
  • win8启用或关闭windows功能
  • windows xp怎么清理c盘
  • win10电脑去掉快捷箭头百度经验
  • Win10系统中怎么给图片加备注
  • win10无法打开wifi列表
  • perl时间函数
  • 在unity中单例的主要作用
  • jquery插件开发方法
  • unity3d的游戏
  • 批处理文件
  • unity3d跨平台
  • python定制函数
  • 进项发票认证了怎么冲红
  • 河北电子税务局开票流程
  • 山东网上信访投诉平台
  • 怎么注册山东省采购网
  • 增值税发票开具后多长时间可在查询平台查询到?
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设