博客首页 | 排行榜 |

automotive的博客

我本将心照明月,怎奈明月照渠沟!

个人档案
博文分类
西北工业大学:基于CCD的路径识别方法探讨  2008-04-29 09:58

摘要:

“飞思卡尔” 杯全国大学生智能汽车竞赛中最重要的是道路检测中的黑线识别,本文中给出了三种不同的黑线识别方法,包括:寻找本行中最”黑”的点,固定阈值法,边缘检测法,并用三种方法对道路中的直道、弯道、十字交叉分别进行了对比试验,验证各自的优缺点,我们最终采用了效果较好的边缘检测。

关键词:

道路检测,黑线识别,固定阈值,边缘检测

 

1 引言

“飞思卡尔” 杯全国大学生智能汽车竞赛一个很重要的特征是赛道以黑线作为赛车的引导线,使赛车按规定的要求完成全程比赛。因此,黑线的提取至关重要。一定程度上,黑线提取的好坏,即黑线提取的实时性,准确性,抗干扰性在很大程度上决定着赛车控制系统的稳定性,准确性,快速性。纵观首届“飞思卡尔”杯全国大学生智能车邀请赛和今年各个赛区的预赛情况,几乎所有的队伍都是以黑线作为赛车行驶的参考线。

本文主要就黑线识别的三种常用方法作以简要探讨。为了方便取证,本文以我们组的比赛用车为模板采取数据。表1给出了本文中模型车参考的一些参数。

表1

测试电池电压

7.82V

舵机供电电压

7.82V

AD参考电压

2.50V

CCD供电电压

11.34V

CCD高度

22.14cm

CCD镜头角度

arctan(49.43/22.14)

测试时间与环境

白天室内

赛道有无反光

略有反光


2 黑线识别的三种方法比较

方法1:寻找本行中最”黑”的点

CCD采集进来的信号经过AD转换以后就变成了相应的灰度值。灰度值的大小与视频信号电平的高低成正比。因此寻找是了最”黑”点也就是寻找本行中灰度值最小的一个点。

这种算法编程比较简单,实现起来也比较方便,处理时间比较短,程序编写得当可以一场处理一次,提高舵机和电机的控制频率,从而使系统控制更加实时性,赛车行驶的更加平稳。

但是这种算法有一个致命的缺陷就是不管怎么赛车有没有在正确的轨道上,不管赛车有没有看到黑线,它总能给每行找出一个黑点来。要想排除这种情况,需要加上额外的信息处理。

另外,由于受到光线等诸多环境因素的影响,本行中最黑的点未必就是黑线的中心点,甚至有可能也不是黑色引导线上的点,而是干扰点。这种意外情况排除起来就相对比较困难。还有,这种算法对十字交差是识别不出来的。因为我们没有办法根据一个黑点来判别十字路况。

方法2:固定阈值法

考虑到每个赛车有1—2分钟的调试时间,这个时候我们就可以获取该比赛环境下一场图像中黑点的平均阈值,并以这个平均阈值(固定不变)作为基准来进行黑线识别,记录下所有”黑点”的位置,获取其平均值作为当前黑线的中心。

这种算法能使赛道上少数干扰点的影响减小,因为干扰点的偏移被平均而相应减小了;缺点是易受环境(比如光线)的影响。因为平均阈值因为光线的变化在赛道的不同位置可能会略有不同。如果赛道反光的话,反光行中的黑点平均阈值可能会被当成白点来处理,从而直接造成后面的路径识别错误。

方法3:边缘检测法

这种算法一个很重要的特征就是其抗干扰的能力比较强。对采集进来的图像灰度信息矩阵pp[40],检测其阈值的跳变,并记录该跳变是上升沿跳变还是下降沿跳变。如果第一个跳变是上升沿跳变,则说明此点之前的点全是黑点,记下此时位置,除以2就可以求得黑点的中心。如果第一个跳变是下降沿跳变,说明此时可能开始进入黑线区域,记下此时的位置,继续往下检测直到碰到下一个上升沿跳变,再记下此跳变沿的位置,两者即可锁定本行中的黑线区域。

这个算法的缺点是相对前两种来说比较复杂,处理时间较长,记录的信息较多,特别是对于十字交叉来说,可能会有三四个跳变沿。但是它可以很大程度上排除环境光线的影响,因为我们知道如果一行图像中反光,那么此行中黑白点的灰度值都会相应地提高,但是二都的差值却还是一个很大的跳变,用这种方法仍然可以识别出来黑白。

而且这种算法基本上可以脱离黑白点的具体阈值,只用其差分,这样就可以一定程度上排除AD参考电压随电池电压的变化而略有变化对图像采集和处理的影响。更重要的是这种算法可以很准确地识别出十字交叉。正常情况下,一行中最多只有两个跳变沿,但是在有十字交叉的行中,却至少有三个跳变沿,我们可以据此来判定此场图像中有十字交叉,来进行控制。

