基于霍夫变换的农业AGV车道线视觉检测方法

2021-11-19 13:45邓嘉明张海鑫张诺仪
关键词:霍夫车道路面

邓嘉明,张海鑫,张诺仪

(1.嘉应学院信息网络中心,广东梅州 514015;2.嘉应学院物理与电子工程学院,广东梅州 514015;3.嘉应学院计算机学院,广东梅州 514015)

随着农业物联网应用的不断发展,自动引导车(Automated Guided Vehicle,以下简称AGV)作为一个主要的农业运输工具在整个农业物联网体系中扮演重要的角色,完成短距离运输任务[1]。但是在自动引导方面受各种技术的限制,应用较少且应用效果不理想,其中一个主要原因就是AGV 的车道线检测技术,所以当前的农业运输主要以轨道式为主。为了使农业AGV 摆脱轨道限制,实现更加便捷的部署,从多个方面对车道线检测进行研究。

1 AGV自动引导相关技术发展现状

在AGV 自动引导过程中必须对可行驶区域进行识别,在工业场景下的AGV 最基础是通过距离传感器,特别是在平坦、空旷的场景下,只需检测是否有阻碍物,阻碍物以外的区域都可行驶,规划避障路线即可完成引导,并可以使用GPS、uwb等技术进行定点导航[2−4]。在要求较高的场景下当前AGV 使用SLAM和磁导航循迹等技术进行自动引导[5−6]。激光SLAM是一种常用的检测方法,利用激光SLAM 可以生成二维地图,在地图上标识出可行驶区域进行引导。激光SLAM 以激光在阻碍物上的反射来生成地图,在室内场景可以较好地还原出地图,但是在室外场景中,特别是复杂的农业场景中,SLAM 的反射距离有限,二维SLAM 无法识别一些下陷的地面环境,SLAM 的二维效果比较不理想。当然现在已经3D激光雷达技术,这种技术成本较高,暂时不适合农业AGV 集成[7]。磁导航循迹也是当前AGV 使用的主要技术,磁导航引导和有轨的概念相似,都是规划好行驶路线,AGV根据检测磁导航路线进行引导,但是磁导航技术路线布置繁琐,布线后线路改动需要重新部署,且在农业室外环境磁导航线因为各种风吹日晒,泥土脏污覆盖导致失效,因为磁导航引导在农业环境也不合适。由此,文章引入了一种基于视觉的车道线检测技术进行农业AGV的自动引导。

2 基于视觉的车道线检测方法

2.1 基于视觉的车道线检测方法思路

车道线检测技术是自动驾驶技术中的关键技术之一,自动驾驶汽车通过识别路面的车道线作为自动驾驶的其中一项重要决策判断。在农业AGV 实际工作场景中,农业基地运输道路与两侧的种植田地物理特性有较大的区别,通过这些特诊差异进行图像分割,突出道路边缘信息,识别车道线,完成可行驶区域的判断,从而实现自动引导。基于视觉的车道线检测是思路是通过建立检测方法在视觉图像中识别出结构化道路的几何特征,将图像这些几何特征抽象成一个直线或者曲线的模型,在通过霍夫变换算法等方法将模型拟合成较为流畅的车道线[8]。整个检测过程分为道路图像预处理、车道线检测识别两个部分。

2.2 基于边缘检测和兴趣区域的道路图像预处理

基于视觉的农业AGV 车道线检测是对实时视频进行处理,通过获取车顶的摄像头视频流,进行每一帧图像处理。道路图像预处理是为了将摄像头图像进行预处理,突出特征信息。

首先进行图像去噪处理。去噪处理是因为在图像中存在各种噪声干扰,虽然不影响肉眼识别,单在机器识别的时候会出现干扰,影响对主要特征的检测。在车道线判断过程中,颜色相对于其他特征的作用较小,所以先将色彩图像转为灰度图像,以提高计算速度,后期再对针对某种颜色进行调整。简单的灰度转换后,需要进行高斯滤波处理,主要是利用高斯函数的形状选择全职,将服从正态分布的噪声进行处理,从而使边缘信息更加清晰。在农业场景中部分路面是砂石路面在摄像头获取图像的近景中很多砂石的路面的纹理,需要增大高斯滤波ksize 将这些干扰信息滤去。输入图像如1所示。

