一种视觉导航用路标及快速识别方法研究

霍亮+张小跃+张春熹
摘 要: 为解决视觉导航数据量大,计算周期长,与其他导航方式进行组合导航时存在信息滞后的问题,借鉴矩阵式二维码设计思想设计了一种可用于视觉导航快速识别的路标,并基于此路标特征提出一套快速识别方法。进行动态识别实验验证该快速识别方法,实验结果表明,所设计路标及提出的快速识别方法可以实现快速识别,满足视觉导航实时性要求,在采集图像畸变严重或路标只是部分进入视场等导致无法解码的情况下,系统依然可以输出部分导航信息。
关键词: 视觉导航; 二维码; 路标设计; 图像处理
中图分类号: TN911.73?34 文献标识码: A 文章编号: 1004?373X(2017)11?0132?05
Study on a landmark for vision navigation and its fast recognition method
HUO Liang, ZHANG Xiaoyue, ZHANG Chunxi
(School of Instrumentation Science and Opto?electronics Engineering, Beihang University, Beijing 100191, China)
Abstract: To solve the problems of large data size and long computation period of vision navigation, and information postponement when the combined navigation is integrated with other navigation modes, a landmark for vision navigation fast recognition was designed according to the design thought of matrix two?dimensional code. On the basis of the landmark characteristic, a landmark quick recognition method is proposed. The experiment of dynamic identification is carried out to verify the validity of the fast recognition method. The experimental results indicate that the landmark and fast recognition method can realize the recognition quickly, satisy the real?time requirement of vision navigation, and the system can also output the part navigation information in the case of decoding failure because of serious distortion of the collected image and part landmark entering into the field of view.
Keywords: vision navigation; two?dimensional code; landmark design; image processing
0 引 言
相比于误差随时间累积的惯性导航和高成本、信号易受遮挡的激光导航等,视觉图像包含了完整的环境信息,更符合人类的认知习惯,且具有灵活性强、成本低等特点,因此视觉导航定位系统对于智能载体发展有着重要的研究意义和应用价值[1]。利用路标技术为载体提供各种信息是视觉导航的一种,路标分为自然路标和人工路标[2?5]。相比自然路标,由于人工路标具有特定结构,可以嵌入事先通过人工测量的位置信息,基于人工路标的视觉导航可以通过简化路标识别算法提高定位与导航的准确性和实时性。人工路标以其工作的简便性、定位的准确性、移动的灵活性和使用的可靠性日益受到人们的青睐,在室内导航等领域正发挥着越来越大的作用[6?8]。
国内外在基于人工路标的视觉导航领域开展了广泛的研究,设计出了各式各样的路标以提高视觉导航的性能。文献[9]提出一种彩色路标,系统彩色直方图特征作为模板,通过匹配来检测路标。文献[10]设计了一种灰度人工路标,可嵌入编码信息,识别平均耗时15.6 ms。文献[11]提出一种适用于移动机器人进行目标识别与定位的MR二维码,可为定位提供足够的信息,识别时间约50 ms。文献[7]针对结构环境下的视觉导航系统,设计了一款路标并给出相应算法,实现了单帧图像单个路标即可定位。
为了进一步提高识别实时性,更好地解决视觉导航与诸如惯性导航等其他导航方式进行组合时造成的信息时刻不同步的问题,本文受二维QR码启发,设计了一种能被快速识别,包含信息量大,可靠性高的路标,并提出快速识别方法以提高视觉导航的性能。
1 可快速识别路标设计
图1为安装固定在载体上的摄像头所拍摄的含有路标图像的示意图。其中为图像坐标系,为世界坐标系,路标含有方向信息,事先将路标以一定角度布置在世界坐标系中。例如图中路标以0°布置在世界坐标系的原点处,当从图像中检测出路标的方向信息,也就知道了世界坐标系与图像坐标系的夹角,此夹角即是载体的航向角。另外,若能获得路标的中心坐标,则可得到路标在图像坐标系中相对于原点的方向因已测出图像坐标系和世界坐标系的角度关系,则可得到图像坐标系原点在世界坐标系中相对于路标中心的方向。并且基于小孔成像模型,在不考虑畸变严重的情况下,图像坐标系中线段长度与世界坐标系中的线段长度成比例关系,这样通过嵌入在路标中的位置信息就可推算出载体的位置和航向角信息。因此,完成视觉导航功能所需的路标必须能被检测出方向,路标中心能被快速定位,且可以嵌入位置信息。
本文设计的路标如图2所示。先从采集的图像中检测出路标是解码的前提。中心回字形图标(中心寻像图案)用于路标在所采集图像中的位置定位。不论横向扫描还是纵向扫描时,该图案的中心各段长度满足比例即使旋转一定角度依然满足此关系,如图3所示,此设计借鉴了QR二维码的设计特点,便于实现快速定位。为了提供航向角信息,须在图像坐标系中建立一个矢量与载体的朝向进行关联。左上角回字形图标(角寻像图案)(比例为11111)与中心寻像图案配合用于确定路标的朝向,该角度还用于确定路标边缘轮廓点采样方式,边缘轮廓点分组方式等。两图标中心之间的距离用于确定图形分割的阈值。除中心寻像图案和角寻像图像外,外围黑色方框内的其他区域用于数据编码,可以嵌入路标放置的实际坐标或是实际坐标对应的编号。外围黑色方框一方面用于限定数据区域和边缘检测,另一方面用于检测解码是否正确。圆形直径设计为正方形边长的两倍,用于隔离复杂背景,以便准确寻找边缘轮廓点。相对于QR码,中心寻像图案面积占路标总面积的比值提高了,更容易被探测到,即更适合用于导航。内部单元模块数量可以根据需要进行选择。可以实现单帧图像单个路标定位。即使在相机未完整采集路标或路标畸变较大等情况下导致路标解码失败时,只要寻找到中心寻像图案和角寻像图案,该导航系统依然能输出航向角信息。
2 快速识别方法
减少访问像素点的个数就是节省识别的时间。本文充分结合路标的设计特征,减少访问不必要的像素点个数,提出一套快速识别方法,整体识别流程如图4所示。首先从摄像头读取一帧3通道的彩色图像,简单判定摄像头读取是否有误,若读取为空则报错停止识别,否则开始識别。