3 对比实验:

1.直线赛道。如图1所示:

/myspace/album/image.php?uid=9919&aid=372&pic=f66721c9&ext=jpg&screen=show

图1 直线赛道

图2是我们分别用三种方法提取得直道中黑线中心点所得到的矩阵pp[40]。

/myspace/album/image.php?uid=9919&aid=372&pic=cb3dd806&ext=jpg&screen=show
/myspace/album/image.php?uid=9919&aid=372&pic=4bc03851&ext=jpg&screen=show

图2黑线中心点的三种矩阵

从图2中我们可以看到重心法和边缘检测提取黑线的方法都比较平滑,左右浮动只有1个黑点的距离;但是最黑点法却有较大的波动。我们看到了第18、19、20、21行,31、32行,34、35行黑点中心距离突变很严重,这会给舵机控制带来很大的困难。图3中的三组图是用MATLAB根据三组数据模拟出来的黑线走势。

/myspace/album/image.php?uid=9919&aid=372&pic=1d630bfd&ext=jpg&screen=show 

图3 MATLAB仿真的三种黑线走势

2.弯道

正式比赛的赛道有很多种类型的弯道,在这里仅对弯道作以一简要分析,并不细分。图4是本次分析中所用到的弯道图片。

/myspace/album/image.php?uid=9919&aid=372&pic=b11a61b7&ext=jpg&screen=show 

图4 弯道图片

三种提取黑线方法得到的弯道黑线中点的矩阵pp[40]如图5所示。

/myspace/album/image.php?uid=9919&aid=372&pic=af6ae24f&ext=jpg&screen=show
/myspace/album/image.php?uid=9919&aid=372&pic=261e91e3&ext=jpg&screen=show 

图5 弯道黑线中点的三种矩阵

图5中,9行之后都是是正常的黑线中点,在对比分析1中已经详细讨论过了。在这里主要分析0—8行的数据。前面已经提到了最黑点法一个很大的缺陷就是每行都会强制找到一个黑点。但是从第9行的黑点位置来看,0—8行已经没有黑线了,所以0--8行的黑线数据是错误信息,需要设法加以辨别。重心法效果很好,0—8行全是0,0在这里代表此行没有黑点,很容易辨别是弯道。边缘提取法也可以达到同样的效果,1--8行数值为41,代表此行中的阈值跳变个数为0,也可以判断出弯道。三种方法,后两种方法可以直接识别出弯道,但是最黑点法却还需要做额外处理。

/myspace/album/image.php?uid=9919&aid=372&pic=db822211&ext=jpg&screen=show 

图6 十字交叉

3.十字交叉

十字交叉图像如图6所示,图7为三种黑线提取方法所到的十字交叉的黑点中心矩阵pp[40]。十字交叉行出现在9—13行,三组数据中与非十字交叉行都有有较大的差别,但是前两种方法不是很明显,不足以很清楚地判断此场图像中有十字交叉。第三种方法边缘提取法的数据中我们可以看到有四行十字交差的识别标志“42”,可以很确定地判断十字交叉。

4 结论

以上所讨论的都是静态图像,即赛车是在静止的时候所采集到图像信息。下面我们简要分析一下小车运动起来对图像采集的影响。

简单地说,赛车运动会造成图像的压缩,压缩程度与赛车的行驶速度成正比。运动赛车所采集到的图像信息比静止的要少一点,虽然摄像头的视场并没有变化。但是由于赛车的速度相对于摄像头的行行采集时间间隔来说简直可以忽略,所以可以不必考虑。

综合考虑,采用边缘检测的方法来识别黑线虽然比较繁琐,但是其记录的赛道信息较多,可以满足复杂控制的要求,可以在此基础上尝试更合理的算法,不失为一种比较理想的选择。

 /myspace/album/image.php?uid=9919&aid=372&pic=f99964b3&ext=jpg&screen=show

/myspace/album/image.php?uid=9919&aid=372&pic=c20cc5c7&ext=jpg&screen=show 

图7 十字交叉的黑线中心点的三种矩阵

 

参考文献(references)

[1]    卓晴,王琎,王磊.基于面阵CCD的赛道参数检测方法.2006.3

[2]    史忠科,曹力.交通图像检测与分析.北京:科学出版社,2007.4

[3]    俞斯乐等. 电视原理(第五版).北京:国防工业出版社,2000.

[4]   章毓晋编著. 图像处理和分析. 北京: 清华大学出版社, 1999.

[5]   阮秋琦编著. 数字图像处理学. 北京: 电子工业出版社, 2001.

[6]   崔屹编著. 图像处理与分析-数学形态学方法及应用. 北京: 科学出版社, 2000.

 

类别:设计技术 |
上一篇:HDMI/DVI/Display Port接口详细介绍 | 下一篇:中国将成为最难解雇职工的国家
以下网友评论只代表其个人观点,不代表本网站的观点或立场