小型光电跟踪系统中基于Hough变换的形状检测
2014-05-02窦丽华
张 佳,陈 杰,窦丽华
(北京理工大学 自动化学院,北京 100081)
光电跟踪系统是光电跟踪设备的重要组成部分[1],是以激光传感器和光电传感器为核心,将光学技术、电子、微电子技术、计算机技术以及精密机械技术等融合一体的具有特定信息功能的高科技设备。视频图像跟踪技术充分利用了高分辨率图像信息,具有无源工作隐蔽性好、抗电磁干扰[2]、目标分辨力强、跟踪精度高以及灵活性好等特点[3]。
近年来,结合前沿实验研究来提高学生的实际动手能力和理论水平[4]是实验课程建设的一个重要方向。因此,本文结合光电跟踪系统所涉及到的图像处理[5]和智能控制[6]等方面的问题开设了光电跟踪系统实验课程[7]。
1 REVS-50M小型光电跟踪系统
光电跟踪系统实验课所用的实验设备是深圳市元创兴科技有限公司设计制作的REVS-50M小型光电跟踪系统。该系统是一个开放的实验平台,采用通用运动控制器和计算机作为控制系统,对运动目标进行实时检测与跟踪。光电跟踪系统由图像采集设备、激光测距设备、转台和手动靶标4部分组成。操作人员控制手动靶标进行前后、左右、上下3个自由度的运动,摄像头对图像进行采集并将信息传送到计算机中进行处理,然后将得到的控制信号输入到转台,实现转台对黑色圆形手动靶标的实时跟踪。手动靶标如图1所示。
该系统软件初始部分中图像处理模块使用颜色阈值[8]的方法来检测手动靶标以实现目标跟踪。即对采集到的图像进行二值化处理,得到黑白图像,当二值图像中仅存在圆形靶标时,通过掏空该二值图像内部点的方式实现轮廓提取而得到圆的轮廓,再通过质心法对轮廓上所有点的坐标求平均值,得到圆心坐标,从而实现圆心定位并达到跟踪的目的。该方法对图像背景的要求非常高,因此很容易受到干扰。因为只有当背景图像中所有其他物体的颜色与靶标的颜色存在较大对比时,才能通过调节二值化阈值、摄像头的快门参数以及对比度使得采集到的图像经过二值化处理后只留下黑色实心圆,并得到圆心坐标。如果光照条件很差、对比不明显,或者在跟踪过程中有相同或相近颜色的物体进入图像检测区时,就很有可能造成误检测,从而引起误跟踪。尤其是人操作手动靶标时会经常进入到图像检测的区域,由于人的头发颜色与靶标颜色非常相近,转台经常会错误地跟踪人的头发而造成误跟踪,为实验操作带来很大的麻烦。本文为解决这个问题,对系统的软件部分进行了改进,提出采用Hough变换检测圆形的方法来检测手动靶标。
图1 手动靶标
2 图像边缘检测
边缘是图像局部亮度变化最显著的部分,是图像的最基本特征。边缘检测被视作图像分析和理解所要做的第一步[9]。本系统中,采用 Canny[10]算子来进行边缘检测。Canny算子从本质上来看,在判断一个像素点是否为边缘时考虑了其他像素对该像素的影响,并不是只通过简单的梯度计算来决定。而且,其对边缘点进行搜索时还会充分考虑前面处理过的像素,所以Canny算子并不是简单的边界跟踪。应用Canny算子对靶标进行边缘检测的结果如图2所示。
Canny算子比Roberts算子、Sobel算子和拉普拉斯算子更能平衡好去噪声和边缘检测之间的关系,能够检测到较弱的边缘而且得到的边缘宽度很细。
3 基于Hough变换的圆形目标检测
3.1 圆的Hough变换基本原理
Hough变换[11]利用图像空间到参数空间的映射关系来进行几何形状识别。点与线的对偶性是传统Hough变换的基本思想。
图2 用Canny算子对靶标进行边缘检测的结果
对圆的Hough变换可以从对直线的Hough变换推广得来[12]。圆的基本参数则是圆心坐标和半径。若待确定的圆上点的集合为{(xi,yi)|i=1,2,…,n},且该圆圆心为(a,b)、半径为r,则在图像空间中该集合满足方程:
如果(x,y)是上述集合中一点,那么这点在参数坐标系(a,b,r)中的方程为
上式确定了一个三维锥面,如图3(a)所示。因此,在图像空间中圆上的每一点(xi,yi)在参数空间中都有一个三维圆锥与之对应。而这些三维圆锥都交于同一点(a0,b0,r0),如图3(b)所示。该交点中的a0、b0对应图像空间中的圆心坐标,而r0对应圆的半径。
图3 图像空间中圆上的点在参数空间中的表示
3.2 常规Hough变换的圆形检测
由上述圆的Hough变换基本原理可知,图像空间中圆上的每一点在参数空间中都是一个圆锥面,且所有圆上点对应的圆锥面在参数空间中交于一点,且该点对应图像空间中圆的3个参数。因此,可以利用这个性质得到Hough变换检测圆的算法。
首先考虑圆半径已知的情况。当圆半径r是已知量的时候,三维累加器降为二维的。基本步骤为:
(1)获取边缘图像的指针;
(2)开辟一块相同大小的数据缓冲区作为累加器,且初始化为0,即累加器初始值全部为0;
(3)对图像的每个像素点进行循环,判断当前像素点灰度值是否为0。若为255则不是边缘点,直接跳过此次循环;若为0表示是边缘点,以当前点为圆心,以已知半径画圆(注意此处要做特殊处理防止越界)。同时将数据缓冲区中与该圆上每一点对应的每一个累加器的数值都加1。当每一个边缘点都作为圆心画过圆后循环结束;
(4)找出数值最大的累加器,其对应的坐标即为图像空间中的圆心坐标;
(5)将数据缓冲区所有数据置255,作为图像缓冲区。以第4步中求得的圆心坐标为圆心,以已知半径为半径画圆(即把离圆心坐标的距离为半径长度的点的灰度值置0);
(6)用数据缓冲区覆盖原来的边缘图像,最后删除数据缓冲区。
3.3 圆形检测结果及分析
已知半径圆的Hough变换,实验结果如图4所示。
图4 已知半径圆的Hough变换实验结果图
由图4可知,经过已知半径圆的Hough变换处理后,能够从边缘图像中提取出圆形靶标。但是图像区域的圆形存在很明显的波动,图中右边的圆形实际上是在不断上下小幅度跳动的,如果边缘效果再差一些,则会出现更为严重的跳动,因此定位的精确度并不是很高。
对于未知半径圆的Hough变换,则累加器是三维的,实验结果如图5所示。
图5 未知半径圆的Hough变换实验结果图
由图5可知,经过未知半径圆的Hough变换处理后,能很好地从边缘图像中提取出圆形靶标。和已知半径圆的Hough变换不同,此次提取出来的圆形几乎不存在波动,准确性大大提升,不过代价是处理过程更加繁琐,代码运行时间变长。在背景较为简单的情况下,对未知半径圆的Hough变换处理的准确性和快速性都完全符合要求。
3.4 跟踪结果及分析
首先,打开光电跟踪系统的摄像头,默认画面为原始图像;用手转动摄像头对靶标进行调焦,直到画面变得清晰。此时可以在图像中清楚地看到黑色实心圆形靶标,如图6所示。
图6 原始图像
然后,在图像处理区域中选择边缘检测按钮,并调整快门,直到得到较好边缘图像,如图7所示。
图7 边缘检测图像
选择Hough变换按钮,检测出图中的圆形如图8所示。单击图像处理按钮,并选择原始图像按钮,得到的图像如图9。
图8 Hough变换检测圆形
如图9所示,图像显示区中的图像上会出现一个白色的十字分划,该十字分划用来标定检测出的圆的圆心位置。当圆形靶标进行上、下、左、右、前、后6个方向上的移动时,十字分划会一直跟随图像上的圆形靶标运动,实现准确的跟踪,即使人因为操作手动靶标进入图像检测区域,也不会像以前一样造成误跟踪。
图9 图像处理后图像
4 结束语
采用常规Hough变换对圆形手动靶标进行检测,消除了由于颜色阈值检测方法产生的误跟踪问题,实现了转台的准确跟踪,为光电跟踪系统实验课程创造了良好的实验条件。但是该方法仍存在目标定位精度不够高的问题,需要继续进行完善和改进。
(
)
[1]包启亮.光电跟踪系统高精度控制技术[D].成都:电子科技大学,2004.
[2]卢国良.综合自动化系统的抗电磁干扰[J].科技资讯,2013(12):111-112.
[3]深圳市元创兴科技有限公司.光电跟踪成像系统使用说明书[M].深圳:深圳市元创兴科技有限公司,2011.
[4]闫连山,潘炜,罗斌,等.结合前沿实验研究提高研究生培养质量的探索[J].实验技术与管理,2011,28(3):5-6.
[5]蒋伟,杨庭庭,刘亚威,等.数字图像处理研究性实验教学的改革与实践:基于分数阶偏微分的图像边缘检测[J].实验技术与管理,2013,30(6):124-128.
[6]罗兵,甘俊英,张建民.智能控制技术[M].北京:清华大学出版社,2011.
[7]张佳,窦丽华,陈杰.基于光电跟踪系统的系列实验开发[J].实验室科学,2012,15(6):40-43.
[8]李云红,屈海涛.数字图像处理[M].北京:北京大学出版社,2012.
[9]贾云得.机器视觉[M].北京:科学出版社,2000.
[10]焦玉斌,徐艳蕾,陈喜龙.图像分割研究综述[J].科技创新导报,2009(13):11.
[11]Hough PVC.Method and means for recognizing complex:United States,3069654[P].1962.
[12]朱桂英,张瑞林.基于 Hough变换的圆检测方法[J].计算机工程与设计,2008,29(6):1462-1464.