APP下载

视觉导航AGV多路径快速检测算法研究

2016-09-26郑少华李伟光刘维民黄爱华华南理工大学机械与汽车工程学院广东广州510640

电子设计工程 2016年11期
关键词:多路径灰度边缘

郑少华,李伟光,刘维民,黄爱华(华南理工大学 机械与汽车工程学院,广东 广州 510640)

视觉导航AGV多路径快速检测算法研究

郑少华,李伟光,刘维民,黄爱华
(华南理工大学 机械与汽车工程学院,广东 广州510640)

为了实现视觉导航AGV在分叉路下的自动导引,提出了一种多路径快速检测算法。首先对图像进行灰度化、平滑、边缘检测等操作得到梯度图像,然后结合多路径图像特征,利用行扫描方式提取各路径边缘坐标,最后利用改进的增量式最小二乘法拟合路径中心线。实验表明,该算法运算简单、实时性强,适用于基于嵌入式系统开发的视觉导航AGV。

视觉导航AGV;多路径;最小二乘法;实时性

自动导引小车(Antomated Guided Vehicle,AGV)是指装备有电磁或光学等自动导引装置,可以在规定的导航路径上行驶,是具有安全保护以及各种移载功能的运输小车[1]。AGV的导引方式有电磁导引、磁带导引、激光导引、视觉导引等,其中视觉导引相比其他导引方式,具有成本低、柔性好、安装维护方便等优点,是当今AGV导引技术的研究热点。目前的视觉导引技术研究主要针对单一路线下的路径检测,无法实现分叉路下多路径的检测与跟踪。文中对多路径图像识别算法进行研究,提出了一种多路径快速检测方法。

1 基于视觉的路径导航原理

本文采用的视觉导航AGV模型如图1所示,AGV为四轮结构,其中后两轮为独立驱动的驱动轮,前两轮为万向轮。CCD摄像机放置于AGV纵轴线的前段,并与地面垂直。摄像机两边设有LED灯带作为光源。

AGV通过CCD摄像机采集到的图像数据识别导航路径。简单的视觉导航模型[2]如图2所示。模型将导航路径简化为一条直线,通过图像识别算法识别该路径并得到其中心线的直线方程y=ax+b。根据直线方程计算车体纵轴线与中心线的侧向偏差d及方向偏差θ。所得偏差数据作为导航参数传入运动控制模块从而实现AGV的视觉导航。

图1 AGV结构模型

图2 视觉导航模型

在实际应用场合存在T字路口和十字路口,相应的AGV行驶路径除了单路径外还存在二叉路和三叉路,如图3(a)和3(b)所示。当摄像头位于分叉点时,采集图像中会出现多条路径。本文通过图像处理算法识别多条路径并从上位机获取路径选择信息从而实现AGV在不同路况下的正常行驶。

图3 分叉路类型

2 图像导引

实时准确获取AGV与预设导航路径的相对位置是保证AGV安全运行的重要前提。由于AGV的使用场合大多为工厂车间,所采集的图像除了包括路径和站点信息外,还有可能存在因底面反光或路径标线污染造成的干扰信息[3]。为实现路径识别和偏差提取的速度及精度,本文对采集的图像进行预处理、边缘检测后,结合上位机路径选择信息对路径进行识别和提取,从而获取偏差信息。

2.1图像预处理

图像预处理主要是在像素级上进行处理,主要包括图像的几何校正、图像的灰度变换处理、图像噪声滤除的平滑处理等[4]。由于摄像机垂直于地面安装,其拍摄图像变形较小,不需对图像进行几何校正。因此主要的图像预处理内容为灰度变换和平滑处理。

