基于双目视觉的类脑三维认知地图构建方法

2021-09-28 06:18王雅婷刘建业
导航定位与授时 2021年5期
关键词:类脑位姿精度

王雅婷,刘建业,2,熊 智,2,杨 闯

(1.南京航空航天大学导航研究中心,南京 211106;2.先进飞行器导航、控制与健康管理工业和信息化部重点实验室,南京 211106)

0 引言

现阶段,同步定位与地图构建(Simultaneous Localization and Mapping,SLAM)是无人机在动态复杂环境下进行导航与定位的主要方法之一。其原理是通过建立模型感知周围环境的信息,完成自定位并构建环境地图,进而解决机器人在未知环境中的自主运动问题。经过多年研究,视觉SLAM成为解决无人机SLAM问题的经典方法之一,视觉传感器成本低廉,应用广泛,但容易受光照和天气等环境因素影响且智能化水平较低。同时,现有的视觉SLAM后端处理主要采用基于概率模型的方法,需要建立真实世界和载体运动的准确模型,算法复杂度高。在此情况下,亟需发展能适应无人机复杂飞行环境的鲁棒性强、智能化水平高的新型定位建图方法[1]。

动物拥有记忆目标与适应环境的导航能力,这为解决上述问题提供了较好的生物模型,其中构建认知地图是动物导航能力的核心[2]。近年来,动物构建认知地图的神经机制得到了研究,哺乳动物大脑海马区和内嗅皮层中头朝向细胞、网格细胞、位置细胞等关键生物导航细胞被神经学家们陆续发现。对生物导航细胞编码建立的类脑导航细胞神经网络模型,模拟了类脑细胞的部分特性,有潜力实现无人机在复杂动态环境下的准确定位并构建认知地图[3]。

目前,已有学者研究出一些基于生物导航细胞神经网络模型的类脑认知地图构建方法:M.J.Milford及其团队研发了RatSLAM模型,成功实现了大规模的持续2周[4]导航和在二维空间中绘制认知地图的功能[5]。基于RatSLAM模型,研究者们又研发了许多扩展模型,例如Steckel等开发了运用声呐感知的BatSLAM模型;Silveira等将RatSLAM与位置细胞三维模型结合,能够探索水下三维环境;F.Yu等开发了能够表示机器人在三维空间四自由度位姿信息的NeuroSLAM模型,并在模拟场景和真实场景下进行了试验[6]。

从现有类脑认知地图构建方法研究来看,建立细胞二维模型并构建二维类脑认知地图的研究较多,而针对导航细胞构建三维模型的研究相对匮乏;传感输入主要采用扫描线强度剖面法,较难准确解算三维位姿,导致最终构建的认知地图误差较大。为解决上述问题,本文在上述文献研究的基础上,提出了一种基于双目视觉的类脑三维认知地图构建方法:阐述了类脑三维认知地图系统的工作原理,研究了基于双目视觉的类脑三维认知地图精度优化方法,设计了基于视觉数据集的类脑三维认知地图构建试验,并对比分析了不同视觉里程计精度对认知地图精度的影响。

1 类脑三维认知地图构建系统

1.1 工作原理

类脑三维认知地图构建系统的基本框架如图1所示。流程如下:首先通过视觉传感器如相机等采集图片作为视觉前端输入数据,再对图像进行预处理(裁剪、正则化等),通过视觉里程计模块算出四自由度(三维位置以及航向角)的位姿信息并绘制里程计地图,同时在视觉模板模块处理视觉信息,生成或激活位置细胞。接着对头朝向细胞、网格细胞以及位置细胞进行建模,并将里程计解算得到的位姿信息输入至导航细胞神经网络,在头朝向细胞神经网络中解码出当前航向角,在网格细胞神经网络中激活细胞并执行三维路径积分,然后更新神经网络中的细胞活性,最后通过网格细胞和头朝向细胞得到当前四自由度位姿,创建空间经历点并绘制三维认知地图。

1.2 视觉感知系统

1.2.1 视觉模块组织构架

图2展示了认知地图构建系统的视觉模块组织架构。首先利用相机等视觉传感器采集图片作为视觉模块的输入数据。视觉里程计能够将图片信息通过计算转化成相机的自运动信息,包括平移速度、高度速度和角速度。除此之外,视觉模板能够激活位置细胞,记忆视觉图片及其对应的自运动信息,当出现熟悉场景时进行回环校正。

图2 视觉模块组织架构

1.2.2 视觉里程计

认知地图构建系统通过视觉里程计模块,将解算得到的自运动信息和视觉图像信息输入至导航细胞神经网络,驱动头朝向细胞、网格细胞和位置细胞的路径积分过程。本文选取了扫描线强度剖面法、单目视觉里程计和双目视觉里程计等三类较为代表性的视觉里程计,对比分析了其运动精度以及不同里程计对类脑认知地图精度的影响。

