基于视觉辨色的AGV路径识别算法研究

2021-12-06 06:05官祥锦张为民
航空制造技术 2021年21期
关键词:处理结果交叉路口中心线

官祥锦,张为民,陈 娟

(1.中国航空制造技术研究院,北京100024;2.北京化工大学,北京 100029)

自动导引车(Automatic guided vehicle,AGV)是一种能够进行自主或半自主移动的轮式机器人。它集控制和导航系统于一体,广泛用于柔性加工、柔性装配、自动化立体仓库等领域[1]。随着科学技术的进步和国家生产制造能力的提高,AGV 的运用越来越广泛[2]。它能够在已知或未知的环境中,根据生产或运输的要求,自动将货物按照人们的意愿从一个地方运输到另一个地方。AGV 的应用不仅提高了生产效率,还在很大程度上降低了生产成本。但是目前还没有一种通用的AGV 能够适用于各种生产场所,AGV 的设计也需要根据应用场景的变化而变化[3]。此外,目前AGV 大多应用在已知环境中,即根据现场生产需要,让AGV 按照预先铺设的路径行驶[4]。路径识别在AGV 行驶的过程中起着至关重要的作用,现存的AGV路径识别方法主要有基于电磁的路径识别方法和基于视觉的路径识别方法[5]。基于视觉的路径识别方法由于成本低,系统搭建容易,相对于电磁方式,基于视觉的方法在工业现场的抗干扰能力也更强,所以基于视觉的路径识别方法在实际的生产生活中有着更为广泛的应用[6]。由于AGV 的广泛应用,基于视觉的AGV路径识别有着较大的应用潜力,但很多研究在AGV 的路径铺设方面,都只使用了单一颜色的路径[7-8],同时也没有考虑多路径交叉的情况,这和AGV 现实的应用场景不符合[9-13]。此外,已有研究中,在路径的识别算法上要么过于复杂[14-16],实时性差,要么仅考虑了某几种特殊情况[17-19],实用性较差。

针对以上问题,提出了一种基于视觉辨色的AGV路径识别方法,该方法使用红黄两种不同颜色的色带铺设路径,通过将灰度图像和HSV 格式图像的不同通道进行分离以及重新融合处理,根据不同的颜色特征以及不同路径的形状特征,能够很好地识别单一路径和多路径交叉情况。此外,该路径识别算法简单,具有较好的实时性、鲁棒性和实用性。

1 AGV 系统组成

本研究中使用的AGV 模型如图1所示,其为四轮结构,采用的是四轮独立驱动方式。该AGV 载重约700kg,长度2.3m,宽度0.9m,高度0.6m,属于中型运输AGV。用于图像采集的摄像头安装于AGV 车身内部的中间位置,并且与AGV 的行驶路面垂直,摄像头采集的图像大小为480×640。车载PC 为装有Windows7系统的平板电脑,处理器为Intel Celero,处理器频率为1.85GHz。此外采用了LED 光源对摄像头进行光照补偿,帮助摄像头进行路径图像的采集。

图1 AGV 简要结构Fig.1 Brief structure of AGV

本研究的AGV路径使用红色和黄色两种颜色的色带进行铺设,其模型如图2所示。

图2 AGV 行驶路径模型Fig.2 AGV driving path model

通过对摄像头采集的图像进行处理后,得到AGV在单一路径和交叉路径上的简单导航模型如图3所示。其中图3(a)为AGV 在单一路径上行驶时的路径和中心线模型;图3(b)为AGV 在交叉路口行驶时的路径和中心线模型。参数θ为路径中心线与图像Y轴的角度偏移量;参数d为路径中心线的中点与图像Y轴的距离偏移量。

图3 导航模型Fig.3 Navigation model

对采集的图像进行处理,计算出路径中心线即可得到当前AGV 的角度偏移量θ和距离偏移量d,将这两个值输入AGV 的控制器,即可以对AGV 的行驶角度和行驶方向进行控制。

2 路径识别算法

