搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
你好赵伟
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Deep Q-learning from Demonstrations DQFD笔记
2
如何申请到免费SSL证书
3
你真的看懂Transformer了吗?小白学习笔记为你答疑解惑_机器翻译的时候transformer接受的是怎样的输入
4
Python获取输入:sys.stdin与input()_python input 与sys.stdin
5
【GPT科技系列】国内开发者调用openAI-API科技方法_如何在内网使用openai
6
阿里云盘变本地硬盘-MAC版_苹果电脑如何把云盘改为硬盘
7
BilSTM 实体识别_NLP实战-中文命名实体识别
8
开源代码 | FMCW-MIMO雷达仿真MATLAB_matlab 分析 mimo雷达分辨率
9
MATLAB拟合函数
10
MATLAB和Python求解非线性方程组_matlab ode能解算非线性方程吗
当前位置:
article
> 正文
SLAM应用技术分析_slam建图防抖动失真
作者:你好赵伟 | 2024-04-07 14:06:51
赞
踩
slam建图防抖动失真
文章目录
1. 传感器
1.1. 声呐传感器
1.2. 光学传感器
1.3. 单双目相机
1.4. 多波束测深仪
1.5. 三维激光雷达
2. 图像增强
2.1. 直方图均衡化算法
3. 特征提取
3.1. 特征点提取
3.1.1 ORB算法
3.2. 色块识别
3.2.1 基于树莓派的OpenCV色块识别
3.2.2 基于神经网络的Tensorflow
3.2.3 基于STM32的OpenMV
4. 地图优化
4.1. 顺序数据关联
4.2. 闭环检测
4.2.1. Rtab-map算法
4.2.2. RANSAC算法
4.2.3. 局部灰度值编码算法
4.2.4. 误匹配检测
4.2.5. 后端图优化
5. 定位系统
5.1. GPS定位系统
5.2. 视觉相机定位
5.3. 惯性导航定位
5.3. 惯性导航定位
1. 传感器
1.1. 声呐传感器
优点:在恶劣环境中也能使用,为主要传感器之一。
缺点:成本高,也不适宜封闭空间。
1.2. 光学传感器
优点:在光源充足的地方效果好。
缺点:在水下基本没用。
1.3. 单双目相机
作用:可以搭载多种算法进行水下探测。
缺点:基于视觉传感的传感器约束条件比较多。
约束条件:要求贴近海底航行;要求水域清晰度较高;要求地形为结构化环境。
1.4. 多波束测深仪
优点:探测距离远,对水域的清晰度和海底环境的结构性特征几乎没有要求。
内容:多波束测深仪传回的数据转换至打的坐标系可构建测深图。
1.5. 三维激光雷达
优点:抗干扰性强、隐蔽性好、精确度高、测量区域大。
缺点:构建三维栅格地图时,会产生不占有准确度低的问题。
应用:融合惯性测量单位可以取长补短矫正误差。先用惯性测量单元进行位姿先验估计,然后再根据激光雷达进行矫正。
2. 图像增强
2.1. 直方图均衡化算法
作用:对水下采集的图像进行细节增强。
使用方法:不使用RGB格式的图像,对RGB三个通道都进行直方图均衡化容易造成严重失真;使用YUV格式的图像,先将RGB格式图片转为YUV图片,然后在YUV三个通道中,只对Y通道进行直方图均衡化(改变图像清晰度与亮度),由此得到的保真图像效果更好。
图 彩色图像直方图均衡化流程
缺点:直方图均衡化算法在处理图像的时候,不会针对部分区域进行处理,而是整张图像处理,从而造成某些有用信息的丢失。——直观表现为,在原图亮度比较高的地方图像增强后特征提取的数量减少,亮度较低的地方则有增多。
3. 特征提取
3.1. 特征点提取
3.1.1 ORB算法
作用:提取图像特征点
概述:对图像中的关键点快速创建特征向量,这些特征向量可以用来识别图像中的对象。
特点:速度超快,而且在一定程度上不受噪点和图像变换的影响,例如旋转和缩放变换等。
内容:Fast是特征检测算法、Brief是向量创建算法。
3.2. 色块识别
3.2.1 基于树莓派的OpenCV色块识别
简介:可轻易完成水下色块识别的计算机视觉库工具OpenCV。
特点:花费低、语言高效简介,实时实现计算机视觉。同时树莓派占用空间小、运行速度快。
缺点:十分一类摄像头等硬件的精度、阈值分割、方式单一、辨识度低、算法处理速度会受到无用信息运行的影响。
3.2.2 基于神经网络的Tensorflow
简介:可以通过深度学习算法提取图片图像特征。
特点:卷积神经系统可以在TensorFlow上进行构建并随时修改,增加神经网络深度,是模型抽象能力更强,提高图像识别的准确率。
流程:(1)通过机器学习建立一个关于水下物体的库。(2)通过摄像头抓取物体图像信息进行传输并处理图像,并交给分类器进行分类。(2)对提取的图像与TensorFlow搭建的比较库进行特征比较,以实现水下物体的识别。
缺点:图像识别需要大量的数据,水下图像的数据太少;水下亮度不够,容易导致识别器“色盲”,影响机器人的颜色识别,智能通过物体形状进行识别。
3.2.3 基于STM32的OpenMV
简介:凭借C语言课完成核心算法的机器视觉模块OpenMV。
特点:低成本、灵活、易于使用。本质是拥有图像识别功能的STM32单片机,可以结合其他单片机模块进行控制,如树莓派等。
内容:(1)色块识别为
二值化处理图像颜色
(图像分割最简单的方法),并通过遍历最小和最大灰度值和使用类间方差原理得出最佳阈值,实现目标和背景分离。(2)通过选择颜色空间来实现阈值处理。(3)扫描找出对象个数,计算区域像素个数,换算成区域面积大小,最后进行联通阈检索,就可以凸显出目标,实现识别过程。(4)用Camshift算法消除捕捉目标运动产生的影响:Camshift可以根据目标像素快的面积自动调节搜索框大小,从而连续追踪。
缺点:OpenMV受限于物理分辨率,成像质量不如人意。同时本身没有防抖结构,水下作业时不稳定,可能导致色块捕捉丢失。
4. 地图优化
4.1. 顺序数据关联
作用:优化水下三维地图。
要求:建立连续节点之间的相对位置变换,需要传感器不断重复观测到地图特征。
缺点:在水下获得的数据中,连续数据很少包含重复信息,使得顺序数据关联难以实现。
4.2. 闭环检测
闭环特点:一旦检测到闭环,将对整个位置与姿态图进行较大程度的修正。
内容:构造新子图时,可以使用模块匹配的方法检测新子图与历史子图之间是否包含闭环(重叠部分)。同时在没有传统闭环的时候,通过子图之间的相对位置构建闭环。
4.2.1. Rtab-map算法
作用:构建水下三维地图。
功能:稠密法建图——环形监测。
配置:适用于单目与双目相机。
特点:为闭环检测的匹配节省了大量的时间。
思想:假设更频繁的被访问的定位点比其他的定位点更易于形成闭环。这样一个定位点被连续访问的次数就可以用来衡量其易于形成闭环的权重。当需要从WM(Working Memory)转移定位点到LTM(Long-Term Memory)中时,优先选择具有最低权重的定位点。如果具有最低权重的定位点又有多个时,优先选择被存储时间最长的那一个。——换言之,近期访问点STM(Short-Term Memory)选查的勤的,远期访问点LTM(Long-Term Memory)选更久没查的。
4.2.2. RANSAC算法
特点:由于在水下图像质量下降,导致误匹配的概率变得比陆地上大很多,所以RANSAC算法在水下的闭环检测中非常重要。
作用:在闭环检测时,消除匹配错误的图像。
概述:通过多次随机选取匹配点对,判断图片之间是否匹配。
内容:根据一组包含异常数据的样本数据集,计算出数据的数学模型参数,得到有效样本数据的算法。
4.2.3. 局部灰度值编码算法
特点:算法的时间复杂度相对于其他的算法时间复杂度更低,且对图像尺寸不敏感,鲁棒性更高。
内容:算法匹配过程分为粗匹配和精匹配。粗匹配首先提取分块编码特征,分块完毕后,将图像中多余的行和列裁剪掉。最后将模板特征向量与子图特征向量比较,选取相似度最高的子图;精匹配使用相位相关法修正粗匹配结果的误差。
要求:假设最新采样的子图,与之前采样的所有子图,分别当做模板和搜索图的子块,该算法就可用于闭环检测。
4.2.4. 误匹配检测
作用:排除错误的闭环检测结果,防止对后续图优化造成干扰。
内容:包含了模型拟合检测、空间结构检测和距离比检测
4.2.5. 后端图优化
作用:减小前端图优化的误差。
方法:后端优化常用高斯-牛顿法或Levenberg-Marquardt法对
进行求解(X(SLAM)为计算出来的最优的节点配置)。同时已知公式
在这其中的x(SLAMi)为每个节点。
5. 定位系统
5.1. GPS定位系统
优点:定位精准。
缺点:在水下无法探测导致基本没用。
5.2. 视觉相机定位
作用:在没有GPS的时候也可以使用相对位置进行定位。
内容:单目相机作为传感器时,水下机器人定位涉及图像像素坐标系、物理成像平面坐标系、相机坐标系到世界坐标系的转换。采用的是视觉相机定位。
5.3. 惯性导航定位
作用:在没有GPS进行绝对定位的情况下,基于初始位置进行相对定位。
缺点:不停的使用惯性定位会随时间的增加,误差累计逐渐变大,而产生定位错误的情况。
成像平面坐标系、相机坐标系到世界坐标系的转换。采用的是视觉相机定位。
5.3. 惯性导航定位
作用:在没有GPS进行绝对定位的情况下,基于初始位置进行相对定位。
缺点:不停的使用惯性定位会随时间的增加,误差累计逐渐变大,而产生定位错误的情况。
内容:该定位由惯性测量单元发挥作用,惯性测量单元有惯性器件组成(陀螺、加速度计等),用于对加速度、角速度等进行计算,并由此计算得到物体的位姿信息。
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/你好赵伟/article/detail/378984
推荐阅读
article
激光
SLAM
与
视觉
SLAM
优劣对比_请简述
激光
slam
和
视觉
slam
的
优缺点
...
激光
SLAM
与
视觉
SLAM
对比_请简述
激光
slam
和
视觉
slam
的
优缺点
请简述
激光
slam
和
视觉
slam
的
优缺点
...
赞
踩
article
移动机器人
激光
SLAM
导航
(三):
Hector
SLAM
篇...
移动机器人
激光
SLAM
导航
(三):
Hector
SLAM
篇_hector slamhector slam ...
赞
踩
article
fastlio2
给
interactive
-
slam
保存
每帧
的
点云和
每帧
的
里程计为单独
的
文件做后...
为了给
interactive
-
slam
提供数据做后端
回环
优化
和手动
回环
优化
,需要保存
每帧
的
点云和
每帧
的
里程计为单独
的
...
赞
踩
article
CVPR
2024|
Gaussian
Splatting
SLAM
:单目和
RGBD
重建双
SOTA
...
点击下方卡片,关注“自动驾驶之心”公众号戳我->领取自动驾驶近15个方向学习路线>>点击进入→自动驾驶之心『
SLAM
』技...
赞
踩
article
【
三维重建
】结合
深度
学习
的
三维重建
/
SLAM
(
一)_
基于
深度
学习
的
三维重建
...
经典
的
计算机视觉问题是3-D重建。基本上可以分成两种路径:一是多视角重建,二是运动重建。前者有一个经典
的
方法是多视角立体...
赞
踩
article
【文献阅读】基于多
传感器
融合的水下
SLAM
系统_多
波束
声纳
slam
...
本文是一篇对2022年发表在IJRR上的水下
SLAM
论文的阅读笔记_多
波束
声纳
slam
多
波束
声纳
slam
...
赞
踩
相关标签
SLAM
地图
建图
ROS
Hector
GMapping
里程计
TF
机器人导航
区块链
算法
点云
深度学习
人工智能
机器学习