位置: 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中安装应用程序的途径)

  • 电视1+8g内存够用吗(电视内存1+8的内存够用吗)

    电视1+8g内存够用吗(电视内存1+8的内存够用吗)

  • qq怎样开启一起听歌(qq怎么开启一起听歌)

    qq怎样开启一起听歌(qq怎么开启一起听歌)

  • 街电可以异地还吗(街电可不可以跨省还)

    街电可以异地还吗(街电可不可以跨省还)

  • 腾讯会议电脑摄像头黑屏(腾讯会议电脑摄像头)

    腾讯会议电脑摄像头黑屏(腾讯会议电脑摄像头)

  • pdf能直接编辑吗(pdf上可以直接编辑吗)

    pdf能直接编辑吗(pdf上可以直接编辑吗)

  • 苹果手机关机后闹钟还可以用吗(苹果手机关机后能查到定位吗)

    苹果手机关机后闹钟还可以用吗(苹果手机关机后能查到定位吗)

  • ipad总是自动关机重启(ipad自动关机是怎么回事)

    ipad总是自动关机重启(ipad自动关机是怎么回事)

  • 卸载华为音乐视频会影响系统吗(卸载华为音乐视频软件)

    卸载华为音乐视频会影响系统吗(卸载华为音乐视频软件)

  • 怎么在b站下载视频到手机(怎么在b站下载视频)

    怎么在b站下载视频到手机(怎么在b站下载视频)

  • 计算机的内存有什么特点(计算机的内存有什么用)

    计算机的内存有什么特点(计算机的内存有什么用)

  • 怎么用微信名字添加好友(怎么用微信名字搜索好友)

    怎么用微信名字添加好友(怎么用微信名字搜索好友)

  • 腾讯企业微信是什么(腾讯企业微信是干嘛用的?)

    腾讯企业微信是什么(腾讯企业微信是干嘛用的?)

  • wps是属于什么软件(wps软件属于什么软件)

    wps是属于什么软件(wps软件属于什么软件)

  • 华为titcl00是什么型号(华为tlttl00)

    华为titcl00是什么型号(华为tlttl00)

  • 苹果11是几g运行(苹果11是几g运行内存)

    苹果11是几g运行(苹果11是几g运行内存)

  • 微信被附近人举报过是不是加不了附近人(微信被附近人举报怎么恢复)

    微信被附近人举报过是不是加不了附近人(微信被附近人举报怎么恢复)

  • 主板bios坏了能自检吗(主板bios坏了能开机吗)

    主板bios坏了能自检吗(主板bios坏了能开机吗)

  • 快手怎么顶别人的作品(快手怎么顶别人的关注)

    快手怎么顶别人的作品(快手怎么顶别人的关注)

  • 怎么查找支付宝里的消费记录(怎么查找支付宝转账记录)

    怎么查找支付宝里的消费记录(怎么查找支付宝转账记录)

  • gg修改器守护进程未运行怎么办(gg修改器守护进行会运用)

    gg修改器守护进程未运行怎么办(gg修改器守护进行会运用)

  • 移动宽带家庭网关用户名密码(移动宽带家庭网关密码忘了)

    移动宽带家庭网关用户名密码(移动宽带家庭网关密码忘了)

  • 手机记事本在哪(手机记事本在哪个文件夹)

    手机记事本在哪(手机记事本在哪个文件夹)

  • 微软 Win11 Edge 弹窗警告,试图阻止用户下载 Chrome 浏览器(edge弹窗)

    微软 Win11 Edge 弹窗警告,试图阻止用户下载 Chrome 浏览器(edge弹窗)

  • Mac下使用Dashboard中的应用程序的方法(如何使用dashboard)

    Mac下使用Dashboard中的应用程序的方法(如何使用dashboard)

  • JAVA开发与运维(web生产环境部署)(java开发和运维)

    JAVA开发与运维(web生产环境部署)(java开发和运维)

  • 小规模修理修配的税率是多少
  • 农村个体工商户的定义
  • 现在会计账簿还需要交印花税吗
  • 增值税普通发票需要交税吗
  • 业务招待费超支原因怎么写
  • 报关单和发票不符怎么办
  • 退股分红什么意思
  • 公司账户拨款工具有哪些
  • 事业单位支付方式
  • 工程基建期的工作总结
  • 银行利息收入可以开增值税专用发票
  • 增值税附表一免税项目金额填不上
  • 利润转增资本交什么税
  • 预收账款的科目属性
  • 预缴所得税多交了汇算时可以抵扣下一年的所得税吗
  • 分次付息会计分录
  • 向人力资源公司辞职怎么说
  • 应收票据贴现的会计分录
  • 融资租赁的利息可以税前扣除吗
  • 一般纳税人资格登记表
  • fontcreator字间距
  • 公司个人垫付的费用会计分录
  • 电脑出现一堆英文无法开机
  • 电视柜尺寸一般是多少厘米的
  • php字符串型数据的定义方式
  • 微博怎么变成大v
  • yifile怎么使用
  • php实现图片上传显示
  • 成本法转为权益法例题
  • php md5加盐
  • 银行贷款成本高
  • laravel怎么用
  • json_server
  • 利息收入做红字
  • 主动学习(Active Learning,AL)的理解以及代码流程讲解
  • unet模型代码matlab
  • 人力为主的公司名称
  • 企业购买的土地出买后无法收回资金属国有资产流失吗?
  • 购买房屋用于出租属于投资行为吗
  • 车险增值税发票模板图片
  • mysql的文件格式有哪些
  • if三元表达式
  • 应交税费在借方怎么调平
  • 无形资产摊销是当月增加当月摊销吗
  • 养猪死亡
  • 公司向个人借款合法吗
  • 网站维护费用
  • 场地无偿使用证明的作用是什么
  • 特殊收入如何计税
  • 动漫产业增值税率是多少
  • 跨月的普通发票能作废吗
  • 公司之前借款没入账现在还款
  • 其他权益工具投资公允价值变动计入什么科目
  • 小规模纳税人已付款对方不开发票几年了会计分录
  • 残保金工资总额是按计提还是发放
  • 电子银行承兑汇票能拆票吗
  • 应收账款坏账准备借贷方向
  • 免费领课程有什么陷阱
  • mysql事物的作用
  • Ubuntu16.04 server下配置MySQL,并开启远程连接的方法
  • 电脑安装win8系统
  • 控制windows外观和工作方式
  • 物联网 iot
  • 系统技巧 制作流程
  • linux系统要求配置
  • linux shell 数字转字符串
  • Win7系统无法安装SQL2000
  • 技术故事是什么意思
  • js写贪吃蛇什么水平
  • jquery的选择器有哪些举例说明
  • linux命令scp和sftp详细介绍
  • unity3d人物模型
  • 理解Python中的变量
  • 酒店会场出租如何收费
  • 湖南省电子国税
  • 防伪开票系统操作流程
  • 进项发票勾选认证如何导出明细
  • e贷支付扣款管理是什么意思
  • 销售税金含增值税怎么计算企业所得税
  • 冷库出租需要交什么税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设