改进的基于梯度场Hough变换机场道面地灯检测算法研究
2015-01-25陈柯宇曹晓光
陈柯宇,曹晓光
(北京航空航天大学 图像处理中心,北京 100191)
随着计算机视觉、人工智能技术的发展,利用计算机来替代人的工作成为了一种趋势[1]。现在国内机场道面的巡视主要通过人工完成,场务人员需要在规定时间和地点对整个机场道面进行检查,监测是否有异物或者破损存在。
地灯作为机场道面一种典型地物,影响着道面检测。为了将地灯从被识别道面病害和异物等关键目标区域中排除掉,从而检测异物提供便利,识别和定位出地灯对后续的道面异常检测至关重要[2]。
形状识别是图像处理和模式识别算法中的一个重要方法[3],Hough变换和它改进算法是对形状进行有效识别的方法[4-5],由于其对噪声不敏感,而且有较高的定位精度,受到极大的关注,能用其提取包括圆[6]在内的各种解析曲线,广泛用于机器视觉的各个领域。Hough变换于1962年由Paul Hough[7]提出,它所实现的是一种从图像空间到参数空间的映射关系。经典Hough变换由于其计算量大,占用内存大等缺点,Xu等人提出了随机Hough变换 (Randomized Hough Transform,RHT)[8],以上的改进方案都是在对图像很好的进行了边缘分割处理基础上进行的[9],还有很多其他的改进方案,例如本文所使用的基于梯度场的Hough变换进行圆检测[10-11]。
本文提出的改进的基于梯度场的Hough变换,不需要在边缘检测的基础上进行后续处理,同时克服了经典Hough变换计算量大占用内存大和算法耗时的缺点,能实现对圆的快速检测,由于采用先定位,后对半径估值的算法,对同心圆也有较好的检测效果。
1 基于梯度hough圆检测算法
1.1 累加矩阵
圆的一般方程为:
当先不考虑半径 z 的取值,把式(1)中的三变量(x,y,z)降维成仅有两变量 (x,y)所构成的有限范围的参数空间A(xp,yp),即是累加矩阵空间,累加矩阵空间与图像空间坐标是一一对应的关系,不同的是为了能够定位圆心处于图像坐标系以外的部分圆,对累加矩阵进行了拓展,扩展值与半径取值范围[rmin,rmax]相关,如式(2)所示,f(x,y)为宽高为和的图像矩阵,A(xp,yp)初始化为 0 矩阵。
在对圆进行检测的时候,往往需要得到该圆的边界信息,一阶导数可以求得其梯度。
图像 f(x,y)在(x,y)的梯度为如下方向:
梯度向量指向在坐标(x,y)的f的最大变化率方向,由向量分析得:
其中 θ(x,y)表示向量 Δf在(x,y)处的方向角,角度以 x轴正向为基准度量,边缘在(x,y)处的方向与此点的梯度向量的方向垂直,由梯度幅值得到梯度场G(x,y)。然后对梯度方向指定半径范围进行映射,把梯度值作为权重对梯度方向指定半径范围内的累加矩阵坐标进行投票,投票算法的公式如(5)式所示。
累加矩阵 Ap(xp,yp)投票如图 1(b)所示。
图1 累加矩阵Fig.1 Vote of accumulative matrix
1.2 圆心位置计算
得到累加矩阵需要进一步处理,简单平滑滤波后,再设计二维局部极大值滤波器进行滤波,设局部极大值二维滤波矩阵为 Sf(x,y)。
用该滤波器对累加矩阵进行卷积(式6)得到滤波结果Af(图2(a)),对其取阈值得到联通区域即为候选圆心区域(图2(b)中深色联通区域),由梯度幅值权重求候选联通区域的重心,该重心就是所求圆心,对联通区域 Tn(x,y),计算其圆心位置 On(xp,yp),公式如(7)式所示。
定位过程如图2中所示。
图2 圆心定位Fig.2 Location of circle
1.3 半径计算
由1.2节的算法估算出来拟定圆心位置On(xp,yp),搜索拟定圆心指定半径范围的梯度场 G(x,y),用一维累加向量 Ar(xr)累加半径,并且归一化得到 Anr(xr)(图 3中所示),算法如下:
图3 低通平滑后的一维累加器Fig.3 One-dimensional low-pass smoothing after accumulator
对一维曲线平滑滤波,以累加曲线的极大值作为此圆心对应半径,通过累加器差分的方法可以算出极大值点的位置,即是所求得半径,该半径算法对同心圆有很好的检测效果,具有一定的抗干扰性。
整个算法流程如下所示。
2 算法改进
实际工程中,会遇到如下问题:
1)会对除圆以外的形状有检测效果,近似圆心的其它目标会有干扰而引起误检。
2)白色条纹线和十字线干扰带来的误检。
3)标志线干扰带来的误检。
4)地灯处于边缘,不完整,检测中会漏检。
问题1是算法本身局限性引起的,由于是按照梯度幅值来投票的,对比度强的边缘会投权重更大的票,只有具有圆形轮廓的形状(正多边形),该算法都会有一定的检测效果。而针对问题2、3本文提出了一些图像预处理方法来抑制其影响,针对问题4)本文通过一种自适应阈值算法来提高处于图像边缘处不完整地灯的检测率。
2.1 预处理
图区里面较多的平行白色线条往往会影响检测,需要额外的预处理来消除其影响,对原图进行降采样,或者引入均值滤波来抑制平行条纹线或者十字线条的影响,图4中,(a)、(b)不同缩放倍数预处理对比可看出降采样可抑制平行条纹影响,而(b)、(c)中是否引入均值滤波处理对比可看出均值滤波对平行白色条纹干扰的抑制。
图4 预处理(图(a)中条纹峰值8000左右,图(6)中条纹峰值2800左右)Fig.4 Image preprocessing:((a)value of Stripe peak is about 8000;(b) value of Stripe peak is about 2800)
2.2 自适应阈值算法
对于图像边缘部分,地灯只有部分在圆内,用梯度场Hough变换得到的累加矩阵,边缘部分算出的圆心区域峰值比中间区域的圆心区域峰值弱很多,因此在检测的时候常常会把处于边缘部分的部分圆给检测掉,因此必须考虑到这一情况。
本论文设计了自适应阈值算法,建立模型对每幅图的不同区域,按照圆的不同完整程度进行阈值系数的修正。
3 实验验证及分析
实验图像取自郑州机场实际测试图,采用两台相机及配套电脑采集图像,根据采集相机不同,它们采集的图像分别称为一号机图库和二号机图库。本实验是对一号机图库和二号机图库在不同改进方案下进行的两次对比实验,样本按是否有地灯分成正负两组。
第一组负样本从一号机图库全部2 678张图中随机抽样出非地灯图500,从二号机图库全部8982张图中随机抽样出非地灯图500张。
第二组正样本从一号机图库全部5 230张图片中手工选取所有的有地灯图47张,从二号机图库全部13 746张图片中手工选取所有的有地灯图306张。
所有实验图像中最多有一个地灯,实验涉及到以下统计指标,它们在本文中的定义如下。
1)漏检率
3.1 算法初改进
在原算法基础上,仅对原图降采样和进行累加矩阵的拓展,实验结果如表1所示。
从表1的错误分析中可得出,主要存在的问题是平行白色条纹线对检测的干扰,对边界处造成的干扰尤为严重,该改进方案的优点就是能检测出大部分不完整圆和圆心在边界外的圆。
表1 初改进结果Tab.1 Test result of initial improvement
3.2 自适应阈值改进
在原算法基础上,预处理中采用均值滤波来消除平行条纹线的影响,另外还设计了自适应阈值算法,建立模型对每幅图的不同区域,按照圆的完整程度取不同的阈值系数。实验结果如表2所示。
由表2中统计结果,正负样本正确率均提高到95%左右,而且4个样本实验的正确率都比较接近,说明这种改进是极其有效的,白色条纹和标志线的干扰仍然是正确率不能进一步提高的主要因素。
4 结 论
文中根据机场道面检测的需求,介绍了利用梯度场的HOUGH变换对图像中地灯地物进行检测的方法,详细叙述了算法的整个流程,通过对算法的分析,结合实际情况对它做出适当的改进,降采样可以提高算法速度和削弱噪声干扰,均值平滑预处理可以抑制平行白色条纹以及标志线的影响,自适应阈值算法可以提高该算法对边缘部分地灯的检测率。通过对比实验表明,HOUGH变换有较高的检测率,而该改进算法提高原算法的检测率,达到95%正确率,基本满足了对道面路灯检测和定位的需要。
表2 自适应阈值改进结果Tab.2 Test result of adaptive threshold
[1]Cheng H D,Miyojim M.Automatic pavement distress detection system[J].Information Sciences,1998,108(1):219-240.
[2]Liu F,Xu G,Yang Y,et al.Novel approach to pavement cracking automatic detection based on segment extending[C]//Knowledge Acquisition and Modeling,2008.KAM'08.International Symposium on.IEEE,2008:610-614.
[3]Yang M,Kpalma K,Ronsin J.A survey of shape feature extraction techniques[J].Pattern recognition,2008:43-90.
[4]Leavers V F.Which hough transform[J].CVGIP:Image understanding,1993,58(2):250-264.
[5]Illingworth J,Kittler J.A survey of the Hough transform[J].Computer vision, graphics, and image processing,1988,44(1):87-116.
[6]Davies E R.A modified Hough scheme for general circle location[J].Pattern Recognition Letters,1988,7(1):37-43.
[7]Hough P V C.Method and means for recognizing complex patterns[J].USpatent,1962,3(69):654.
[8]Xu L,Oja E,Kultanen P.A new curve detection method:randomized Hough transform (RHT)[J].Pattern recognition letters, 1990, 11(5):331-338.
[9]Ioannou D,Huda W,Laine A F.Circle recognition through a 2D Hough transform and radius histogramming[J].Image and Vision Computing,1999,17(1):15-26.
[10]Kimme C,Ballard D,Sklansky J.Finding circles by an array of accumulators[J].Communications of the ACM,1975,18(2):120-122.
[11]Kierkegaard P.A method for detection of circular arcs based on the Hough transform[J].Machine Vision and applications,1992,5(4):249-263.