图4 整体识别流程图
2.1 灰度化处理
彩色图像含有全面的信息,但它庞大的数据量加大了运算的时间。在视觉导航领域,对实时性要求高时大多使用的是灰度图像。图像的灰度化处理就是将彩色图像转变成灰度图像。本文选用常用的加权平均法对图像进行灰度化,即将某像素的三个颜色分量加权平均后赋给各分量作为该像素的灰度值,如下:
(1)
式中:为该像素点在图片中的坐标位置;为该点的灰度值;为该点的分量;权值取
2.2 二值化处理
灰度化处理后的图像仍然具有256种颜色亮度,为了减少后续图像处理的复杂度,通常都需要将灰度图像转变为只具有黑、白两种灰度值的二值图像,这样处理的对象就只有两种颜色属性,同时也能与计算机的逻辑值0,1相对应。二值化的关键是选择合适的阈值。若选取的不合适,则会造成信息缺失,导致当前一帧解码失败。求取二值化阈值的方法有很多种,考虑到路标设计时已隔离复杂背景,只有黑白两色,对比鲜明,因此对图像中心小块区域逐点扫描求出最大像素值和最小像素值,取最大像素值和最小像素值的平均值作为二值化的阈值,既节省时间又不影响二值化后的效果。图像像素点二值化取值如下:
(2)
式中为阈值。
2.3 寻像图案定位
如何快速从采集的图像中找出目标是实现快速正确解码的基础。对于寻像图案,传统的QR码寻找方式是横向、纵向扫描寻找出所有满足比例关系的线段,对这些线段进行集合分类,相同集合的取中间一根线段,若有两根线段正交,则此交点就是要寻找的寻像图案的中心点。此方法需要先后两次遍历所有像素点,因此非常耗时。又因为是逐点扫描的,所以满足比例要求的线段非常多,因此需要存储的空间也非常大。本文采用文献[12]提出的快速定位QR码的方法进行路标的定位,具体方法如下:
首先开始横向扫描,动态滑动存储每5段线段长度。为了节省时间,采用隔行扫描的方式,此方式能成倍减少扫描时间。实时检测五段线段长度的比值。若满足黑白黑白黑=11311或11111,则将这五段线段累加构成一条新的线段。若此线段的中点为黑色,则它的坐标极可能为寻像图案中心点的坐标。然后从该点再进行纵向检测。若纵向也搜索出满足比例关系的中心点,则该点的坐标极可能是寻像图案中心点的坐标。为防止误判可在倾斜方向再次检测线段比例关系。找到寻像图案的中心点也就实现了路标在所采集图像中的定位。为保证一个寻像图案只被检测到一次,将纵向成比例线段的总长度设为阈值,当再次检测到满足比例关系的线段与已检测到的线段距离小于该阈值时,则放弃该线段。寻像图案定位示意图如图5所示。
2.4 航向角输出
对数据进行编码时要尽量避免出现类似角寻像和中心寻像的图案,这样便可将解码条件定为:角寻像图案个数和中心寻像图案个数分别为1。当满足此判定条件时才进行后面的解码步骤,否则只是输出航向角便开始进行下一帧的检测。已得到中心寻像图案中心点和角寻像图案中心若设好初始0°的向量为=(-1,1),则通过向量与向量的夹角可确定载体的航向角。
2.5 轮廓点采样
精确确定路标轮廓对于路标的正确识别很重要。提取轮廓的方法有很多种, 传统的边缘检测方法使用边缘检测算子如Sobel检测出边缘,再用hough变换求四条直线,该方法是常用的组合,稳定可靠。但计算量大,所需存储空间大,非常耗时。本文根据所设计路标的结构特点,采用一种简单快速的方法对轮廓点进行采样。为进一步缩短时间,轮廓采样方法根据航向角的范围进行调整。当航向角在0°,90°,180°,270°附近时,将此种情况定义为小角度情况,否则为大角度情况。大角度情况时,只需横向扫描即可采集完全部边缘点,即先从左往右扫描,当扫描到目标黑色像素点时,保存该点的位置,并跳几行转向另一行从左往右扫描。从左往右扫描完后再进行从右往左扫描,方法同上。这样即可快速得到路标所有的边缘点,如图6所示。当是小角度情况时,采用上述方法只能采集到路标竖直方向的两条边,导致边缘信息缺失,所以必须纵向再采集一次路标接近水平方向的两条边,这样轮廓点方可采样全面,如图7所示。

