一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向二维栅格地图的SLAM建图结果评价方法与流程

2021-10-24 07:26:00 来源:中国专利 TAG:栅格 面向 评价 地图 方法

一种面向二维栅格地图的slam建图结果评价方法
技术领域
1.本发明涉及人工智能技术领域,特别是涉及一种面向二维栅格地图的slam建图结果评价方法。


背景技术:

2.对于agv(automated guided vehicle,简称agv)等移动机器人在未知环境中实现智能化自主导航,首先需要使用自身搭载的传感器数据距离、图像等环境信息,对自身位姿进行估计,同时创建环境地图,对自身位姿和周围环境的感知是移动机器人定位导航系统必备的能力。除此之外,为完成后续任务还要能实现根据任务目标基于生成的地图进行路径规划自动搜索到达目的地的最佳路线。由此,生成准确的slam建图结果是移动机器人对环境正确认知以及后续工作顺利进行至关重要的一步。
3.slam(simultaneous localization and mapping),即时定位与地图构建,或并发建图与定位,slam技术近年来一直是移动机器人领域重要的研究课题,在室内场景slam方面,相关研究者提出了多种可用于室内的slam算法,常用的室内激光slam的经典算法有gmapping,cartographer等,视觉slam算法有orb

slam,svo

slam等。然而在具体使用过程中,对于同一建图环境,无论是考虑一种slam算法中的参数选取是否合适还是评判不同种算法得到建图结果的优劣仅仅依靠直观的感受和观察是不够的,往往需要更精确的方法对建图结果评价。
4.机器人的地图表示方法有多种,如拓扑地图、特征地图、栅格地图等,其中对于移动机器人平面运动,二维占据栅格地图(栅格地图)应用广泛,方便用于路径规划、实时避障等机器人的导航规划中。而目前尚且缺少一套较为完整的面向二维栅格地图的slam建图结果评价方法,能针对建图结果中的墙壁是否弯曲,有无重叠及位置偏移等要素,综合、全面地建立量化评价指标,进而对slam建图效果进行全面、准确的衡量。


技术实现要素:

