SLAM应用技术分析

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进行绝对定位的情况下,基于初始位置进行相对定位。
  • 缺点:不停的使用惯性定位会随时间的增加,误差累计逐渐变大,而产生定位错误的情况。
  • 内容:该定位由惯性测量单元发挥作用,惯性测量单元有惯性器件组成(陀螺、加速度计等),用于对加速度、角速度等进行计算,并由此计算得到物体的位姿信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值