轮廓采样时,扫描的起点和终点决定了访问像素点的个数。减少访问像素点的个数就是节省识别的时间。由于路标设计特殊,可以根据航向角和两寻像图案的距离灵活地选取扫描的起始点和终止点,减少不必要的像素点访问。
2.6 寻找轮廓顶点
提取完的边缘轮廓点用于拟合正方形轮廓的四条边,进而得到正方形轮廓的四个顶点,再通过几何校正完成路标的识别。首先从所有轮廓点中分离出各条边的轮廓点。轮廓点分组方式根据航向角和边缘点位置关系确定。对所有轮廓点分组完毕后用最小二乘法对其分别进行拟合得到四条直线,四条直线的交点就是正方形轮廓边缘的四个顶点。
2.7 几何校正
仿射变换是点对点之间的有序映射,轮廓的四个顶点可以用来对图像进行几何校正。先对四个顶点进行简单的排序。根据所设计路标的特点,离角寻像图案中心最近的点定位为第一个点,然后按顺时针方向确定第二个和第三个点。常用的有6参数的仿射变换。设已知的三个顶点的坐标为校正后的三个坐标为依据6参数的仿射变换,其变换公式为:
(3)
式中有6个未知数,几何畸变的校正归根结底为坐标转换系数的求解。求出这6个参数后,每读取一次像素,即可计算出变换结果的灰度值。例如对图6进行仿射变换校正后如图8所示。