由摄像头采集到的图像是24位的RGB真彩色图像。该格式的图像每一个像素的颜色值由R、G、B分量表示,每一个分量都分配一个0~255的强度值。由于这种格式图像占用大量内存,且会降低系统的处理速度,因此需要将其转换为灰色图像以节约内存空间及提高处理速度。灰度化处理的方法主要有3种[5]:最大值法,即取R、G、B中的最大值为该点像素的颜色值;平均值法,即取R、G、B的平均值为该点像素的颜色值;加权平均值法,即取R、G、B的加权平均值为该点像素的颜色值,每个分量的权值由其重要程度或其他指标给定。根据理论推导和实验证明,当该点像素值取为0.299R+ 0.587G+0.114B[6]时,能够得到最理想的灰度图像。

图像形成、传输过程中会产生各种内部干扰和外部干扰。由这些干扰造成的噪声会恶化图像质量,影响分析效率,因此去除噪声是图像处理的关键步骤。由于典型的噪声由灰度级的急剧变化组成,而平滑处理使用模板确定的邻域内像素的平均灰度值代替图像中每个像素的值,这种处理的结构降低了图像灰度的“尖锐”变化,因此平滑处理可以很好地降低噪声。本文通过调整摄像机的焦距使成像轻微模糊,通过硬件模拟平滑处理从而提高了图像预处理的速度。

2.2边缘检测

本文采用布置在浅色地面背景上的黑色条带作为预设路径标记。路径边缘与地面背景间存在灰度的突然变化,因此可通过计算图像灰度变化的一阶导数检测路径边缘。本文采用sobel梯度算子对图像进行边缘检测操作。sobel算子的模板[7]如图4所示。

图4 一副图像的3x3区域(z项是灰度值)和计算z5处梯度的sobel模板

利用sobel算子的两个模板对整个图像进行滤波,可得到图像每个像素位置的水平梯度gx和垂直梯度gy:

利用所得梯度分量计算梯度向量的幅值M(x,y)和角度α(x,y):

如果梯度M(x,y)大于某一阈值,则认为该点(x,y)为边缘点。

sobel算子根据像素点上下、左右邻点灰度加权差,在边缘处达到极值这一现象检测边缘。算法计算简单,对噪声具有平滑作用,提供较为精确的边缘方向信息

2.3路径提取

路径提取的主要思想是对边缘化后图像进行行扫描,从行扫描线中得到路径的左边缘及右边缘位置,通过将左右边缘位置求平均得到导航路径中心线在该行图像的位置。

图5为行扫描线的示意图。图像经过sobel边缘处理后,具有明显边缘的区域具有较大的灰度值,而匀色区域具有较小的灰度值。可经过阈值将各像素点分为对象点(灰度值为255)和背景点(灰度值为0)。在本实验场景中,噪声主要表现为随机分布的高灰度值独立点。而路径边缘表现为连续R个(可根据实验测得)高灰度值点,因此可通过判断连续R个像素点的灰度值的和是否大于阈值T来确定路径边缘位置。

图5 行扫描线示意图

路径提取需考虑以下几个情况:

1)为避免多次选取到同一路径边缘上的点,当选取到某一路径边缘点时,下一扫描点位置为该边缘点位置加LineW/ 2(导航路径宽度)。即边缘点位置为i时,则下一扫描点位置为i+LineW/2。

2)考虑到AGV运行的车间中存在T字路口和十字路口,因此视场中可能出现2条或3条路径,相应的有4条或者6条路径边缘。当视场中出现面积较大的干扰物时,边缘化后会出现和路径边缘相似的特征。为避免干扰物对检测路径边缘的影响,当从行扫描线中得到非2条、4条或者6条路径边缘时,则认为该行路径边缘提取错误。

本算法如下:

Step1:对某行扫描线进行逐点扫描,计算以当前扫描点i为首连续R个像素点的灰度值f的和Si。

Step2:将Si与阈值T进行比较。若Si≤T,认为未检测到边缘,i加1。若Si>T,认为检测到一个边缘,记录当前i值,已检测边缘数n加1,同时i+LineW/2

Step3:将i+R与ImageW(图像宽度)进行比较。若i+R≤ImageW,返回步骤Step1;若i+R>ImageW,认为本行扫描完毕,进入步骤Step4。