(1)扫描线强度剖面法

现有认知地图构建方法如NeuroSLAM模型[6],采用扫描线强度剖面法提取自运动信息。它以相邻图片的剖面差乘上固定经验值作为无人机的真实速度,是一种简单高效的算法。但其不足之处有:1)此算法实际上与光流法(直接法)原理类似,在光照变化比较大的环境下鲁棒性较差;2)计算速度和角速度的公式都需要乘上固定的经验值,但是图像中包含的信息在复杂环境下并不一致,导致经验值实际不固定,使得计算的速度在动态环境下精度较差。因此,扫描线强度剖面法一般适用于路径简单、干扰较少的视觉场景,建图路径稍微复杂便可能难以保证认知地图的拓扑一致性。

(2)单目视觉里程计算法

单目视觉里程计采用单目相机作为传感器,成本低、环境适应性较强。本文试验部分采用单目视觉里程计算法,首先对三维地标初始化,再跟踪相邻两帧图片间的关键点,最终利用建立的二维到三维坐标对应关系进行姿态估计[7]。但单目视觉算法最大的问题是无法确定目标的绝对深度,存在无法自主确定运动轨迹尺度的情况,一般需要已知空间中某两点间距离,或者结合其他传感器[8]。因此,仅依赖单目视觉里程计一般较难进行长时间的定位与建图,时间越长,认知地图的漂移率会越高。

(3)双目视觉里程计算法

在视觉里程计领域,双目相机利用固定的内参矩阵,通过匹配获得场景深度,解决了单目里程计尺度模糊的问题,适合长时间、大范围稳定工作[9]。为提高系统的导航定位能力,优化视觉前端自运动信息提取算法,本文重点研究了一种基于特征匹配、选择与跟踪的双目视觉里程计算法,通过如图3所示的四边形闭环方法匹配特征点[10],利用基于随机抽样一致(Random Sample Consensus, RANSAC)的异常值排除方案移除独立移动对象上的特征点[11],并跟踪相邻帧之间的特征点关联[12]。

(a)匹配成功示意图

将前一时刻图像的特征点云三角化,基于式(1)重新投影到当前时刻平面图像上

(1)

1.2.3 视觉模板

视觉模板模块通过SAD算法计算图像的像素强度剖面,对比视觉信息,完成回环检测与校准。图4中,每个位置细胞都有视觉模板剖面强度图与其相匹配,如图中的PC1和PC2。将当前时刻新计算得到的剖面图与历史视觉模板进行比较,如果强度差小于依据经验设定的阈值,系统就会判定经历回环,将当前图片与之前的视觉模板相匹配,并激活第一次经历该场景的位置细胞,调用其存储的位置信息为输出以减少累计误差,例如图中的PC3;如果计算得到的强度差大于设定的阈值,系统就会判定在探索新场景,生成新的视觉模板并创建对应的新位置细胞,例如图中的PC4。

图4 视觉模板剖面强度匹配流程图

1.3 导航细胞三维模型

连续吸引子神经网络通过编码吸引子表示位姿信息,仅当吸引子严格沿流形连续移动时,外部输入才能驱动吸引子移动,更新信息编码,具有较强的鲁棒性[15],因此本文选择吸引子神经网络模型对生物导航细胞进行建模。

文本提出的类脑三维认知地图构建系统,在细胞建模部分采用F.Yu等提出的方法[6]:使用二维连续吸引子神经网络模型建模头朝向细胞,用于表示高度和航向角;三维连续吸引子神经网络模型建模网格细胞,用于表示三维位置。此外,系统还利用视觉模板匹配模拟的位置细胞,对头朝向细胞和网格细胞进行回环检测与校正,提高了导航定位的精度。

1.3.1 多层头朝向细胞建模

多层头朝向细胞神经网络如图5所示。它是由一组具有固定加权连接值的单元组成的神经网络,主要通过更改在0~1之间的数值更新神经细胞的活性。细胞活性更新的步骤如下:首先,根据双目视觉里程计计算得到的信息,将激励输入至头朝向细胞网络中,头朝向细胞的活性将通过吸引子动力学方程,按照局部兴奋、局部抑制和全局抑制步骤变化;接着,头朝向细胞神经网络将接收网格细胞神经网络路径积分得到的高度变化速度、水平变化速度和角度变化速度等信息,实现位姿信息的更新;最后,当出现熟悉的视觉场景时,头朝向细胞神经网络会调用位置细胞存储的之前的位姿信息,实现校准。

图5 多层头朝向细胞神经网络

1.3.2 网格细胞三维模型