5.本发明的目的是提供一种面向二维栅格地图的slam建图结果评价方法。
6.为达到上述目的,本发明采用的技术方案是:
7.一种面向二维栅格地图的slam建图结果评价方法,包括:
8.s1、对于同一环境运行不同的slam建图算法或对于一种建图算法选用不同参数可得到不同的建图结果,将其统一成二维栅格地图的格式,
9.s2、根据建图真实环境绘制实际地图,作为评价建图结果的真值和计算参考,
10.s3、将实际地图与生成地图进行图像配准,实现二者的主要特征部分的对齐,
11.s4、计算评价指标,其包括:
12.栅格占用比差值:实际地图与生成地图占用空间像素比例的差值;
13.轮廓周长差值:实际地图与生成地图轮廓长度总和的差值;
14.最近邻平均距离:实际地图中每个占用栅格到生成地图中最近占用栅格的平均距
离;
15.均方误差:实际地图与生成地图对应像素值差值的均方差;
16.角均方误差:实际地图与生成地图的角的位置的偏差,
17.s5、根据评价指标的计算对slam建图结果计算偏差评分。
18.优选地,对建图结果进行预处理,包括:
19.1)、统一自由区域、未知区域的像素值,并与占用区域的像素值实现区分,
20.2)、对非封闭的建图结果进行封闭处理。
21.优选地,绘制实际地图时,
22.1)、实际地图与建图环境等比例,
23.2)、实际地图中占用区域、自由区域以及未知区域的像素值与建图结果中的占用区域、自由区域以及未知区域的像素值保持一致。
24.优选地,图像配准包括初始配准、提高精度配准,其中:
25.初始配准包括:将生成地图通过旋转、缩放、平移等操作将其与实际地图进行图像配准,
26.提高精度配准包括:缩短imregconfig函数的返回参数优化器的步长、或者改变最大迭代次数、或者调整初始配准。
27.进一步优选地,保存配准后的结果,得到生成地图变换后的结果图。
28.进一步优选地,栅格占用比差值计算包括:
29.1)、提取占用的单元,将占用的单元与自由区域区分开,
30.2)、根据结果图所有单元像素的平均值确定阈值,像素值低于此阈值的单元为占用栅格,所有其他单元为自由栅格,占用栅格数量与栅格总数之比为栅格占用比,取实际地图与结果图的栅格占用比差的绝对值。
31.墙壁的精确度是地图最明显的特征之一,直接反映了地图的质量,若同一位置在地图上发生重叠,地图上表示墙壁的像素点会减少,若建图结果的墙壁相对真实位置发生了轻微的旋转,或者同一堵墙出现两次,则对应表示墙壁的像素点会增多,因此墙壁的精确度与建图结果的好坏的具有很强的相关度。
32.要确定墙壁的精确度,必须计算墙壁(占用区域)对应像素的比例,对于二维栅格地图中的栅格占用比在已构建的地图接近地面实际情况(即在估计的地图与地面的实际情况具有相似的结构的情况下)该比例与实际图差异越大,墙壁越不准确,所得到的地图质量越差,然而若生成地图是由于数据丢失创建的并不完整的地图时,这种情况下,生成地图的栅格占用比会很小,因此栅格占用比的评价指标不建议独立使用,只能用作综合评价体系中的评价指标之一。
33.进一步优选地,轮廓周长差值计算包括:
34.1)、对结果图的图像进行二值化处理,
35.2)、提取轮廓并求取周长,取实际地图与结果图周长差的绝对值。
36.地图中出现重叠的墙或伪影的情况下,会表现为墙的长度总和比实际墙长度更长或者更短,由此,计算所有封闭区域的周长,周长计算结果与实际地图差异越大,对墙壁的估计越不准确,所得到的地图质量越差。
37.进一步优选地,最近邻平均距离计算包括:
38.1)、对结果图的图像进行二值化处理,二值化地图仅包含场景的边界和障碍,
39.2)、确定从实际地图的每个占用的栅格映射到生成地图变换后的结果图中最近栅格的距离,计算k个最近的相邻单元格,将获得的所有距离的总和除以地面真值图中所占用的栅格数,计算公式如下所示:
[0040][0041]
其中n为实际地图中的占用栅格数量。
[0042]
进一步优选地,均方误差的计算包括:计算公式如下所示:
[0043][0044]
其中,x代表生成地图变换后的结果图,y代表实际地图,x(i,j)和y(i,j)分别为相应图像中第i行j列的像素值,m为行数,n为列数。
[0045]
均方误差用于计算两张图片之间的相似性,评判生成地图的质量亦可理解为比较生成地图与实际地图之间的相似性,故选用均方误差作为建图结果评价体系中的综合评价指标之一。
[0046]
进一步优选地,角均方误差的计算包括:计算公式如下所示:
[0047][0048]
其中f
i
为生成地图变换后的结果图中角的位置,f
i

