霍夫变换在智能车竞赛中的应用

2015-04-29 14:57于洪
工业设计 2015年10期

于洪

摘 要:本文以智能车摄像头所拍下的图像,利用霍夫变换在图像识别中的应用求出直线和弯道,并求出弯道的半径和圆心,进而控制小车速度,以最佳速度通过赛道。

关键词:霍夫变换;智能车;测圆半径

飞思卡尔杯全国大学生智能车竞赛从2008年起被教育部批准列入国家教学质量与教学改革工程资助项目中科技人文竞赛之一(教高函[2007]30号文)。对于智能车的控制,现在主要有电磁、光电和摄像头三种,其中基于摄像头的控制最有实用性和发展性。当智能车的摄像头获取一幅图像之后,需要对图像数据进行处理,然后对图像的内容进行分析、理解并从中抽取对智能车有用的信息。一般直线问题不大,关键是在弯道部位小车的速度控制。我们希望能有一种控制方法,让小车能以弯道允许的最大速度通过。本文提出一种基于边缘检测和Hough变换的弯道检测办法,只要求出弯道半径后,其最大允许速度也就可以求出。图像中会存在大量的干扰,我们可采用空间域中的中值滤波法滤除脉冲干扰及图像扫描噪声,但又不会引起图像细节模糊。

1 工作原理

霍夫变换是我们在数字图像处理中从图像中识别基本几何形状的方法,应用很广泛,也有很多改进算法。Hough变换于1962年由Paul Hough提出,并在美国作为专利被发表。它实现的是一种从图像空间到参数空间的映射关系。由于具有一些明显优点和可贵性质,它引起了外学者和工程技术人员的普遍关注。例如,它可以根据局部度量来计算图像的全面参数,所以对于图形边界被噪声干扰或被其他目标遮盖而引起边界发生间断的情况,它具有很好的容错性和兼容性。多年来,专家们对Hough变换的理论性质和应用方法进行了深入而广泛的研究, 取得了许多成绩。

Hough基于点—线的对偶性,即在图像空间(原空间)中同一条直线上的点对应在参数空间(变换空间)中是相交的直线。反过来,在参数空间中相交于同一点的所有直线,在图像空间中都要有共线的点与之相对应。

通过霍夫变换,可以将图像空间中直线的检测问题转化为参数空间中点的检测问题。而参数空间中点的检测只要进行简单的累加统计就可以完成。这样我们就可以方便地求出一条直线的方程。

如图:

在实际应用中,y=k*x+b这种直线方程不能够表示x=c形式的直线(因为这时直线的斜率为无穷大)。所以实际应用中,是采用极坐标方程p=x*cos( )+y*sin( )。这样,图像平面上的一个点就对应到参数p--- 平面上的一条曲线上,效果还是一样。

当我们要检测某一未知半径的圆的时候,我们选择与原图像空间同样的空间作为参数空间。可以看作是有三个参数的圆的检测,中心和半径。这个时候原理仍然相同,只是参数空间的维数升高,计算量增大。图像空间中的任意一个点都对应了参数空间中的一簇圆曲线。其实是一个圆锥型。参数空间中的任意一个点对应了图像空间中的一个圆。

(a)图像空间                                                            (b)参数空间

图1 图像空间和参数空间

2 软件设计

下面是我们利用极坐标表示圆的一种算法流程。将小车摄像头所报图像灰度化,二值化(注意:二值化的结果对检测结果有很大影响,所以常要求做去噪处理,常用的有SOBEL算子)检测图像的边缘点,并保存其坐标。设置角度 的变化范围和步长及半径R的变换范围和步长。

利用公式x=a+Rcos(   ),y=b+Rsin(   )求出a和b的值。(注意:x和y为实际的图像空间某个边缘点的坐标,而a和b为其对应的参数空间的坐标),如果a和b的值在合理的范围之类,则对该位置进行累加。

该算法通过a = x-R*cos(   ),b = y-R*sin(   )将圆图像中的边缘点映射到参数空间(a,b,R)中,由于是数字图像且采取极坐标,  和R都取一定的范围和步长,这样通过两重循环(  循环和R循环)即可将原图像空间的点映射到参数空间中,再在参数空间(即由许多小立方体组成的大立方体)中寻找圆心,然后求出半径坐标。

下面是我们用Matlab写的程序:

其中TX:二值图像; step_R:检测的圆半径步长  ; step_     :角度步长,单位为弧度;R_min:最小圆半径 ;R_max:最大圆半径; p:以p*hough_space的最大值为阈值,p取0,1之间的数

图2程序图

3 实验结果

图3原图                                                    图4二值化后的图

图5边缘检测后                                                  图6检测结果

检测结果:CenteR 62 59 Radius 52

4 结语

此程序经实际运用可以比较可靠的得到圆的半径,只要再将半径和小车车轮转弯角度联系起来,就可以以比较快速的速度通过转弯区域。

参考文献:

[1] 曾接贤,王斌斌,陈志良.基于距离约束的随机Hough变换直线检测算法[J].南昌航空大学学报: 自然科学版.2011(03):7-11.

[2] 王明佳,张旭光,王延杰.利用广义霍夫变换对相交目标进行轨迹预测[J].光学技术.2006(03):428-430.

[3] 王志明,唐冬梅,袁晶,等.童车变形量图象处理中的霍夫变换的优化[J].机械设计与制造.2012(07):76-78.

[4] 谢季峰.基于霍夫变换的划痕检测算法应用[J].电脑知识与技术.

2012(20):4957-4958.

[5] 曹毓,冯莹,杨云涛,等.RANSAC直线估计方法在路面三维点云优化中的应用[J].红外与激光工程.2012(11):3108-3112.

[6] 夏奇,周明才,汪宏昇,等.高精度自动贴片机视觉对准系统及其图像处理[J].光学技术.2004(02):146-149.

[7] 林蓁蓁,李庆,梁艳菊,等.一种基于路径规划的自动平行泊车算法[J].计算机应用研究.2012(05):1713-1715.

[8] 叶炜垚,王春香,杨明,等.基于虚拟障碍物的移动机器人路径规划方法[J].机器人.2011(03):273-278.

[9] 高德芝,段建民,杨磊,等.应用多阶动态规划的车道线识别方法[J].机械工程学报.2011(08):141-145.

[10] 王道斌,梁华为,杨妮娜,等.两种自主泊车路径规划方法的对比研究[J].电子测量技术.2011(01):27-30.

[11] 林国余,陈旭,张为公.基于多信息融合优化的鲁棒性车道检测算法[J].东南大学学报: 自然科学版.2010(04):771-777.

[12] 刘富强,张姗姗,朱文红,等.一种基于视觉的车道线检测与跟踪算法[J].同济大学学报: 自然科学版.2010(02):223-229.

[13] 任孝平,蔡自兴.基于阿克曼原理的车式移动机器人运动学建模[J].智能系统学报.2009(06):534-537.

[14] 张巧荣,顾国昌,肖会敏.视觉选择性注意计算模型[J].机器人.

2009(06):574-580.

[15] 郭磊,李克强,王建强,等.应用方向可调滤波器的车道线识别方法[J].机械工程学报.2008(08):214-218.

本文系基金:海南省自然科学基金(60097),研究成果。