与建立头朝向细胞模型方法类似,本文使用三维连续吸引子神经网络建模网格细胞,表示各个三维区域中位置和方向等度量信息。图6所示为三维网格细胞神经网络,三维环境中的每个区域均由网络中特定的吸引子神经元编码,再根据自运动信息进行路径积分,更新位姿信息。网格细胞活性更新的步骤与多层头朝向细胞类似,同样地,当出现熟悉的视觉场景时,网格细胞神经网络会调用位置细胞存储的历史位姿信息,实现回环校准。

图6 三维网格细胞神经网络

1.3.3 位置细胞建模

在构建认知地图的过程中,仅依赖头朝向细胞以及网格细胞进行定位比较容易造成误差累积,因此需要利用位置细胞重置地图的可塑性进行回环校正。为了简化模型计算,本文采用SAD算法创建视觉模板,匹配模拟的位置细胞。系统判定经历回环后,位置细胞被激活,通过连接权值矩阵将活性映射到关联的头朝向细胞与网格细胞中,进行回环校准,从而改善认知地图的精度。头朝向细胞和网格细胞的活性变化ΔUθ和ΔUx,y,z依照如下公式计算

(2)

(3)

其中,npc表示当前活跃的位置细胞数量;λ表示位置细胞常值校准强度。

1.4 认知地图建立及回环校正

1.4.1 认知地图建立

(4)

每个空间经历都存储了特定的三维空间状态,当空间状态更新且较历史空间状态信息有所改变时,系统会创建一个新的三维空间经历存储该空间状态,同时创建从前一时刻经历链接到新经历的新过渡矩阵,存储2个经历空间状态的改变信息。

1.4.2 回环校正

当系统经历熟悉场景时,空间状态信息会与历史空间状态信息一致,位置细胞被激活,调用其与头朝向细胞以及网格细胞的关联。为了减小累积误差,在回环事件发生之后,系统会在回环路径范围内,将当前经历关联的空间状态信息更换为第一次经历该熟悉场景创建的历史经历的空间状态信息,更新四自由度位姿信息。回环校正后的位姿变化δpi依照如下公式计算[6]

(5)

其中,ψ表示调整率,是根据新旧过渡矩阵间位姿变化设定的经验值;Nf为经历Ei转换到其他经历的数量;Nt为其他经历转换到经历Ei的数量。

2 验证试验与分析

2.1 试验设计

为分析本文提出的基于双目视觉的类脑三维认知地图构建方法的具体性能,采用Matlab2018a软件作为试验验证平台。

首先开展了基于双目视觉的认知地图构建试验。同时,本文会对前文提及的基于原NeuroSLAM扫描线强度剖面法、单目视觉里程计和双目视觉里程计的建图精度进行对比,分析不同视觉里程计算法对认知地图精度的影响。其中,扫描线强度剖面法仅适用于路径简单、干扰较少的静态模拟场景数据集[16],使用真实场景数据集时调参困难且结果较差;而单、双目视觉里程计利用相机拍摄的图像作为输入数据,需要使用相机校准后的内参矩阵作为计算位姿的前提数据,也不适用于模拟场景数据集。为了准确地显示出视觉系统的优化情况,本文在使用扫描线强度剖面法时选择了结果最优的模拟场景数据集。

对于真实场景数据集,本文使用KITTI数据集Odometry目录下的序列05作为视觉输入,包含2670张图片,图像分辨率为1226×370,数据集的三维轨迹以及不同路径段对应的典型场景如图7所示,蓝色序号表示在运动过程中只经历过一次的路径,绿色序号表示经历过两次的路径。

图7 KITTI序列05数据集真实轨迹以及典型场景

具体的试验思路如下:本文验证试验是以图片数据集为输入,最终输出视觉里程计地图和三维认知地图等,同时记录里程计地图和认知地图每一帧对应的位姿值,用于之后的精度分析与对比。

在定性分析系统精度方面,本文通过展示视觉里程计地图、三维认知地图分别与真实轨迹地图在相同二维或三维坐标系下的拓扑对比图,分析试验结果。为了更直观地显示拓扑一致性,本文还设定了恰当值以调整地图的比例。

在定量分析系统精度方面,除了使用传统的误差平均值分析精度以外,本文还使用了一种定量评估估计轨迹质量的原则性方法,即绝对轨迹误差(Absolute Trajectory Error,ATE)和相对误差(Relative Error,RE)。

ATE依照如下公式计算[17]

(6)

RE依照如下公式计算

(7)

其中,Δpi1为同一关键帧对应不同地图下三维坐标的差值;Δpi2为在设定相同帧数差时两关键帧对应三维坐标的差值,再与同一情况下真实轨迹的位姿差值相减得到的值;n表示关键帧个数。本文在整体路径上随机选取m组关键位置,每组包含里程计地图、认知地图和真实轨迹地图中相邻n个关键帧,最终计算m组均方根的平均值。设定m=20,n=20,为提高可信度,共进行200次评估。