图1 输入图像

其次进行图像边缘检测。采用Canny 边缘检测算法,首先计算图像中每个像素点的梯度强度和方向,然后对梯度复制进行非最大值抑制,接着通过选取两个自适应的阈值来确定真实的和潜在的边缘,最后利用抑制孤立的弱边缘点实现边缘检测[9]。阈值的选择需要根据图像来源进行调整,调整一般高阈值约为低阈值的3 倍。处理后的边缘效果如图2所示。

图2 边缘检测图像

然后需要进行兴趣区域(ROI)处理。ROI 在图像处理中极为常见,主要是图像处理中并不是所有信息都是有用的,可以只计算部分区域,可以降低干扰,提高计算效率。如图2 所示,图像中上半部分有各种其他物体的信息,在车道线识别的时候并不是计算区域。在AGV 中,摄像头的位置是相对固定的,所以拍摄的路面信息相对固定,道路信息集中在图像中下方的一个梯形区域内,这个梯形区域就是兴趣区域[10]。基于以上先验信息,可以定义一个梯形的掩膜,将掩膜以外的区域全部涂成黑色,将其他信息滤去,并且由于已知在园区全部路面情况下,图像方近景区域的路面纹理部分也可以滤去,由此得出车道信息主要信息区域,如图3 所示,由此已经可以基本判断出车道轮廓了。

图3 确定感兴趣区域处理图像

2.3 基于霍夫变换的车道线检测识别

在完成道路图像信息预处理后,就可进行车道线检测了。车道线在图中可见为两条透视直线。在直线特征的图像检测算法中,最常用的就是霍夫变换在直角坐标系中(x,y),直线函数为y=kx+b,其中k为斜率,b为截距,而在霍夫变换中使用极坐标系(r,θ)来表示直线。直角坐标系上某一点(x,y)转换成极坐标时,可以将直角坐标系中的直线与x轴和y轴围成一个直角三角形,作此三角形的高,即从原点到该直线的垂线,r为该直线到原点的距离,θ为该直线的垂线与x轴的夹角。在转换过程中,有

将直线y=kx+b转换为极坐标,有

通过点(x,y)的直线转换极坐后为r=xcosθ+ysinθ。原直角坐标系的直线转换过后在极坐标系中为一条曲线,直角坐标系中在同一条直线上的多个点经过极坐标系变换形成的多条曲线都在极坐标系中相交于某一点。直角坐标系上的直线上所有点极坐标系变换后的曲线在极坐标系中通过同一个点(r0,θ0)。霍夫变换就是检测图像中每一个像素点对应曲线间的交点,越多曲线交于一点也就意味着这个交点表示的直线由更多的点组成,当交于某一点的曲线数量超过了阈值,那么该点在原图像中为一条直线[11]。在OpenCV 中,可直接调用霍夫变换函数进行直线检测。

为了进一步突出车道线的特征信息,需要对检测出为突出车道线信息。根据设定高度、角度摄像头获取的图像中,车道线在图像图中的透视投影通常为左右斜率不同的曲线,正常情况下左右两边的车道线分别在图像的左右两侧。将图像分成两边分别计算斜率,并将斜率超过一定阈值的线过滤掉,获取一条最可能的车道线轮廓。霍夫变换后的效果如图4所示。

图4 霍夫变换检测车道线结果

通过霍夫变换后获取到了一系列直线段的端点坐标,利用端点坐标分开左、右直线进行直线拟合,即可获取左、右车道线所在的大致直线,实现了基于视觉的车道线检测。将检测出的车道线与原图像合并图层,处理结果如图5所示。

图5 车道线直线拟合结果