为对应实际地图中角的位置,n为角的数量,以此来评价不同生成地图中角点位置的准确性。
[0049]
由于上述技术方案运用,本发明与现有技术相比具有下列优点:
[0050]
1、通过5项评价指标综合评价了slam生成地图的质量,最终可计算得到建图结果的差值评分,进而可对每个建图结果进行量化直观的评价;
[0051]
2、通过与环境真实地图的对比计算,可精确的计算评价体系的各项指标并判断生成地图的质量优劣,减少甚至避免由于主观判断对地图评价的影响;
[0052]
3、可为建图算法的选择以及算法中参数的选用提供参考依据,从而保证建图质量,为后续的路径规划与移动机器人在环境中的运动提供可靠保障。
附图说明
[0053]
附图1为封闭建图环境实际地图的绘制图;
[0054]
附图2为本实施例中对图1所示的封闭环境使用cartographer算法得到的建图结果;
[0055]
附图3为本实施例中对于一非封闭环境使用karto算法得到的建图结果;
[0056]
附图4为图2经过图像预处理的结果图;
[0057]
附图5为图3经过图像预处理的结果图;
[0058]
附图6为图1和图4的经过图像配准处理得到的结果;
[0059]
附图7为图4在图像配准过程中经过旋转、平移、缩放等操作的变换结果图;
[0060]
附图8为本实施例步骤对应的流程图。
具体实施方式
[0061]
下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0062]
一种面向二维栅格地图的slam建图结果评价方法,包括:
[0063]
s1、对于同一环境运行不同的slam建图算法或对于一种建图算法选用不同参数可得到不同的建图结果,将其统一成二维栅格地图的格式。
[0064]
对于建图结果可分为三部分,如图2和图3中黑色部分为占用区域,白色部分为自由区域,灰色部分为未知区域。为了方便后续各评价指标的计算,先对建图结果进行预处理,包括首先将未知区域转换为白色,转换操作是将建图结果中所有像素值对应为灰色的像素点的像素值(不同建图算法对应的建图结果中对应的像素值不同)置为白色对应的像素值255,其次,根据建图的环境是否封闭将其对应的建图结果分开处理,对于封闭区域的建图结果如图2所示无需进行额外的预处理步骤,对应得到如图4所示的预处理结果图;对于非封闭空间的建图结果如图3所示,还需进行的预处理操作是使其封闭:利用图像编辑软件将原始建图结果中由于非封闭产生的放射状区域擦除,再手动将其中非封闭的缺口两端连接起来,即以图3为例的建图结果需通过预处理处理成图5所示的结果后再参与后续的操作和计算。
[0065]
s2、根据建图真实环境绘制实际地图,作为评价建图结果的真值和计算参考。
[0066]
将实际地图等比例手动绘制出来,其中将占用区域的轮廓用黑色实线表示,黑色实线的粗细为一个像素点,自由区域不做处理即保留为白色,且使图片规格与生成地图规格相同,如图1所示。
[0067]
s3、将实际地图与生成地图进行图像配准,实现二者的主要特征部分的对齐。
[0068]
图像配准部分的操作借助matlab处理工具箱(image processing toolbox)里的基于强度配准图像函数。在本实施例中,图像配准步骤包括初始配准和后续提高配准精度两个环节,
[0069]
首先,进行初始配准即粗配准,通过粗配准可使图像大致对齐,使其差别不要太过明显,以方便下一步的精细配准环节。利用imregconfig函数得到配置优化器optimizer和度量准则metric,通过选择imregconfig函数的参数指定需对齐的两图像之间的关系,有两种选择

monomodal’和

multimodal’,分别指两幅图像是单一模态还是多模态,可根据需要进行选择。再利用imregister函数根据调用imregconfig函数得到的返回值对两幅输入的目标图像做需要的变换对二者对齐。可做的变换包括仿射变换

affine’、坐标平移变换

translation’、平移,旋转和尺度变换

similarity’以及平移和旋转变换

