【学术论文】基于方向引导优化的视觉导航方法
基于计算机视觉技术的视觉导航技术是人工智能领域的研究重点和热点[1]。同传统的卫星定位(GPS)导航技术相比,基于视觉的导航方法具有实现方式灵活、性价比高、实时性好、导航快速精确等优点[2-3]。但是,现有的视觉导航系统多数都是基于固定摄像机的限定视角导航方法,这类导航系统只能适用于在直线行驶或者小弯度行驶情况,一旦出现大弯度转弯,道路会偏离摄像机视场,导致路径导航线丢失、导航失效[4-5]。为改善这种视角范围的局限,传统解决方法主要是将固定的摄像机改为广角镜头摄像机,增大视场范围[6],但是广角摄像机的图像畸变严重,对图像前期的处理精度和速度的要求严格,同时,增加了大量的图像干扰信息,为后续的图像处理增加了较大的难度。近年来,有学者提出了一种主动视觉智能导航方法[7],借鉴人类观察道路时的眼球转动机理,将摄像机安装在可旋转控制云台系统上,通过一定的反馈控制,实时修正摄像机焦点和行驶路线正前方的夹角,保证行驶路线一直处于摄像机视角范围内。由于该方法在保证视角清晰的前提下,大幅扩展了摄像机的视角范围,近年来在目标跟踪[8]、人脸检测[6]等领域得到了较多的研究和应用。其中,如何精确获取导航参量是主动视觉导航系统的关键问题之一[9]。传统的计算方法主要通过预先设置的高精度标定参照物,通过空间图像和平面图像的有效映射关系求取相关的参量值,该类方法标定精度高,但是应用范围有限且标定复杂,不利于变化场景的导航[10]。文献[11]提出了基于视觉图像的自计算方法,该方法通过前端获取的视频帧图像进行系统参量的计算,利用Kruppa方程和分层逐步标定的方式实现了导航参量的计算,该方法灵活性强、使用范围较广,但是计算精度和鲁棒性较差,在背景存在干扰的情况下计算误差较大,甚至引起导航失败[12]。文献[13]利用相机进行可控运动,通过约束运动的性质来实现导航参量的计算,提升了主动视觉导航的参量计算精度和鲁棒性。在此基础上,先后发展出了旋转计算方法[14]、平面正交计算方法[15]以及基于无穷远平面单应性矩阵[16]的计算方法。该类方法计算精度高、鲁棒性好,但是该类方法需要计算的参量过多且计算复杂,在实时导航系统中很难应用。文献[17]在此基础上进一步对计算复杂性进行优化,利用二维频移运动的相对计算方法求解线性模型的部分参数,并通过畸变的方法引入非线性优化,有效地简化了计算过程,但是这种非线性畸变的过程对系统的初值和噪声都非常敏感,计算稳定性较差。
针对这些问题,本文提出了一种基于方向引导优化的主动视觉导航参量计算方法。该方法的实现过程可以大致概括为三个步骤:(1)坐标系的变换。为了实现理论计算与实际导航系统的高精度拟合,首先给出了车辆物理坐标系与视觉图像坐标系的变换方程。(2)车道边缘线的精确检测。精确地获取车道边缘线是进行视觉导航的前提,为了解决道路积水、阴影等背景干扰问题,在传统Canny算子初步检测的基础上,提出了方向引导优化的方法。(3)大曲率弯道线精确检测问题。为了保证在大曲率转弯情况下车道线的精确检测问题,在前期优化的基础上,提出了基于直线与曲线阈值优化的广义Hough变换方法,对不同曲率的线段进行优化选择,精确检测道路标志线和边缘线,实时计算和修正导航中心引导线的偏离角度。
坐标变换是进行视觉导航实现的首要条件,为了实现图像坐标与实际车辆物理坐标的意义映射,本文基于车辆行驶的实际道路环境构建坐标系,将摄像机中心定为坐标原点,X轴为车辆行驶方向,Y轴为行驶方向的正左方,将控制云台的纵向轴设置为Z轴。为便于后续云台控制的分析,将车辆物理坐标系获取的图像表示为(xr,yr,zr),相应的像素坐标系可以表示为(u,v),图1表示了坐标变换前后之间的关系,具体的变换关系计算如下[10]:
由于车辆导航过程中需要检测的道路标志线一直处于平面状态(zr=0),为方便计算,可将坐标系重新修正为xrOyr坐标系,将式(1)重新计算为:
2.1 方向引导优化实现
首先通过Canny算进行初步检测,获取图像边缘信息以后,保留图像中的轮廓信息,但是由于阴影、积水和路面裂缝等路面特征的干扰,导致杂波轮廓信息同样得到了保留,因此,该部分主要采用方向引导搜索优化去除阴影干扰[14]。假设摄像机前端获取的图像被划分为3×3图像块,当前像素点(如图2(a)中的灰色中心点)具有8个邻接的像素。为说明搜索的方向性,假设目前的像素处于左车道,则车辆行驶的方向只有3个方向,如图2(a)所示。同样,处于右车道也具有3个行驶方向,如图2(b)所示。
根据车辆在道路上的行驶规则,可以定义为最优选择方向为90°、次优选择为45°、级别最低为0°,以车辆在左边车道行驶为例给出搜索过程描述如下[15]。
(1)以图像的左下角为参考进行平面扫描,如果当前像素判定为边缘,记录并创建候选线段;否则,继续扫描直到找到边缘点,并执行第(2)步。
(2)根据方向优先原理进行扫描,判定边缘点在3个方向中的位置并记录坐标,继续扫描,直到结束;如果3个方向均未扫描到边缘点,则跳转第(3)步。
(3)遍历整幅图像,寻找新的边缘点,直到结束。
上面的方向优先搜索完成以后,可以建立线段集合,并记录每一条线段的起始坐标。
2.2 导航参量的计算
在2.1小节检测的基础上,为进一步精确引导车辆的行驶,需基于检测的边缘线和道路标志线进行导航中心引导线的提取以及偏离角度的计算。首先采用图像重心分割的方法获取精确的导航引导线[16],具体如图3所示。
通过计算两个标志线以内的图像(包括边缘线与标志线以内的图像,主要是机器人行驶路线所在的边界标志)的重心,基于中心的纵坐标进行二次分割,获取上下图像的中心A和B点,直线AB即为机器人行驶区域内的中心引导线。如图3(b)所示,O为该帧图像的整体重心,I1和I2主要用于偏离角度的计算。具体的计算过程如图4所示。
为计算机器人的行驶偏角及偏距,在获取机器人引导线以后,利用线段端点坐标及长度画圆,并结合线段另一端点像素所在的坐标位置,计算引导线的偏角。实验中,首先将机器人放置在行驶的路段进行引导线初始化,利用图3(a)拟合道路引导线,进而基于图3(b)计算引导线的线性方程,并确定其具体的位置m。以相机为O点,基于I1和I2计算机器人的位置偏移D和偏角α。
为验证本文方法的有效性,该部分主要针对路况复杂的弯道行驶进行分析,视频帧图像大小为400像素×300像素。图5(a)所示为在校园内弯道测试实验现场获取的弯道导航图像,图5(b)为本文优化后的检测结果。
表1为弯道视频帧序列计算结果平均比较结果,从表中可以看出在弯道行驶情况下,3种方法的计算精度均有所下降,其中,文献[13]和文献[17]的性能明显变差,而本文方法针对该序列的计算精度仍然保持了相当高的精度,平均偏航角度的计算误差控制在1.5°以内,平均行驶偏距控制在5个像素左右。
本文主要针对主动视觉导航系统参量的计算方法展开研究,提出了一种基于方向引导优化的主动视觉导航参量计算方法。该方法是在文献[13]的基础上进行优化和改进,利用主动视觉相机的运动可控性进行参量的计算。通过对传统Canny算子检测结果进行方向引导优化以后,明显降低了道路阴影、路面积水等杂波的干扰,在此基础上,进一步采用阈值优化的广义Hough变换方法对检测结果进行分类优化,实现车道线的内外边缘及道路标志线的精确检测。实验结果表明,本文方法在弯道行驶情况下导航参量的计算精度明显提升,具有优秀的性能指标。