粗精结合的室内机器人视觉定位方法
2021-03-23唐国栋雷立宏
唐国栋,方 明,2+,雷立宏
(1.长春理工大学 计算机科学技术学院,吉林 长春 130022;2.长春理工大学 人工智能学院,吉林 长春 130022)
0 引 言
由于室内环境一般较为复杂,存在建筑物遮挡,行人闯入等情况。因此,移动机器人室内定位技术已逐渐受到关注。
Google公司曾将GPS与Wi-Fi技术相结合[1],对具体位置进行标记从而实现室内定位;北京航天航空大学的王田苗教授将多传感器数据融合提出了一种基于无线定位的单目视觉定位相结合的传感器融合室内定位方法[2];尽管这些方法在室内定位中也有明显的成效,准确度也较好,但由于相关的仪器设备成本较高、受周边环境影响因素较大、部署繁琐等问题,使在实际应用中会存在诸多困难。因此,基于计算机视觉的定位方法由于其设备成本较低,部署容易,被广泛重视。
目前,基于机器视觉的室内定位方法主要通过视觉传感器不断地获得更多当前场景的特征,矫正自身的位置与姿态,并利用图像中的特征信息来进行场景环境的定位与建模[3]。但由于视觉传感器成像过程容易受到光照变化、行人闯入[4]等问题的影响,导致该方法一般精准度不高,这也是现如今视觉室内定位研究的主要难题。为实现低成本高精度的室内定位算法,本文将指纹定位思想引用到视觉定位中。用指纹定位技术来缩小定位范围,再将定位场景转移到天花板中进行精确定位,从而避免了周围环境变化对定位结果的影响。
1 方 法
如图1所示,本文方法主要是通过实验室自制的轮式机器人为搭载平台。其搭载4个水平方向且视场角均为80°的单目相机及1个朝向正上方且视场角为120°的单目广角相机。系统的总体工作流程如图2所示。在预处理工作中获取图像信息并生成指纹信息库。定位工作中,采用由粗匹配到精确定位相结合的方法。在粗匹配中通过测试图信息与指纹库中的信息进行匹配来缩小定位范围,再到精确定位中计算精确的位移及偏转角度,达到最终定位目的。
图1 机器人视野
图2 定位流程
1.1 预处理
首先,通过单目广角相机,对室内实验天花板进行图像采集,同时使用4个单目相机对室内四周环境进行图像信息采集。之后,提取图像中的纹理特征,找到当前图像的中心点及机器人当前位置记录下来形成信息库;在实验室中进行不同位置的环境信息采集,用于后期的粗匹配定位。
(1)指纹信息库生成
对采集到的室内环境图像(大小为:640×480)进行灰度化处理;利用分块的方法将图像分成8×8平均大小的子块,通过DCT变换[5,7]和反变换[5]对各子块进行处理,保留其左上角4×4的系数,并利用相关系数组合成新的矩阵,此时,图像大小缩小为320×240;按固定顺序将缩小后的4幅环境图拼接成1280×240新矩阵D,通过白化及奇异值分解的方法[5,6]提取出图像中的特征向量P,起到降低冗余度与降维的目的,最后,令G=PD,得到一个1280×1的全局特征向量G(具体公式推导请参见文献[5-7]);显然,每一个位置的4幅图都可以用一个全局特征描述向量作为指纹信息来表示,多个地点的图像指纹信息形成指纹信息库。
(2)天花板信息处理
在室内场景中,由于天花板的结构较为简单,不会存在物体闯入的情况且不易受干扰,但其特征信息较少,所以需要对其进行图像信息处理,通过边缘检测算法对天花板图像进行边缘提取,再通过改进的自适应中值滤波对图像进行优化,从而将测试图中天花板中的纹理信息提取出来,最后记录图像中心点并标记。
1.2 定 位
采用粗匹配定位与精确定位相结合的方法,在粗匹配中缩小定位范围,再通过精确定位在小范围内计算位移与偏转角,完成定位。
(1)粗匹配定位
同生成信息库的方法类似,对测试图中的环境信息图像生成指纹信息,并与指纹库中的信息进行对比找到匹配率最高的一组信息作为匹配结果,完成粗匹配定位。
目前特征匹配算法主要面临着匹配精准度高的方法运行时间较长,运行速度快的匹配算法其稳定性差的难题,一般导致这种情况的问题在于邻域一致性约束的利用,由于稀疏特征的邻域在定义上十分复杂,一致性特征匹配的计算比较繁琐。我们选用GMS(grid-based motion statistics for fast)[8]方法,能很好地解决这个问题。其核心思想是凭借运动的平滑性使匹配的特征点邻域有较多匹配的点,通过计算邻域的匹配点个数来判断一个匹配正确与否。
其实现过程如下:①将待匹配图像分成20×20网格块,对每一块中的特征匹配个数进行统计,由于许多特征位于网格边缘,为解决这种情况,采用多次计算来减少误差,分别在 (x,y) 点及x和y方向上各移动半个单元宽度的情况下进行计算;②以3×3的网格为模型进行阈值计算;③正确与错误匹配的鉴别,公式如下
(1)
图3为GMS方法的网格模拟,其中I1,I2,…,I9为I邻域内各自匹配个数;J1,J2,…,J9为J邻域内各自匹配个数。
图3 网格
当要判断 {i,j} 是否为正确匹配时,将i邻域内的各网格内的匹配数中加入其自身权重wi,从而达到自适应性,如下式
(2)
式中:Mi为i邻域网格中匹配数的中值,gik表示为邻域中各网格位置的匹配数(k=1,2,…,9),Ti公式如下
(3)
式中:N为3×3网格的格数9。
将式(2)与式(3)整合后公式为
(4)
再将ni代入回式(1)进行鉴别运算。
如图4所示,我们通过3种优化算法对ORB[9]特征匹配结果进行优化,由图4(a)可以看出ORB特征匹配算法匹配对的线条相互交错,存在较多的错误匹配;传统的RANSAC[10]优化方法虽排除了一些错误匹配,但仍然有错误的匹配没有被优化掉,图4(b)中依旧可以看到交错的匹配对;图4(c)中GMS优化方法很好的将所有的错误匹配排除掉,匹配对之间较为顺滑,方向较为一致,但匹配对的数量较少,许多正确的匹配已被误处理掉;而图4(d)中的匹配对不仅数量较多,而且较为顺滑,可以看出本文提出的改进的GMS优化方法不但可以抑制错误匹配,而且尽可能保留更多的正确匹配。
图4 匹配优化对比
(2)精确定位
通过对测试图像中的天花板图像进行处理,得到其纹理特征与图像中心点坐标并进行标记,再运用σ=1.5的高斯函数对梯度做平滑处理,减小噪点影响,通过Harris关键点检测算法来提取测试图与匹配结果图中的关键点,利用ANMS[11]方法对得到的关键点进行择优,再通过改进的GMS对匹配后的结果进行优化,从而达到最佳的匹配结果,将最佳匹配结果作为两图之间关系模型,通过透视变换将匹配得到的原数据集中的天花板信息与测试图像中的天花板信息进行融合、拼接[12],从而得到一张包含两张图像信息的融合图。因为透视变换[13]是利用透视中心、像点、目标点3点共线的原理,经过透视变换后原图中的直线关系在变换后的图中依旧可以维持(透视变换原理请参照文献[13])。再对融合图像进行图像处理找到融合图像中原两幅图像的相应点,计算融合图像中的原两幅图像中心点位置,通过式(5)得到两点之间的距离,即为其位移
(5)
最后通过变换矩阵来计算叠加后测试图图像的4个角点坐标值,对任意相邻两角点求Δx,Δy,通过式(6)计算偏转角
(6)
通过检测融合后图像中原两幅图像中的图像中心位置差来计算位移差,两张图像融合的透视变换矩阵来计算机器人当前的偏转角度,从而实现精确定位,其整体流程如图5所示。
图5 精确定位流程
2 实 验
本实验中的室内环境选用的是占地面面积为60 m2、高度为2.8 m的实验室场地,通过在室内12个不同的位置进行相关的信息采集,分别获取当前位置的四周环境4张图像与天花板1张图像作为当前位置的相关信息,然后在实验室任意一个位置采集相关数据作为测试用例,并通过场景中闯入行人的方式,验证算法对场景存在局部变化的鲁棒性。
2.1 室内定位
将测试图像生成指纹信息与指纹库中的信息进行比较,得到匹配度最高的一组数据完成粗匹配,再对天花板进行处理计算位移与偏转角,如图6所示。
图6 本文定位方法结果
在室内12个不同位置采集图像集并生成指纹信息,将测试信息图6(a)与指纹库信息进行粗匹配,得到的匹配结果如图6(b)所示,相应的指纹匹配结果如图6(c)所示。
将测试图中的天花板图与匹配结果图中的天花板图相融合,如图6(d)所示。其中虚线为融合后天花板中原测试图与匹配结果图的图像边界,圆点为两幅图像的中心点,通过计算两点间距离得到位移为distance≈204.6 cm。
为进一步验证本实验方法在室内定位中的性能,我们使用广泛应用于特征提取与匹配的pHash[14]、ORB与指纹方法进行对比实验分析。其中ORB是局部特征提取方法,pHash是全局特征提取方法。对采集间隔为10 cm的连续图像进行测试,来测试定位的准确度,图7(a)、图7(b)分别为测试图像与匹配结果图像。通过测量发现测试图与匹配图结果之间的实际距离仍然存在10 cm的误差,我们将在下一步的精确定位中进一步抑制该误差。
图7 匹配结果对比
图8为上述3种方法的粗匹配精度对比。其中,横轴表示不同位置采集到的图像集,ORB的纵轴表示匹配点个数,pHash与指纹方法的纵轴都表示匹配度。
图8 粗匹配结果对比
通过精确定位计算,测得融合后天花板中原测试图与匹配结果图的图像中心点,两点间的横坐标距离差为dx=9.0 cm,两点间纵坐标距离差为dy=0.5 cm,两点间距离为distance≈9.0 cm。
对以上多组实验数据进行对比,结果见表1。表中A表示测试图在指纹库中得到最优匹配图像的序号,B表示匹配成功的点对数量。显然两图位置越接近该数量越大。C代表测试图像与指纹库中最优匹配图像的匹配相关系数,其值越大,表示两图之间距离越小。D代表距离差,单位为厘米。H表示为应该匹配到的正确序号。ORB、pHash、指纹的误差为单位向量,精确度到分米,而本文的误差可以精确到厘米。
由表1中的数据可以看出本文的方法更精确,误差值在4 cm之内;由于ORB算法对变化较少的连续图像无法较好的区分,容易产生误判情况[9],因此当图像采集的越密集,其间相似度越高时,ORB匹配误差也就越大;pHash算法是对整张图像进行匹配,当室内环境变化较小时,其区分效果较差,从而使其准确率下降;指纹匹配由图像采集密集度来决定准确率,当图像越密集时,其精度越高,从而也说明其内部数据较多,前期工作量大;而本文的方法受图像的密集度影响较小,且有着较高的精准度。
表1 匹配结果对比
为验证本文的计算效率,对以上多组实验数据进行粗匹配计算效率对比,在Matlab2016编程环境下运行,并得出不同方法的匹配准确率(正确的匹配次数与实验的总结果次数之比)与每组数据的平均匹配时间,见表2。
表2 计算效率对比
由表2可以看出ORB方法耗时最少,由于ORB方法采用了实现简单的FAST特征点检测法,但其准确率较低。pHash与本文的方法都可以通过一个矩阵来描述一幅图像的特征,匹配时只需计算矩阵的相关性,从而节省大量时间,但本文方法的准确率上高于其它方法。
上述室内实验是在开灯状态下进行的测试。下面,我们再对关灯下的情况进行对比实验,验证光照变化对本实验的影响,如图9所示。
图9 光照对比结果
通过实验测得融合后天花板中原测试图与匹配结果图的图像中心点的坐标,两点间的横坐标距离差为dx=10.6 cm,两点间纵坐标距离差为dy=1.4 cm,其距离为distance≈11.5 cm。 由计算结果可以看出光照对本实验影响较小,在不开灯的情况下,本方法依旧可以完成精确定位。
为验证本文方法的适应性,在90 m2的室内环境中进行定位实验,将测试图如图10(a)输入定位系统中得到的粗匹配结果如图10(b)所示,两图之间的位置距离相差20 cm,经过精确定位后得到的位移为distance≈19.4 cm。
由于室内存在人流穿梭、物体突然闯入等情况,所以对此情况进行行人闯入对比实验,验证本文方法的适应性,实验结果如图11所示。
图10 匹配结果对比
图11 行人闯入情况的场景4
通过本文的精确定位,计算得到的位移值为distance≈18.4 cm。 由图12可以看出3种方法的粗匹配结果与正确的匹配位置4都有所偏差,其中每个图像集序列之间间隔为10 cm。ORB、pHash、指纹的方法在遇到测试图与其自身数据集图像的差异较大时其匹配效果较差,而本文的方法经过精确定位后可以计算出粗定位的误差值,较为准确完成最终定位,从而改善周围环境变化对定位准确度的影响。
图12 粗匹配结果对比
为验证行人闯入场景中面积大小对本实验粗匹配精度影响,在上述行人闯入实验中场景4的环境下,以3号相机为例,在其视野中增加多种面积的行人闯入情况。如图13 所示,其中图13(a)~图13(h)表示不同行人闯入面积大小的效果,通过粗匹配定位计算得到相应的匹配结果值,并将在场景4得到的不同匹配度进行汇总,结果如图14所示,其中图像序列集为上述8种不同面积大小的行人闯入情况。由粗匹配结果可以看出当遮挡面积较大时,粗匹配精度较差。
2.2 偏转角
对测试图与匹配结果图进行特征提取并将两幅图中的相同位置进行叠加,通过相应的变换矩阵计算偏转角。
图13 场景中存在行人闯入情况
图14 粗匹配结果
手动将机器人分别顺时针旋转30°、45°、60°来计算偏转角度,计算结果如图15所示。再将本文的方法与目前常用的改进相位相关[15,16]计算偏转角的方法进行对比,对比结果见表3。
由表3可以看出基于相位相关的方法计算偏转角度误差较大,并且随着偏转角度逐渐变大,误差变的更大;而本文基于特征匹配及透视变换的方法可以较好的将误差值控制在2.4°之内,且误差不会随着偏转角度越大而明显增长。
3 结束语
针对室内真实场景进行定位操作,本文提出了一种由粗匹配到精确定位的室内机器人视觉定位方法,较好地解
图15 系统测得偏转角为30.4°、46.1°、59.2°
表3 视觉定位偏转角度/°
决了在室内定位中由于行人闯入、亮度变化等情况发生时定位精确度变差的问题。该方法是建立在改进的GMS算法的基础上而实现的,通过指纹的方法对室内位置进行粗匹配,再通过对相应天花板中的信息进行自适应GMS的匹配、叠加、旋转等操作将粗匹配结果进一步求精,从而达到精确定位的目标。分析实验结果可以得到,本文提出的定位方法,在高度为2.8 m的室内场景中定位误差在4 cm之内,偏转角度误差在2.4°之内,达到了较高的室内精度标准。