rigid’。由此可得到两幅图像的粗配准结果。
[0070]
由于以上初始配准的结果一般不能作为后续计算的依据,接下来有必要进一步提高配准精度。在此环节中可选的操作有:可以缩短imregconfig函数的返回参数优化器optimizer的步长optimizer.initialradius以达到更加精细的变换;改变最大迭代次数optimizer.maximumiterations;或者尝试改变初始配准的变换方法,选择最合适的变换。通过以上一系列的操作,可进一步提高图像配准精度。
[0071]
将建图结果经过预处理的生成地图与地面实际图作为输入,经过以上步骤实现图
像配准,并将图像配准结果以及生成地图在配准过程中经过变换的结果保存下来。将图2对应的预处理图(图4)与环境实际地图(图1)进行图像配准操作,可得到图6对应的配准结果,从中可以看出实现了两图像的对齐,可得到生成地图的变换结果图(图7)。
[0072]
s4、根据以下提出的各个评价指标的含义逐一进行计算:
[0073]
1、栅格占用比差值:
[0074]
栅格占用比旨为计算出与墙壁即占用区域对应的像素比例。对于包含模糊墙壁的地图,首先需要提取占用的单元,进而将墙壁与自由区域区分开。在本实施例中,未避免在自由区域中出现伪像,不能直接将栅格地图中占用概率大于零(对应生成地图中像素值小于255的任何单元视为墙壁),进而考虑确定用于区分空闲单元和占用单元的阈值,该阈值不应进行硬编码,并且应该为每个地图自定义阈值,即它应取决于单元的最高概率,壁模糊的数量等。
[0075]
在本实施例中,使用建图环境的实际地图(图1)的生成地图的预处理结果(图4)进行计算栅格占用比的指标,将其中所有单元像素的平均值都用于确定阈值。所有像素值低于此阈值的单元都被视为占用栅格,所有其他单元都被归类为被自由栅格。由此可进行后续计算,占用栅格数量与栅格总数之比为栅格占用比,再将根据建图环境的实际地图与生成地图的预处理结果计算得到的栅格占用比作差,取差的绝对值即可得到栅格占用比差值。
[0076]
2、轮廓周长差值:
[0077]
使用建图环境的实际地图(图1)的生成地图的预处理结果(图4)进行计算,且只关注图中外轮廓的周长。
[0078]
计算轮廓周长时,借助opencv中的相关函数进行处理,首先使用cv2.threshold将图像进行二值化处理,进而使用cv2.findcontours进行提取轮廓的操作,再使用cv2.arclength求取外轮廓的周长。对建图环境的实际地图和生成地图对应的图像预处理结果都进行同样的处理,将计算得到的轮廓周长作差取绝对值即可得到轮廓周长差值。
[0079]
3、最近邻平均距离(adnn):
[0080]
为了评估获得的地图的质量,本方法还对生成地图和地面实际情况之间的误差进行分析。最近邻平均距离使用了基于k最近邻概念的性能指标。为此,使用基于强度的图像配准工具将地面实际地图与经过图像预处理的生成地图作为输入得到了图6所示的图像配准结果以及图7所示的生成地图的变换结果图。
[0081]
计算最近邻平均距离的过程包括:首先,采用与在计算栅格占用比中类似的方法将结果图进行二值化,二值化地图仅包含场景的边界和障碍,然后,使用knnsearch确定从地面实际地图的每个占用的栅格映射到生成地图变换后的结果图中最近栅格的距离,该距离会计算k个最近的相邻单元格(在本实施例的最近邻平均距离的计算中,k=1),最后,将获得的所有距离的总和除以地面实际地图中所占用的栅格数。
[0082]
最近邻平均距离计算了从地面实际地图(图1)中每个点映射到slam生地成图的变换结果图(图7)上的最近邻点的距离之和的最小误差。计算公式如下所示:
[0083]
[0084]
其中n为实际地图中的占用栅格数量。
[0085]
4、均方误差(mse):
[0086]
均方误差简单的计算了实际地图(图1)与生成地图变换后的结果图(图7)的图片相似性。计算公式如下所示:
[0087][0088]
其中,x代表生成地图变换后的结果图,y代表实际地图,x(i,j)和y(i,j)分别为相应图像中第i行j列的像素值,m为行数,n为列数。
[0089]
5、角均方误差(cmse):
[0090]
角均方误差即计算面对生成的实际地图(图1)的角位置到生成地图变换后的结果图(图7)的欧几里德距离。计算公式如下所示:
[0091][0092]
其中f
i
为生成地图变换后的结果图中角的位置,f
i
'为对应实际地图中角的位置,n为角的数量。
[0093]
s5、对于每个slam建图得到的二维栅格地图进行以上5个评价指标的计算后,再将这五个具体数值分别赋予一定的权重后相加,最终求得的和记作slam建图结果的综合偏差评分。由以上定义可知,该偏差评分越低,则说明建图结果与实际地图越相近,即所得生成地图的质量越好,反之,则生成地图的质量越差。
[0094]
上述实施例只为说明本发明的技术构思及特点,其目的在于让熟悉此项技术的人士能够了解本发明的内容并据以实施,并不能以此限制本发明的保护范围。凡根据本发明精神实质所作的等效变化或修饰,都应涵盖在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献

  • 日榜
  • 周榜
  • 月榜