通过在实地园区多次测试,在调整合适的参数后,在园区内效果较好,可以处理复杂路面纹理、光照不足等各种特殊情况,如图6所示。

图6 复杂路面纹理测试效果

3 基于车道线检测方法的农业AGV控制测试

通过基于视觉的车道线检测,可以完成图像中的车道线识别,但这个仅仅是图像中的透视直线,在实际使用过程中,需要通过放射变换,由于摄像头的位置固定为图像中间垂直位置,利用相机标定的信息对车道线检测结果通过仿射变换变成鸟瞰图[12]。在农业AGV 行驶过程中,基本动作包括保持中线行驶和转弯行驶。

保持中线行驶较为简单,只需仿射变换后,计算出车辆行驶中线,即与左右两条车道线的中心点连线,再计算出与中线的偏离值。在农业AGV 的ROS控制中,如果检测出偏离值,则偏向相反的角度转向,并且根据偏离值的大小设计合理的PID 算法[13],ROS 的计算与控制过程如图7 所示,一是加入PID 算法,并且在运行初期加大值,降低车速,可以保证车辆不会出现摇摆行驶的情况,以确保车辆转向顺畅;二是在行驶过程中加入异常运动判断,加入制动命令,如出现识别错误状态则紧急停车;三是根据实际情况,可在异常运动判断中加入滤波处理,并根据AGV行驶速度调整输入目标参数的时间间隔。

图7 农业AGV行驶运行过程

转弯行驶需要提前检测弯道情况,由于前面霍夫变换实现的车道检测获取的直线段数目较少,且大致处于同一直线上,对于前方路段的弯道路线曲线拟合效果较差,需要对车道线像素点进行曲线拟合[14]。可以对ROI区域进行仿射变换,将图像中央部分矩形区域,也就是“远方路面”进行检测。由于透视变换后车道线被模糊化,因此这个区域的边缘检测算法效果较差。对于白色路面信息可根据HSL 颜色模型中的亮度值进行检测。将第两次检测结果与原检测结果相结合得到更完整的车道线,并根据像素点坐标,利用最小二乘法曲线拟合原理分别拟合出左、右两条车道线曲线,由此实现对“前方路面”弯道进行检测。在农业AGV 的ROS 控制中,检测出曲线后,对车辆进行减速并持续转向,同样利用合理的PID算法,保证车辆不会转向过度。

在实际应用中测试中,需要多次调参,一是在这个ROI区域的选择极大地影响车道线检测的成功率,在实际过程中,需要测试较多的次数以确定较为合适的区域;二是调试合适的摄像头方向和角度,方向一定要保持摄像头与车方向保持绝对一致,否则会影响ROS 控制,角度需要基本水平,丽玉对转向时的检测;三是PID 算法设计需要多次调试,否则会出现摇摆不定或转向过度的情况;四是需要充分考虑转向过度后的控制,因是原地旋转,直至寻找到合适的车道线位置。

基于车道线的检测方式是AGV 自动引导中的其中一个方式,在实际构建中可同时搭载距离传感器、SLAM进行多种方式结合,可以尽可能地提高AGV自动驾驶的可靠性和稳定性[15]。

4 结语

基于霍夫变换的农业AGV 车道线视觉检测方法是一种成本低且实用性高的农业AGV 自动引导技术。本文主要使用图像处理的方法实现,具有较好的实时性并且抗噪声强,在农业基地已知的具体环境中,调整多次参数后重复行驶结构化道路的时候效果较好。此方法的缺点在于新的环境要重新确认参数,后期利用深度学习进行改进,提高此方法的鲁棒性以适应不同场景的应用。

猜你喜欢
霍夫车道路面
智慧收费机器人在高速公路车道上的应用
冰山与气候变化
基于OpenCV的直道车道线识别技术研究
北斗+手机实现车道级导航应用
制动工况下未知路面附着特性识别方法
当之无愧的“冰人”
安装在路面的交通信号灯
当之无愧的“冰人”
大决心