Step4:判断n的值。若n分别为2、4、6,则分别检测到2条、4条、6条边缘,对应为1条、2条、3条路径,根据n的值将记录的i值分别存入各路径边缘坐标数组中,同时相应计数器加1(单路径OneLineN,双路径TwoLineN,三路径ThreeLineN)。若n不为2、4或6,则认为该行检测错误,不记录坐标值。

Step5:结束本行扫描,读入下行4数据,重新进行行扫描。

路径提取算法流程图如图6所示。

图6 路径提取算法流程图

经过试验发现,一帧图像中等间距扫描30行即可达到很好的检测效果,不需要进行逐行扫描,提高了程序运行速度。2.4直线拟合

首先根据 OneLineN、TwoLineN、ThreeLineN的值判断当前的路径类型,读取相应路径数组中的左右边缘坐标,并取其平均值作为路径的中心点进行直线拟合。

由于曲线路径可近似为直线处理,因此路径拟合问题可看作线性回归问题。线性方程为y=ax+b,根据最小二乘法,误差函数为

各偏导为:

于是得到关于a,b的线性方程组:

其中n为参与最小二乘法的点数。

设A=Σx2i,B=Σxi,C=Σyixi,D=Σyi则方程化为:

解出a,b得:

最小二乘法计算简单快速,但错误点对直线拟合效果有很大影响,因此需对其进行改进。改进的关键是对错误点的判别及剔除,考虑到A、B、C、D均为变量的和,因此可以利用增量式的最小二乘法进行直线拟合。通过前n个点计算A、B、C、D进而得到a、b,然后计算第n个点和第n+1个点所在直线与坐标轴的角度并与之前n个点拟合所得直线的角度进行比较,若两者差值大于阈值则认为第n+1个点为错误点,剔除之。若两者差值小于阈值则利用第n+1点坐标更新A、B、C、D得到新的拟合直线方程。该算法如下:

Step1:利用前两个点拟合直线:

计算直线斜率lsp、直线角度ldeg、直线截距lint:

初始化已参与直线拟合点数i=2。

Step2:计算第i个点和第i+1个点所在直线的斜率tsp及角度tdeg:

Step3:比较ldeg和tdeg。若两者差值大于阈值T1则认为第i+1个点为错误点,错误点计数器FPoint+1;若两者差值小于阈值则为正确点,更新A、B、C、D:

更新直线方程:

Step4:i+1,比较i和n(参与直线拟合的点数)。若i≤n,则返回Step2;若i>n,进入Step5。

Step5:若错误点计数器FPoint小于阈值T2,输出当前ldeg和lint;若FPoint大于等于阈值T2,则当前帧直线角度及截距ldeg、lint为上一帧直线角度及截距preldeg、prelint。当前帧直线拟合结束。

直线拟合算法流程图如图7所示。

图7 直线拟合算法流程图

当初始化的两点存在错误点时,利用这两点拟合的直线为错误直线,这会直接导致后面的错误点判断失败。针对这种情况,进行如下处理:记录本算法对前5个点的处理结果,若FPoint>2,则认为初始点存在错误点。删去首个点后重新执行直线拟合算法。

3 实 验

为了验证所提多路径快速检测算法的有效性,本文在四轮视觉导航AGV上进行实机测试。安装在AGV底部的USB摄像机采集图像数据发送至PC,PC上的上位机软件采用所提算法对图像数据进行处理后将所得偏差数据发送至AGV上的运动控制卡TMS320F28335,由控制卡对AGV驱动轮进行控制。其中USB摄像机采集图像分辨率为640480,上位机PC参数为Intel奔腾双核T4300、2G内存,上位机软件采用C语言在Visual Studio2010上编写。