图8 仿射变换示意图
2.8 网格取样
当校正完之后,路标已成规则图形。按路标的尺寸将图像划分成若干个小格,判断每个小格内代表的位是1还是0,即可完成路标嵌入信息的读取。
3 实验验证
为了验证所设计路标的实用性和快速识别方法的有效性及实时性,摄像头采集若干含有路标的图像并进行识别。本次实验所使用的摄像头为市面上普通的USB摄像头,30万像素,分辨率为640×480。识别算法使用C++语言实现,在Visual C++2010环境下编译,运行环境为Win7系统。摄像头安装高度约40 cm,镜头方向垂直向下。实验中使用的路标正方形轮廓边长为7 cm。
图9为实验采集的含有路标的某一张彩色原始图像进行灰度化处理后的结果。图10为对灰度图像进行二值化后的结果。图11为寻像图案定位结果,寻像图案中心用白色十字标出。图12为边缘轮廓点采样结果,所采集的边缘点用*号标出。图13为对边缘轮廓点分组后计算出的四条拟合直线的斜率和截距以及四条直线的4个交点。图14为进行几何校正后网格采样的结果。从最后网格取样的结果可以看出该识别方法是有效的。

图9 灰度化结果图 图10 二值化结果图

图11 寻像图案定位结果图 图12 轮廓点采样结果图

图13 轮廓点拟合结果图 图14 几何变换后网格取样结果
为验证本文方法的实时性,利用Windows的硬件定时计数函数计算每帧识别成功的时间,并记录下来。实验过程中,安装好摄像头的载体一直在路标附近作平移,旋转等动作,以模拟实际导航时路标进入摄像头视场时的场景。计算机实时地通过摄像头采集图像,不断地定位解码输出。分别进行了四组实验。实验结果如表1所示。平均识别时间为9.8 ms。传统的自然路标识别需要数百毫秒,常规的人工路标识别也需要数十毫秒,本文识别方法能更好地满足视觉导航的实时性要求。实验结果显示,航向角的帧数大于可识别的帧数,说明在采集图像畸变严重或路标只是部分进入视场等导致无法识别的情况下,系统依然可以输出航向角信息,提高了系统的可靠性。
4 结 语
为了解决视觉导航数据量大、计算周期长、信息滞后等问题,设计了一种可用于视觉导航的路标,通过识别该路标得到载体的位置和姿态信息,并提出快速识别该路标的方法。通过动态识别实验验证了该方案的可行性和有效性。实验结果表明,采用该方法识别设计的路标实时性和可靠性好,满足视觉导航要求。基于该路标的视觉导航可以与其他导航方法如惯性导航进行组合导航以提高组合导航的精度。
参考文献
[1] 徐宁.单目摄像头实时视觉定位[D].上海:上海交通大学,2008.
[2] 姜海涛,田国会,薛英花,等.新型人工地标的设计、识别、定位及应用[J].山东大学学报(工学版),2011,41(2):107?113.
[3] MUTKA A, MIKLIC D, DRAGANJAC I, et al. A low cost vision based localization system using fiducial markers [J]. International federation of automatic control, 2008, 41(2): 9528?9533.
[4] PARK C, KIM S, PARK M, et al. Vision?based global loca?lization for mobile robots with hybrid maps of objects and spatial layouts [J]. Information sciences, 2009, 179(24): 4174?4198.
[5] 陈明芽,项志宇,刘济林.单目视觉自然路标辅助的移动机器人定位方法[J].浙江大学学报(工学版),2014,48(2):285?291.
[6] HUH J, LEE K, CHUNG S W, et a1. Mobile robot exploration in indoor environment using topological structure with invisible barcode [C]// Proceedings of 2006 IEEE International Conference on Intelligent Robots and Systems. Beijing, China: IEEE, 2006: 5256?5272.
[7] 贾云伟,刘铁根,刘琨,等.视觉导航用多功能路标设计与应用[J].光电子·激光,2014,25(5):962?967.
[8] 雷斌,刘波峰,刘道正,等.基于路标的AGV定位优化研究[J].传感器与微系统,2013,32(6):60?69.
[9] YOON K J, KWEON I S. Landmark design and real?time landmark tracking for mobile robot localization [J]. Proceedings of SPIE, 2002, 4573(20): 219?226.
[10] 郭阳.基于新型人工路标的自主移动机器人导航相关问题研究[D].沈阳:东北大学,2006.
[11] 郑睿,原魁,李园.一种用于移动机器人室内定位与导航的二维码[J].高技术通讯,2008,18(4):369?374.
[12] 陈威兵,杨高波,冯璐.一种QR码识别的低复杂度图像预处理方法[J].湖南大学学报(自然科学版),2012,39(10):93?97.