机器人视觉定位与导航中的神经科学应用
在机器人视觉定位与导航领域,有许多先进的技术和算法被应用,以实现机器人在复杂环境中的高效运行。本文将详细介绍相关的技术,包括显著目标识别、定位系统以及导航系统等方面。
显著目标识别
显著目标识别模型采用了三层神经网络(中间层分别有200和100个节点),并使用反向传播算法进行训练。该模型的显著目标识别过程如下:
1.
生成显著图
:利用Itti等人(1998)提出的显著性模型,对每个通道的特征图进行处理。首先在每个通道内对特征图进行线性组合(无加权像素加法),得到每个通道的显著图。然后使用胜者为王机制将这些显著图进行组合,突出与周围环境差异较大的位置,从而得到最终的显著图。
2.
提取显著区域
:
- 从显著图中最高值的像素位置开始,使用Rutishauser等人(2004)提出的形状估计算法(自适应阈值区域增长)对产生该点的特征图进行分割,提取包含该点的区域。
- 为了找到合适的特征图,模型会比较显著位置处显著图的值,选择值最高的通道(获胜通道)。在该通道内,再比较所有特征图在同一位置的值,值最高的即为获胜的中心 - 环绕图。
- 在分割后的区域周围创建边界框。初始时,拟合包含所有连接像素的最小矩形。如果需要,将框的大小调整为图像宽度和高度的35% - 50%,因为小区域难以识别,而过大的区域匹配时间过长。
- 创建返回抑制(IOR)掩码,通过高斯滤波器对区域进行模糊处理,在掩码边界产生渐缩效果,以抑制显著图的该部分,从而将注意力转移到后续区域。如果新区域与之前的区域重叠超过66%,则该区域将被丢弃,但仍会被抑制。
3.
终止条件
:模型会持续运行,直到满足以下三个退出条件之一:未分割的图像面积低于50%;处理的区域数量达到5个;下一个点的显著图值低于第一个(最显著)点的5%。将区域数量限制为5个是因为实验表明,后续区域的可重复性较低。
提取多个显著区域可以提高选择的鲁棒性,因为考虑到了遮挡和显著干扰的可能性。例如,在某些情况下,第一个区域可能不是理想的定位线索,而第二个区域可能更适合。
显著区域匹配与定位
模型会尝试将提取的显著区域与地标数据库进行匹配,地标数据库中的条目都标记了来源位置。构建地标数据库的过程包括引导机器人遍历地图中的所有路径,并多次进行遍历以覆盖不同的光照条件。这样可以选择在多次遍历中都能被检测到且长时间存在的地标,排除移动对象(如行人),因为它们对于定位来说可靠性较低。
显著区域的识别使用两组特征:SIFT关键点(Lowe,2004)和显著特征向量。为了提高鲁棒性,模型只考虑具有超过五个关键点的区域。显著特征向量是从每个子通道特征图中提取的值,具体是在显著点位置(5×5窗口)处获取的值,总共包含1050个特征(7个子通道×6个特征图×5×5位置)。在比较两个显著特征向量时,模型会考虑特征相似度(基于特征空间中的欧几里得距离)和位置接近度。模型设置了较高的正匹配阈值,以几乎消除误报,但会导致略高的漏报率。
为了加快数据库匹配过程,系统会根据一些上下文先验信息对数据库中的地标进行排序,包括当前机器人位置估计、分段分类和显著特征向量匹配得分。这些信息被线性组合成一个单一的似然预测得分,得分高的地标更有可能与输入区域匹配。由于机器人是实时系统,通常在找到第一个匹配时就会结束数据库搜索,因此排序间接影响了显著区域识别步骤。此外,系统还采用了搜索截止机制,以便更快地处理下一个输入区域。
成功的匹配结果会被输入到后端的概率蒙特卡罗定位(MCL)模块,该模块使用采样重要性重采样(SIR)算法。算法将位置信念表示为一组加权粒子,每个粒子代表一个特定的位置假设,其权重与到目前为止观察到的分段和显著区域的可能性成正比。粒子会根据机器人的运动进行移动,并在有新观察时更新权重。在考虑区域位置之前,会根据匹配过程中机器人的累积里程计读数将其向前投影,以考虑过程的长延迟。最可能的位置由权重最高的粒子确定。系统还会保留一小部分随机粒子,以增加信念的多样性。
以下是该过程的流程图:
graph TD
A[输入图像] --> B[生成显著图]
B --> C[提取显著区域]
C --> D[显著区域匹配地标数据库]
D --> E{匹配成功?}
E -- 是 --> F[输入MCL模块]
E -- 否 --> C
F --> G[更新粒子权重和位置]
G --> H[确定最可能位置]
各模块的处理时间如下表所示:
| 模块 | 处理时间 |
| ---- | ---- |
| 原始特征提取、主旨和显著性计算 | 每帧25ms |
| 分段分类 | 小于1ms |
| 地标匹配 | 平均3s(0.33Hz) |
| 后端定位模块 | 1ms,输出频率为30Hz |
该系统具有自然分布式的特点,可以在多核处理器架构上运行。每个感知模块根据自身的内部延迟在各自的时间框架内运行,就像实时系统一样输出结果。由于拓扑地图的一维表示和仅需100个粒子进行定位,处理这些感知结果所需的时间较少。这种松散耦合的结构使得系统可以通过添加更多处理器轻松扩展新的观察和模式。
导航系统
导航系统主要由视觉道路识别、网格地图构建和路径规划三个部分组成,用于估计道路方向、构建环境地图并生成电机命令。
视觉道路识别
视觉道路识别模块采用了一种新颖的消失点(VP)算法,输出绝对道路方向。该模块的工作流程如下:
1.
边缘图生成
:对输入图像应用Canny边缘检测,创建边缘图。
2.
道路识别方式
:
-
全识别流程(较慢)
:检测边缘图中的线段,对最可能的消失点进行投票,并构建从消失点发出的道路线。
-
实时跟踪流程
:仅跟踪已有的道路线以更新消失点的位置。全识别流程也会使用跟踪机制,将新发现的道路线投影到未处理的帧中,以赶上当前帧。
3.
角度计算
:将消失点的像素位置转换为与道路方向的角度偏差,通过线性近似(从图像中心的0°到边缘的27°,即每像素0.16875°)实现。然后将该角度偏差与当前IMU读数相加,计算出绝对道路方向。
4.
处理特殊情况
:系统应用时间滤波去除错误值,并在道路暂时不可见时(如通过桥梁时),通过保持道路线与图像底部交点的坐标,锁定机器人的初始横向位置。Siagian等人(2013)的研究表明,该模块可以跟踪弯曲道路,关键在于尽可能提取弯曲路径上的直线段,这些线段指向移动的消失点,与道路方向的变化一致。
其工作流程可以用以下流程图表示:
graph TD
A[输入图像] --> B[Canny边缘检测]
B --> C{选择处理方式}
C -- 全识别 --> D[检测线段]
D --> E[投票消失点]
E --> F[构建道路线]
C -- 实时跟踪 --> G[跟踪道路线更新VP]
F --> H[投影道路线]
H --> I[转换VP位置为角度偏差]
G --> I
I --> J[结合IMU计算绝对道路方向]
J --> K[时间滤波和锁定横向位置]
网格地图构建
机器人使用64×64的网格占用地图来表示周围环境,每个网格单元的空间面积为15cm×15cm,整个局部地图范围为9.6m×9.6m。选择15cm(机器人尺寸的1/4,Beobot 2.0的长度和宽度均为60cm)是为了在保证足够详细的同时,便于实时更新。
网格占用值的更新过程如下:
1.
初始设置
:将网格值初始设置为 - 1.0,表示未知占用情况。
2.
更新规则
:仅当网格单元被激光雷达(LRF)射线击中或在射线方向上时才进行更新。对于每条射线,从机器人位置到端点绘制一条线。如果激光线穿过网格单元,将其占用值设置为0.0,表示该单元空闲;如果激光线终止在网格单元上,将其占用值设置为1.0,表示该单元被占用。
3.
模糊处理
:为了生成路径,系统首先对地图进行模糊处理,以软化网格占用的离散化,帮助机器人提前预警即将到来的障碍物。模糊处理不应用于未知占用的单元,将其保守地设置为0.99,只有在其他选项耗尽时,路径规划算法才会通过这些单元。得到的地图称为模糊地图B。
4.
网格值移动
:当机器人向目标纵向移动时,网格值逐行向下移动,保持机器人位置不变。这意味着局部地图在位置表示上以机器人为中心,但在方向上以道路为中心。机器人的运动估计通过融合轮式编码器和IMU的里程计信息,足以满足网格移动的需求。
网格构建过程由于采用了相对粗糙的15cm×15cm分辨率,计算时间少于1ms,并且在每次LRF读数后以20Hz的频率输出结果。
路径生成
路径生成过程包括以下几个步骤:
1.
A*搜索
:系统首先对局部地图应用A
搜索算法,创建到目标的粗略路径轨迹。对于每个网格单元,搜索过程会创建八个指向周围节点的有向边,边的权重由边的长度和目标单元的占用值(目标单元的B(i, j)值和一个鼓励路径一致性的偏置项之和)组成。偏置项与目标单元到前一个A
路径中最近点的接近程度成正比。通过在每一帧生成路径并添加偏置,比纠正前一帧的路径更能有效地实现时间平滑性。
2.
弹性带算法优化
:为了优化避障并平滑离散路径,系统应用了Quinlan和Khatib(1993)提出的改进弹性带算法,将LRF激光扫描数据视为单个障碍物。每个路径点都经历一个迭代过程,在每个时间步,点会受到一个吸引力以拉直路径,同时受到一个排斥力以使其垂直于最近的障碍物。在识别最近的障碍物点时,系统将机器人身体更准确地建模为正方形。
3.
动态窗口方法生成电机命令
:系统使用平滑后的路径的第一步,应用动态窗口方法(DWA)计算电机命令。该方法不仅计算当前机器人航向与路径初始步骤航向之间的偏差,还考虑了机器人的动力学。具体来说,它只考虑基于前一个命令估计的速度、执行延迟以及电机和身体动力学所允许的速度空间内的命令。然后,该方法准确模拟每个允许命令(平移和旋转速度)的弧形轨迹,测试机器人的任何部分是否会撞到障碍物。最后,系统选择一个预计能最好地实现目标航向和速度,同时避开障碍物的电机命令。
路径生成的三个阶段可以用以下流程图表示:
graph TD
A[局部地图] --> B[A*搜索生成粗略路径]
B --> C[弹性带算法优化路径]
C --> D[动态窗口方法生成电机命令]
在机器人运动过程中,其他模块几乎在每个时间步都会影响机器人的运动,而定位模块则不频繁地更新局部地图中的中间目标。大多数情况下,目标位置被放置在标准的正前方位置。只有在转弯或目标在局部地图内时,目标位置才会移动。在转弯时,定位系统会向导航系统发送转弯角度,导航系统将目标移动到适当位置,触发路径生成,使机器人立即原地转弯。转弯完成后,局部地图会旋转,使目标位置回到标准的正前方位置,机器人可以继续正常行驶。
综上所述,这些技术的综合应用使得机器人能够在复杂环境中实现高效的视觉定位和导航,为机器人在实际场景中的应用提供了有力支持。未来,随着技术的不断发展,这些算法和模型有望进一步优化,提高机器人的性能和适应性。
机器人视觉定位与导航中的神经科学应用(续)
系统性能与优势总结
该机器人视觉定位与导航系统在多个方面展现出了显著的性能和优势,以下为详细总结:
| 方面 | 性能与优势 |
|---|---|
| 显著目标识别 | 采用三层神经网络和特定算法,能准确提取多个显著区域,提高选择鲁棒性,且限制区域数量避免处理过多低重复性区域。 |
| 显著区域匹配与定位 | 结合SIFT关键点和显著特征向量识别显著区域,设置高匹配阈值减少误报。通过上下文先验排序和搜索截止机制加快匹配,后端MCL模块有效处理位置估计。 |
| 视觉道路识别 | 利用新颖的消失点算法,能输出绝对道路方向,具备处理弯曲道路和特殊情况(如道路暂时不可见)的能力。 |
| 网格地图构建 | 以合适的网格分辨率构建占用地图,更新过程高效,模糊处理和保守设置未知单元值有助于路径规划。 |
| 路径生成 | 通过A*搜索、弹性带算法优化和动态窗口方法生成电机命令,实现高效避障和路径平滑,考虑机器人动力学确保运动安全。 |
| 系统架构 | 自然分布式架构,可在多核处理器上运行,各模块松散耦合,便于添加新的观察和模式扩展系统。 |
技术细节深入分析
显著目标识别技术细节
在显著目标识别中,形状估计算法(Rutishauser等人,2004)起到了关键作用。该算法通过自适应阈值区域增长来分割特征图,从而确定显著区域的边界。在选择获胜通道和中心 - 环绕图时,比较显著图和特征图的值能够准确找到最具代表性的特征。创建边界框时,调整大小的操作是为了平衡识别难度和匹配时间。返回抑制(IOR)掩码的设计则是为了引导模型关注不同区域,避免重复处理。
显著区域匹配技术细节
SIFT关键点具有尺度不变性和旋转不变性,能够在不同尺度和角度下准确描述显著区域的特征。显著特征向量的多通道提取方式增加了特征的丰富性。在比较显著特征向量时,欧几里得距离能够直观地衡量特征相似度,而位置接近度则进一步提高了匹配的准确性。上下文先验信息的线性组合形成的似然预测得分,使得地标排序更加合理,提高了匹配效率。
视觉道路识别技术细节
Canny边缘检测能够有效地提取图像中的边缘信息,为后续的道路识别提供基础。消失点投票机制通过对线段的分析,确定最可能的消失点,从而推断道路方向。跟踪机制的应用使得系统能够实时更新消失点位置,适应道路变化。线性近似将像素位置转换为角度偏差,结合IMU读数计算绝对道路方向,避免了视觉与运动的直接耦合。
网格地图构建技术细节
网格单元的初始设置为 - 1.0,明确表示未知占用情况。激光雷达射线的使用准确地更新了网格单元的占用值,区分空闲和占用状态。模糊处理和保守设置未知单元值的策略,既考虑了障碍物预警,又为路径规划提供了灵活性。机器人运动时网格值的逐行移动,确保了地图以机器人为中心且与道路方向对齐。
路径生成技术细节
A*搜索算法通过创建有向边和计算边权重,快速找到粗略路径。弹性带算法的迭代过程中,吸引力和排斥力的作用使得路径更加平滑且避开障碍物。动态窗口方法考虑机器人动力学,模拟轨迹并选择最佳电机命令,确保机器人运动的安全性和有效性。
实际应用场景与挑战
该系统在多种实际应用场景中具有广阔的前景,但也面临一些挑战:
实际应用场景
- 城市环境巡逻 :机器人可以在城市街道上巡逻,利用视觉定位和导航技术识别道路、地标和障碍物,实现自主移动和监控任务。
- 室内物流配送 :在仓库或工厂等室内环境中,机器人能够准确识别货架、通道和货物,高效地完成物流配送任务。
- 灾难救援 :在灾难现场,机器人可以通过视觉系统定位幸存者和危险区域,为救援人员提供重要信息,同时导航到指定位置进行救援工作。
面临的挑战
- 光照变化 :不同的光照条件会影响图像的质量,导致显著目标识别和道路识别的准确性下降。例如,在强烈阳光下或昏暗的环境中,特征提取和匹配可能会出现误差。
- 复杂场景干扰 :复杂的场景中可能存在大量的干扰因素,如广告牌、人群和车辆等,这些因素会增加显著区域匹配和路径规划的难度。
- 实时性要求 :机器人在实际应用中需要实时响应环境变化,系统的处理速度和决策效率需要进一步提高,以满足实时性要求。
未来发展方向
为了应对上述挑战,提高系统的性能和适应性,该系统的未来发展可以朝着以下几个方向进行:
算法优化
- 进一步改进显著目标识别和匹配算法,提高在光照变化和复杂场景下的准确性和鲁棒性。
- 优化路径规划算法,减少计算时间,提高路径的平滑性和安全性。
多传感器融合
- 结合更多类型的传感器,如深度相机、超声波传感器等,获取更丰富的环境信息,提高系统的感知能力。
- 开发有效的多传感器融合算法,将不同传感器的数据进行融合处理,提高定位和导航的精度。
深度学习应用
- 引入深度学习技术,利用卷积神经网络(CNN)和循环神经网络(RNN)等模型,对图像和传感器数据进行更深入的分析和处理。
- 训练深度学习模型,使其能够自动学习和适应不同的环境和任务,提高系统的智能水平。
总结
本文详细介绍了机器人视觉定位与导航系统的各个组成部分,包括显著目标识别、显著区域匹配与定位、视觉道路识别、网格地图构建和路径生成等。该系统通过综合应用多种技术,实现了机器人在复杂环境中的高效定位和导航。同时,分析了系统的性能优势、技术细节、实际应用场景和面临的挑战,并提出了未来的发展方向。随着技术的不断进步,相信该系统将在更多领域得到广泛应用,并为机器人的发展带来新的突破。
以下是整个系统工作流程的综合流程图:
graph TD
A[输入图像] --> B[显著目标识别]
B --> C[显著区域匹配地标数据库]
C --> D{匹配成功?}
D -- 是 --> E[输入MCL模块定位]
D -- 否 --> B
E --> F[更新局部地图目标]
G[激光雷达数据] --> H[网格地图构建]
I[视觉道路识别] --> J[计算道路方向]
F --> K[路径生成]
H --> K
J --> K
K --> L[生成电机命令]
L --> M[机器人运动]
M --> N[更新位置和观察信息]
N --> B
N --> H
N --> I
这个流程图展示了从输入图像到机器人运动的整个过程,包括显著目标识别、匹配定位、地图构建、道路识别、路径生成和电机命令生成等环节,同时体现了系统的循环反馈机制,不断根据新的观察信息调整机器人的运动。
超级会员免费看
22万+

被折叠的 条评论
为什么被折叠?