图8显示了本算法对单路径、双路径及三路径的处理效果。其中每个小图左侧为原始图像。原始图像上部分黑色部分是AGV车体,在图像处理中不会对该部分进行处理。由于采用LED灯带作为光源,路径上部分亮度较大,且路径下部分存在反光现象,另外路面存在大量污渍,因此原始图像干扰信息较多。小图右侧为经过本文算法处理后的包含路径中心线的最终图像。可以看到即使在存在反光及污渍等干扰信息的情况下仍能准确地寻找到路径中心位置。这是由于本算法对每行检测到的边缘点进行筛选,只有满足要求的点才认为是路径边缘点,因此极大地提高了本算法的鲁棒性。

由于本算法避免复杂的图像预处理和特征提取算法,采用摄像机调焦代替平滑处理,采用均匀扫描30行代替全局扫描,采用最小二乘法代替hough变换,极大地提高了本算法的运行效率。在上述硬件测试平台下,平均每帧图像的处理时间仅为16 ms,完全满足AGV对于实时性的要求,有利于本算法在基于嵌入式系统开发的视觉导航AGV上的应用。

图8 实验结果

4 结 论

文中针对视觉导航AGV在分叉路上的路况特征,提出了一种有效的AGV多路径快速检测算法。该算法对于反光、路面污渍、亮斑等具有良好的鲁棒性,同时通过简化预处理步骤、采用行扫描路径提取方法、优化最小二乘法等方式极大提高了运行效率。AGV实机测试表明该算法结合上位机的路径选择信息,可以实现多路径下对特定路径的提取和跟踪。本文提出的算法具有高实时性、鲁棒性的特点,有利于在嵌入式视觉导航AGV上的应用。

[1]李西锋,魏生民,闫小超.视觉引导AGV的数字图像处理方法研究[J].科学技术与工程,2010,10(10):2515-2519.

[2]李进.视觉导航智能车辆的路径识别和跟踪控制[D].合肥:合肥工业大学,2008.

[3]蔡国斌,乌建中.数字图像处理技术在AGV上的应用[J].电力机车与城轨车辆,2005,28(4):51-53.

[4]黄霞.嵌入式自动导引小车(AGV)系统研究与设计[D].南京:南京理工大学,2009.

[5]班跃海.基于光流法的机器人视觉导航[D].南京:南京理工大学,2012.

[6]刘全丹.基于机器视觉导引的AGV系统研究[D].哈尔滨:哈尔滨工业大学,2008.

[7](美)Rafael C.Gonzalez,Richard E.Woods著.数字图像处理[M].3版.阮秋琦,等,译.北京:电子工业出版社,2011.

The research of fast multi-path detection algorithm for visual AGV

ZHENG Shao-hua,LI Wei-guang,LIU Wei-ming,HUANG Ai-hua
(School of Mechanical and Automotive Engineering,South China University of Technology,Guangzhou 510640,China)

In order to achieve the automated guide for visual AGV under thefork,a fast multi-path detection algorithm is designed in this paper.First the gradient imageisgained by processes of graying,smoothing,and edge detection.Thenwith multi-path image features,path's edge is extracted by line scanning.Finally the center line of path is fitted by improved incremental least square method.The experiment demonstrates that the algorithm with simple operation and hard real-time is suitable for visual AGV based on embedded system.

visual navigation AGV;multi-path;least square method;real-time

TN911.73

A

1674-6236(2016)11-0177-04

2015-06-17稿件编号:201506183

广东省数控一代机械产品创新应用示范工程专项资金项目(2013B011301026);省部产学研结合项目(2012B091100311)

郑少华(1990—),男,广东韶关人,硕士研究生。研究方向:数字图像处理、模式识别。

猜你喜欢

多路径灰度边缘
采用改进导重法的拓扑结构灰度单元过滤技术
多路径效应对GPS多普勒测速的影响
多路径助推肉牛产业稳定发展
Bp-MRI灰度直方图在鉴别移行带前列腺癌与良性前列腺增生中的应用价值
基于5.8G射频的多路径识别技术应用探讨
基于最大加权投影求解的彩色图像灰度化对比度保留算法
一张图看懂边缘计算
基于5.8GHz多路径精确识别方案研究
基于像素重排比对的灰度图彩色化算法研究
在边缘寻找自我