本研究中摄像头采集的原始图像为RGB 格式图像,由于RGB 格式图像包含的数据量大,如果直接使用RGB 格式图像进行路径识别,不但识别效果差而且计算量大,导致AGV 系统的实时性较差。此外,由于摄像头垂直地面安装且离地面距离较近,获得的RGB 格式图像变形较小,不需要对图像进行几何校正[20]。为了能够有效降低图像处理的计算量,提高实时性,将摄像头获取的RGB 原始图像缩小为原来的1/4,即图像的大小变为120×160。为了能够更好地解决识别单一路径和多路径交叉时的问题,本研究中使用红色和黄色两种颜色的色带铺设AGV 的行驶路径,这两种颜色的色带与路面的背景颜色形成了鲜明的对比。但是RGB 颜色模型不能够很好地反映出物体的颜色信息,也就不能够很好地体现出红黄颜色的AGV路径与灰色路面的差别。而相对于RGB 颜色模型而言,HSV 颜色模型能够非常直观地体现出不同颜色的明暗程度、色调信息以及不同颜色的鲜艳程度,方便进行不同颜色之间的对比与计算。所以将图像的RGB 颜色模型转换为HSV 颜色模型,方便识别黄色和红色的AGV路径。此外,由于RGB 格式图像的灰度模型稳定性较好,受到光照的影响也较小,所以还将图像的灰度模型和HSV 颜色模型的不同通道进行了混合,从而提高了路径识别算法的鲁棒性和可靠性。

2.1 图像预处理

HSV 颜色模型在有些文献中也被称作六角椎体模型。其中,H表示图像的色调,它的大小用角度值来进行衡量,其取值范围为0°~360°,不同点的角度值代表了不同的颜色。S表示图像的饱和度,它的取值范围为0~1.0,S的值越大,图像的饱和度就越高,颜色也就越鲜艳。V表示图像的亮度,它的取值范围为0~1.0,在相同的光源下,图像中物体的亮度与该物体的透射或反射比有关,物体的透射或反射比不同,亮度V的取值也就不同,可以根据图像中亮度V的不同取值,识别出具有不同透射或反射比的物体。

图像的RGB 颜色模型和HSV 颜色模型的转换关系如式(1)~(3)所示:其中R、G、B分别表示RGB 格式图像的红色、绿色和蓝色通道的像素值。max 表示R、G、B 通道中的最大像素值,min 表示R、G、B 通道中的最小像素值。

因为灰度图像受到的光照影响较小,所以为了使路径识别算法具有更好的稳定性和鲁棒性,将转换后的S通道图像和灰度图像进行了加权混合。RGB 格式图像和灰度图像Gray 的转换关系为:

由于地面色带反光、光照不均、色带磨损以及地面污渍的影响,导致转换后的图像中含有较多的噪声干扰,为了不影响路径的识别效果,需要将转换后的图像进行滤波处理。而图像中路径边缘准确性和清晰程度对路径中心线的提取起着至关重要的作用,所以使用了中值滤波对图像进行了滤波处理。

中值滤波是一种非线性滤波,它通过将一个邻域内的像素组成一个集合,然后计算出该集合的中间值代替当前的像素值,所以中值滤波对图像中的椒盐噪声具有很好的抑制作用,并且能够很好地保留图像中色带路径的边缘,有助于对路径中心线的提取。

2.2 路径识别

研究所使用的路径识别算法的主要思路为:对摄像头获取的RGB 格式图像进行预处理后,从RGB 格式图像中检测当前路径的颜色,并将RGB 格式图像转换为HSV 格式图像。如果当前检测到的路径图像为单一颜色图像,则将HSV 格式图像的S 通道图像和V 通道图像进行加权求和后进行阈值化处理,得到当前路径的二值化图像;如果当前检测到路径图像为红黄两种颜色的混合颜色图像,则将HSV 格式图像的S 通道图像和V通道图像加权求和后进行阈值化处理得到混合路径的二值化图像;然后将S 通道图像和灰度图像进行加权求和并进行阈值化处理得到红色路径的二值化图像。由于混合路径图像中只会存在红色和黄色路径图像,所以将混合路径图像和红色路径图像进行求差运算,即可得到黄色路径图像,从而识别出不同的路径。图像中路径颜色检测算法如下:

检测图像中是否有某种颜色是通过迭代的方式,计算目标颜色与当前颜色的距离,然后判断距离是否在允许的公差范围内,如果在公差范围内,则将当前像素的颜色判断为目标颜色,否则当前像素的颜色不是目标颜色。通过迭代的方式计算图像中含有目标颜色的像素数,如果图像中含有目标颜色的像素数大于定义阈值,则表示图像中含有目标颜色的路径,否则没有目标颜色的路径。计算两种颜色距离的方法有欧几里得距离、曼哈顿距离(也称为城市街区距离)、明可夫斯基距离以及余弦相似度等,为了简化计算,研究中所采用的是曼哈顿距离。曼哈顿距离的计算方式如式(5)所示:

其中,R1、G1、B1表示目标颜色;R2、G2、B2表示当前像素值。

判断图像中是否具有目标颜色和目标路径的算法如式(6)和(7)所示:

其中,maxDist 表示判断图像中是否具有目标颜色的最大公差;count 表示满足图像中像素颜色与目标颜色距离小于等于最大公差的像素数;threshValue 表示是否具有目标颜色路径的像素数阈值。

