0 引言
井盖缺失和破损对正常的行车造成了巨大安全隐患。井盖检测系统对于智能辅助驾驶具有很高的应用价值。近些年,对于椭圆检测的课题研究,国内外都取得了突出成果,并广泛应用在钢管数统计[1]和表盘识别[2]场景中。行车记录仪拍摄与地面存在夹角,圆形井盖在成像时竖直方向发生不同程度的缩放,最终呈现出椭圆状。据此,理论上可将路面井盖的检测转换为对椭圆的检测,但实际操作中,一方面由于数字图像成像的特殊性,目标边缘往往呈现出锯齿状堆积,而非光滑的弧段,如图1所示,通过单像素点的提取来拟合出椭圆,往往由于取点难度大,导致错拟合;另一方面,复杂的道路场景中,背景变化较快,存在过多的干扰因素,如噪点以及物体遮挡等造成的弧段不连续问题,单纯利用边缘特征,无法快速将其从复杂背景中分离出来[3-5]。
本方案将从宏观特征入手,充分考虑方法实现的实时性和准确性,类比人的认知规律,提出新的井盖检测框架。
1 方案概述
为保障实时处理速度,在研究高效算法的基础上,还需要配套的硬件设备。如图2所示,系统主要由3部分组成:摄像头、主机板卡、7英寸LCD显示屏幕。
不同时刻井盖的定位虽然可以通过目标跟踪的方法减少一定的计算量,但是该方法每次仅在上一帧图像的极窄区域内进行搜索,对道路中出现的突发状况难以做到及时预判。全检测的方法可以对每帧图像的细节信息进行处理,对画面的实时变化敏感。
2 硬件系统构成
TMS320DM6437是TI公司C6000系列中支持达芬奇技术的数字媒体处理器,工作频率最高可达600 MHz,能达到4 800 MIPS的峰值计算速度,片上集成了视频处理子系统VPSS,极大地支持了前端预处理与后端显示,减轻DSP核负担;支持汽车上用于电子设备通信的控制器局域网络(Controller Area Network,CAN)总线,非常适合车载视频设备的开发应用。
主机板卡包括视频输入模块、外围存储模块、视频输出模块、通信接口和电源模块。
视频输入/输出模块:前端采用TVP5146视频解码芯片,将CCD摄像头拍摄的画面进行A/D采样和压缩编码;后端通过编程,实现多种标准输出。
外围存储模块:外扩了2 GB的DDR2和128 MB的Flash,用于数据和程序的存放。
通信接口:通过JTAG接口对板卡进行调试,预留了可以接入汽车的CAN总线接口。
3 核心算法的实现
本部分主要算法流程如图3所示。
3.1 感兴趣区域的确定
限定感兴趣区域,可大大提高系统的处理速度[6],通常以车道线作为限定参考。当前,车道线的检测技术层出不穷,但在速度和准确率上仍然难以达到平衡。另一方面,在超车或转弯,乃至某些无交通限制的区域,由于驾驶人的主观操作,车辆已非严格地限制在车道线间。因此,需要关注如何以车辆本身参考建立一个统一模式,以应对不同路况,淡化对车道线信息的依赖。
上边界限定:图像上部1/4范围常为背景天空和树木,且与车辆本身距离较远,为非关注区域。
左右边界限定:在透视模型中,当车道线保持平行时,透视图像中所有车道线的延长线必交于一点。假设已通过相机标定技术得到了实际世界坐标系和图像坐标的位置对应关系,那么,便可在图4(a)的俯视图中划定现实世界中的研究区域[7]。
d为行车中r时间内可能达到的左右偏移:
最终,通过3条相交线段,划定出如图4(b)成像图中的梯形感兴趣区域。针对不同的场景(车、道路、行车记录仪广角和安装高度),区域限制略有差别,但都可以通过其他操作进行矫正。
3.2 候选目标的确定
连通区域分析在视觉跟踪中的运动前景目标分割与提取、感兴趣目标区域提取中有着广泛应用[8]。目标往往存在于纹理密集、颜色或灰度突变处,可据此进行连通区域分割。实际道路场景中,光影交错,仅通过灰度图得到的二值化图像来进行连通区域的提取,极易造成区域间粘连,为了获得较好的效果,常结合腐蚀和膨胀操作进行区域提取。然而,该操作一定程度弱化了边缘信息,对于井盖,不太关注内部的特征(井盖表面的纹理),而是关注更为突出的边缘信息。同时,以边缘的连通性取代整个区域的运算,能有效避免光照不均匀的影响,加上合理的阈值设置,初期便可以排除一些噪点,整体更具鲁棒性。
标记算法往往因遍历方式和次数的不同,存在时间或效率的差别。两次遍历算法,通过一次遍历图像,记录连续的团和等价对,进而由等价对对图像进行第二次遍历标记,具有比较高的效率(在二值化图像中,1为目标,0为背景)。主要步骤如下:
定义结构体
typedef struct Fx
{int val;
int lab;
int flag;
} F;
为便于描述,以F(x,y)代表坐标(x,y)处像素的属性列表;val为二值化值;lab为标签值,用来记录连通区域的索引号;flag为归属标志,记录标签间的相邻位置关系。
(1)第一次遍历
当F(x,y).val==1:
如果F(x,y)的邻域中像素值都为0,则赋给F(x,y).lab一个新的label值:label=label+1,F(x,y).lab=label;
如果F(x,y)的邻域中有val值为1的像素集合A:
将A中label最小值赋予给F(x,y).lab,即F(x,y).lab=min A.lab;
用flag记录A中各个值(label)之间的同属关系,即labelSet[i]={label_m,…,label_n},labelSet[i]=flag。
(2)第二次遍历
访问当前F(x,y).val 为1的像素点,找到与 F(x,y).lab同属(具有相同flag)的最小label值,赋予F(x,y).lab;
完成扫描后,图像中具有相同label值的像素就属于同一个连通区域。
针对图1(a)中实际场景处理的边缘提取图,采用连通域区域标记,得到的最小外接矩形,如图5所示。
该矩形框进一步锁定了候选目标的位置。由于原图像中包含更多的细节信息,应进一步考察原灰度图像中相应位置处的特征。
3.3 多特征的判定
合理地选择特征,可以有效区分井盖与背景,简化操作,降低复杂度。
边缘特征:井盖边缘常呈现较大的弧弯曲,且长度需大于某一阈值T,才对整体轮廓提取有贡献。
灰度特征:人的视觉往往容易被颜色、灰度、纹理特征突变目标吸引。井盖的灰黑铸铁材质,颜色较周边路面暗。
对称性特征:井盖在视场下呈现椭圆状,在水平方向和垂直方向都有严格的对称性。以水平方向对称性判别为例,通过式(3)来度量一定区域内目标的对称性。
其中,f(x,y)为(x,y)处的灰度值;H和W分别为所选区域的高度和宽度;Gs为对称性度量值,Gs越小,对称性越明显,通常阈值设为0.15。
区域大小和纵横比约束:井盖有固定的大小规格,这就决定了其在视场中所呈现的区域面积不可能过大或过小;另外,由于拍摄角度所引起的成像畸变,椭圆水平轴较长于竖直方向的轴长,引入纵横比约束,以横竖轴长比值ratio为度量,并以一定阈值T设限,用来排除其他类圆形干扰物,如自行车轮胎。通过对多种分辨率的行车记录仪视频统计对比,在5~30 m范围内,T通常在1.8~4.2范围内。
TI公司针对TMS320DM6437平台提供了一个简单的DSP/BIOS实时操作系统环境。在该系统中,可以通过编写mini-Driver驱动程序,实现对视频采集/显示设备的控制,如图6所示。为优化程序处理,可借助TI公司提供的VLIB和IMGLIB库进行代码的辅助编写。
4 实验结果与分析
对行车记录仪拍摄的一段时长33 s的视频进行测试分析,共计823帧图像,单帧图像分辨率为720×480。
利用本文方法,在DM6437平台上处理,视频显示无卡顿,满足处理实时要求,但在某些场景中,因边缘信息不完整,连通性削弱,常发生漏检,而误检多发生在类圆形的阴影处。对于宏观特征区域连通法,由于晴朗日光下树木等物体影子与井盖灰度相近,当难以有效利用阈值将粘连分开时,便造成定位偏差,且漏检较多。基于边缘的椭圆拟合,在边缘提取和车道线检测部分消耗了大量时间,同时该方法受场景复杂度影响明显,不同帧之间的处理时间差别很大。测试结果如表1所示。
部分测试结果如图7和图8所示。本文方法在其他场景下的检测效果如图9所示。在多数场景下,该方法均能快速准确定位出井盖位置。
5 结论
本文采用一种多特征融合的方法,对车辆前方井盖进行检测,利用边缘的连通性,得到目标的候选区域,通过对称性、区域大小、长宽比等特征层层筛选,可以很好地进行井盖目标的定位。
该方法从宏观特征出发,避免了细节信息处理的耗时,有效地提高了检测速率,且具有较高的检测准确率。然而该方法对边缘检测的依赖性较强,可能会因为边缘提取的偏差,造成误差效应的累积。因此,如何寻找更为有效的特征信息,提高算法效率,是将来研究的重点。
-
检测系统
+关注
关注
3文章
947浏览量
43011
发布评论请先 登录
相关推荐
评论