2.2 试验结果精度分析

(1)定性分析结果

图8展示了双目视觉里程计地图、认知地图以及真实轨迹地图的三维以及二维拓扑对比情况。

图8 三种三维以及二维地图拓扑对比

由图8可知,认知地图和视觉里程计地图与真实轨迹地图按时序排列的一维拓扑基本一致。在整个运行过程中,视觉里程计整体没有较大偏移,但运行过程后半段,由于视觉里程计的误差累积,里程计地图和基于里程计估计数据的认知地图都出现了漂移。不过当相机经历熟悉场景时,由于认知地图的回环检测和校正作用,认知地图会调用第一次经过该场景时存储的数据,从而减少漂移误差。

(2)定量分析结果

图9展示了双目视觉里程计和认知地图的定量分析结果:图9(a)为每帧图片对应的平均误差绝对值;图9(b)为各方向对应的误差平均值百分比;图9(c)为ATE;图9(d)为RE。从这4幅图中可以看出,定量分析误差的结果与2.1节定性分析的结果基本相同。由于认知地图的位姿也是基于里程计地图的输出,在大多数情况下,两地图误差的变化趋势也相近。特别地,图9(a)中认知地图的误差曲线较里程计地图存在两处明显尖峰。经仔细比对发现,误差尖峰出现在数据集75帧和2445帧附近,为图7路径中的1号重复路段。在75帧左右,系统较少生成新模板,持续匹配旧模板,沿用其位姿信息导致计算时有几帧偏差较大,造成第一次误差尖峰;在2445帧附近,由于再次经历75帧附近的路段,系统仍匹配旧模板,造成第二次误差尖峰。因此,图9(a)中两次尖峰误差是模板匹配定位误差造成的,且由于匹配相同的模板,这两次尖峰的误差值相近。整体上,由于回环校正,认知地图的误差较小,而里程计地图由于误差累积,漂移会随运动距离增加而增大。

(a)每帧图片对应的平均误差绝对值

2.3 精度对比

前文提及为了更直观地显示拓扑一致性,设定了恰当值调整地图的比例,在此情况下,利用两种方法计算得到位姿结果的误差平均值比较精度是不规范的。为了准确验证,本文将使用各方向误差平均值/各方向最大行进距离的方法对比原NeuroSLAM扫描线强度剖面法、单目视觉里程计和本文介绍的双目视觉里程计算法的试验精度,各方向误差百分比具体情况如表1所示。

表1 各方向误差百分比

从表1中可以看出,基于双目视觉算法构建的里程计地图和认知地图的误差百分比基本都是最小的,且在x和y方向上优化显著。在z方向上精度较差的原因主要是模拟数据集在z方向上变化过于简单,无人机仅在两处存在高度变化,而KITTI数据集在三维方向一直持续变化,路径比较复杂。不过从整体来看,本文提出的基于双目视觉的无人机类脑三维认知地图构建方法精度较优,视觉里程计地图的三维位置误差为2.14%,认知地图的三维位置误差为1.56%。而另一种单目视觉里程计算法,由于运动轨迹的尺度模糊,加上采用真实场景数据集进行验证,精度最差。

3 结论

针对现有类脑认知地图构建精度不高的问题,本文开展了基于双目视觉里程计的类脑三维认知地图精度优化方法研究,提出了一种基于双目视觉的类脑三维认知地图构建方法,进一步研究了不同视觉里程计精度对类脑建图精度的影响,试验结果表明:

1)本文所提基于双目视觉的类脑三维认知地图构建方法,有效提高了认知地图构建精度,为进一步研究基于类脑认知地图的导航定位方法提供了较好参考;

2)里程计精度是影响类脑认知地图精度的重要因素,优化里程计,认知地图的精度也能得到提高;

3)基于模板匹配的回环检测与校正,可以有效提高类脑认知地图的构建精度,但直接匹配可能会引起误差尖峰,需设置合适的匹配阈值和平滑度。

猜你喜欢
类脑位姿精度
基于不同快速星历的GAMIT解算精度分析
数字化无模铸造五轴精密成形机精度检验项目分析与研究
神经元规模最大类脑计算机问世
基于PLC的六自由度焊接机器人手臂设计与应用
我科学家首次提出“类脑计算完备性”
基于位置依赖的密集融合的6D位姿估计方法
曲柄摇杆机构的动力学仿真
近似边界精度信息熵的属性约简
中国成立“类脑国家实验室”“借鉴人脑”攻关人工智能
浅谈ProENGINEER精度设置及应用