S 通道图像和V 通道图像的加权求和公式如式(8)所示:

其中,M表示混合路径图像;∂、β分别表示S 通道图像和V 通道图像的加权值;γ表示偏移量。

类似地,S 通道图像和灰度图像的加权求和公式如式(9)所示:

其中,Red 表示红色路径图像;α1、β1分别表示S 通道图像和灰度图像的加权值;γ1表示偏移量。

本研究中∂=0.75,β=0.6,γ=0;α1=0.6,β1=0.7,γ1=0。

将混合路径图像和红色路径图像通过式(10)进行阈值处理后,得到混合路径和红色路径的二值化图像。

其中,dst 表示阈值化后的图像;src 表示原始图像。

通过摄像头实时获取的路径图像,计算红色路径图像和黄色路径图像的算法如式(11)所示:

其中,redI 表示二值化后的红色路径图像;yellowI 表示二值化后的黄色路径图像;Red1 表示S 通道图像和灰度图像加权求和并进行阈值化处理后的二值图像。

根据在AGV 行驶路面铺设的色带情况,在AGV沿色带行驶的过程中,会存在如图4所示的路径特征,其中特征1 和特征6 分别对应AGV 减速和加速时的特征。当在图像中只检测到一种颜色时,表示当前AGV正行驶在单一路径上;当在图像中同时检测到两种颜色时,可能是图4 中路径特征为3、4、5 的情况,但是只有路径特征4 是交叉路口的完整特征。所以为了防止AGV 在交叉路口还没有形成完整特征时产生误判,结合不同的颜色,当路径从特征3 变成特征4 的时候才认为是完整的交叉路口,从而解决还未形成完整交叉路口特征时的误判问题。

本研究中路径识别算法流程图如图5所示。其中Y 和R 分别表示黄色和红色,type 的取值表示图4所示的路径特征,其中type 的值为7 时,表示特殊路径类型或者图像中没有路径。top 和bottom 分别表示二值化后的路径图像中顶部和底部路径宽度的像素数统计值,width 表示标定的色带宽度在图像中对应的像素数统计值。通过输出的type 值即可得到当前AGV 的行驶路径类型,并且通过判断type 值从3 到4 的跳变能够准确、稳定地识别出交叉路口特征完整时的路径类型。

图4 AGV路径图像特征Fig.4 AGV path image features

图5 AGV路径识别算法流程图Fig.5 AGV path recognition algorithm flowchart

2.3 计算路径中心线

当AGV 的当前行驶路径为单一路径时,通过对二值化后的路径图像进行Canny 边缘检测,然后将一系列边缘点进行连接,得到图6(a)所示路径的最小外接旋转矩形。经过比较计算便可以得到最小外接旋转矩形的4 个顶点。在最小外接矩形的4 个顶点中,排序找出y值最小的两个点p1和p2;以及y值最大的两个点p3和p4。然后计算出p1和p2的中点作为路径中心线的终点(x1,y1),p3和p4的中点作为路径中心线的起点(x2,y2)。在得到路径中心线上的两个点后便可以计算出路径中心线的直线方程y=ax+b。其中a表示直线的斜率,b表示直线的截距。根据路径中心线的方程便可以计算出当前AGV 行驶路径的方向偏移d和角度偏移θ,将这两个参数输入控制器便可以控制AGV 沿着色带行驶。

图6 路径的最小外接旋转矩形Fig.6 Minimum circumscribed rotation rectangle of path

在交叉路口的情况如图6(b)所示,同样是计算路径的最小外接矩形,但是这里出现了两段路径的最小外接旋转矩形。通过计算分别得到每个最小外接矩形的4 个顶点,再将两个最小外接矩形的4 个顶点进行比较计算,得到y值最小的两个点p7、p8和y值最大的两个点p1和p2。将p7和p8的中心点作为路径中心线的终点(x1,y1),p1和p2的中心点作为路径中心线的起点(x2,y2)。和在单一路径下的情况类似,得到路径中心点上的两个点后,便可以计算出AGV 在交叉路口行驶时的方向偏移值d和角度偏移值θ。

为了能够从二值化的路径图像中更加准确地计算出路径中心线,使用了Canny 边缘检测算法对二值化后的路径图像进行边缘检测,Canny 算子是一种比较实用的边缘检测算子,具有良好的边缘检测性能,并且能够在噪声抑制和边缘检测之间取得较好的平衡。此外,Canny 边缘检测算子能够很好地定位边缘点,它检测到的边缘点和图像中物体实际的边缘点之间的距离是最近的,而且Canny 算子对于真实的边缘点,只会存在一个响应,不会同时计算出多个边缘像素。其Canny 边缘检测算法的实现过程如下:

(1)对图像使用高斯滤波进行平滑处理;

(2)使用一阶偏导数计算梯度的幅值和方向;

(3)对梯度幅值图像进行非极大值抑制;

(4)使用双阈值处理和连接分析的方式来检测和连接检测到的物体边缘点。

Canny 边缘检测算子的表示如式(12)~(16)所示:

其中,G(x,y)为标准差为σ的二维高斯函数;f(x,y)表示图像在点(x,y)处的像素值;Ex(x,y)和Ey(x,y)分别表示图像f在点(x,y)处沿x方向和沿y方向的偏导数。其中图像在(x,y)点处的梯度幅值M(x,y)和∂(x,y)方向分别为:

3 试验结果与讨论

为了验证本研究中所使用方法的有效性,使用OpenCV 库和VisualStudio2017 进行编程,将AGV 上摄像头采集的图像实时传输到车载PC 端进行处理,并将图像的处理和识别结果通过RS232 串口传输到AGV的控制器,从而实现控制器对AGV 行驶的实时控制。试验结果如图7所示。

图7(a)为在黄色单一路径下,路面存在杂物时的处理结果和路径中心线;图7(b)为在黄色单一路径下,type=1(AGV 开始减速)时的处理结果和路径中心线;图7(c)为AGV 处于减速带(色带宽度为正常色带的2 倍)上的处理结果和路径中心线;图7(d)为AGV 行驶在红色道路上,且道路上存在杂物和道路有磨损时的处理结果和路径中心线,虽然路径上有杂物并且道路存在磨损,但是仍能够很好地提取出路径中心线;图7(e)为AGV 行驶在黄色路径上,且交叉路口特征还没有完整时的处理结果和路径中心线;图7(f)为AGV 行驶在黄色路径上,交叉路口特征已经完整,且AGV 有一定的倾斜时的处理结果和路径中心线;图7(g)为AGV行驶在红色路径上,交叉路口特征已经完整,且AGV 有一定的倾斜时的处理结果和路径中心线;图7(h)为AGV 行驶在红色路径上,交叉路口特征已经完整,且路径中存在杂物时的处理结果和路径中心线;图7(i)为AGV 行驶在黄色路径上,离开交叉路口时的处理结果和路径中心线;图7(j)为AGV 行驶在黄色路径上,离开交叉路口,type=6(AGV 开始加速)时的处理结果和路径中心线。通过以上的试验结果可以看出,通过判断当前AGV 是行驶在红色路径上还是黄色路径上,以及结合不同的路径特征,便能够很好地判断出单一路径和多路径交叉的情况。当图像中存在一些杂物、污渍以及光照不均匀时都能够获得较好的处理结果,即该算法具有较好的稳定性和鲁棒性。此外也通过大量的试验验证了该算法处理每帧图像的平均时间小于30ms,能够很好地满足AGV 对实时性的要求。

图7 处理结果和中心线Fig.7 Result and center line

此外,本研究还用文献[5,9,12-13]中使用的路径识别算法进行对比研究,这些文献中的路径识别算法和本研究所使用的路径识别算法在处理单帧图像上的时间对比如表1所示,可以看出,本研究所使用的路径识别算法在实时性上具有较好的效果。

表1 不同算法识别效果Table 1 Recognition effect of different algorithms

4 结论

(1)针对AGV 在实际应用过程中存在的单一行驶路径和多路径交叉的情况,提出了一种新型的,基于不同颜色色带的AGV路径识别方法,该方法能够通过结合路径的颜色识别结果和不同的控制指令,很好地解决单一路径和多路径交叉时的路径识别问题。

(2)该算法的计算量小,实时性好,处理一帧图像的平均时间小于30ms,能够很好地满足AGV 对实时性的要求,并且受光照影响小,抗干扰性强,具有较好的鲁棒性和稳定性。此外,该路径识别算法在结合AGV 的路径规划算法后,将正式投入AGV 的运行车间进行使用。

猜你喜欢
处理结果交叉路口中心线
无信号灯交叉路口安全警示装置
浅析某船重要设备底座与基准平台偏差的纠正措施
树叶竞技场
会计账务的处理对成本核算结果的影响
停机后汽缸温差大原因分析及处理
间接正犯与教唆犯的异同
生猪屠宰检疫技术和处理结果的探讨
无人驾驶汽车在交叉路口的避障规划
基于车-车通信的协同交叉路口碰撞预警系统
基于农村主路交叉路口优先右转汽车的碰撞预警系统初步设计