APP下载

基于Gabor滤波和稀疏表示的信号灯类型识别

2018-09-14谨,应

电子科技 2018年9期
关键词:背板信号灯字典

田 谨,应 捷

(上海理工大学 光电信息与计算机工程学院,上海 200093)

交通信号灯的检测与识别是汽车辅助驾驶系统的重要组成部分。近年来,国内外学者对信号灯的检测与识别进行了大量研究[1-9,12-15]。文献[1]提出在YCbCr空间实现颜色分割并结合形态滤波定位信号灯,通过Gabor小波变换及2DICA算法及最近邻分类器实现箭头方向分类。文献[2]提出结合亮度分割、K均值聚类及前景直方图的交通信号灯识别方法。文献[3]采用自适应背景抑制与支持向量机识别圆形和箭头形信号灯。文献[4]采用快速径向对称变换检测圆形信号灯。文献[5]采用自适应模板匹配进行信号灯检测与识别。文献[6]采用高斯建模和训练分类器实现信号灯检测与识别。文献[9]采用Gabor结合PCA的特征提取方法进行箭头形信号灯识别。

目前仍存在难以解决的问题,例如图像颜色失真、信号灯变形及残缺、面积小而边界模糊的信号灯图像,给准确检测与识别带来困难。本文提出一种信号灯检测方法和Gabor滤波结合稀疏表示的信号灯识别方法。

1 交通信号灯检测

信号灯检测流程如图1所示。图像预处理包括中值滤波、顶帽变换和图像截取处理。顶帽变换去除图像中面积较大的均匀区域,截取图像上半部分可以减少汽车尾灯的干扰。首先采用基于形状特征的信号灯检测方法。检测信号灯的矩形背板及背板中的高亮度区域。如果检测不到信号灯的背板,采用基于亮度的检测方法,在图像中搜索亮度高的类圆形区域。背板检测通过阈值分割、连通域和形态学处理,以及类矩形检测实现,矩形度计算公式见式(1)。选择矩形度范围在0.8~1.0,长宽比范围2.8~3.4以及区域面积在500~5 000像素的类矩形区域,然后对类矩形区域取最小外接矩形作为候选信号灯背板。在背板内进行亮度分割,对高亮度区域进行类圆形检测,圆形度计算公式如式(2)所示。提取圆形度范围在0.6~1.0且面积在100~800像素的类圆形区域作为候选信号灯。根据检测距离调整类矩形和类圆形区域面积的阈值。

图1 交通信号灯检测流程图

(1)

其中,Px是矩形度;As是检测区域面积;Ar是最小外接矩形的面积。

(2)

其中,C是圆形度;L是检测区域的周长;A是检测区域的面积。

2 交通信号灯颜色识别

为减小图像颜色失真带来的误差,本文首先通过矩形背板和发光区域位置关系判定信号灯颜色。若未检测到背板,再采用RGB结合HSV颜色空间判定信号灯颜色的方法。矩形背板与发光区域位置关系判定信号灯红绿状态如式(3)~式(5)所示,分别是信号灯红色、黄色和绿色的判定公式。

(3)

(4)

(5)

其中信号灯发光区域的中心坐标为(x0,y0),其背板坐标为(x1,y1),w与h分别是矩形背板的宽度与高度。

采用RGB结合HSV颜色特征值判定时,取信号灯区域内像素颜色平均值。用R、G、B和H分别代表检测出的信号灯区域内R、G、B和色度H分量的平均值,h1、h2、t1和t2为根据实验确定的阈值,信号灯颜色判定方法如下:若Ht2,判定为红灯;若h2h1且G>t1,为绿灯。实验中取h1=80,h2=30,t1=200,t2=80。采用RGB结合HSV颜色空间的方法可以减小单纯采用一种颜色空间时的识别误差。

3 交通信号灯类型识别

本文采用Gabor和稀疏表示的方法对圆形和4种箭头形信号灯(左、右、直行和转弯)进行类型识别,流程如图2所示。

图2 交通信号灯类型识别流程图

其中感兴趣区域即检测出的信号灯。将信号灯图像分为训练图像和测试图像,首先对图像进行Gabor滤波,然后对训练图像采用K-SVD(K mean - Singular Value Decomposition)算法进行字典学习,形成过完备字典。对测试图像利用OMP(Orthogonal Matching Pursuit)算法求解稀疏系数。利用稀疏系数与训练好的过完备字典进行图像重构,获得与各交通信号灯类别对应的重构图像。根据测试样本与各重构图像间的残差判定测试样本所属交通信号灯类别。

稀疏表示[10-11]利用训练样本的线性组合对测试样本进行描述,把交通灯的方向判别变成对多个线性回归模型的分类。训练样本图像集合表示为式(6)。测试样本y如式(7)所示。所有训练图像结合形成字典D,如式(8)所示。

Di=[vi,1,…,vi,ni]∈Rm×ni

(6)

y=αi,1vi,1+αi,2vi,2+…+αi,nivni

(7)

D=[D1,…,Di,…Dk]=
[v1,1,…vi,1,…,vni,…,vk,nk]∈Rm×N

(8)

其中k是交通灯的类别,nk是属于第k类的训练样本数量,N是训练样本总数。测试样本y可用式(9)描述

y=Dx

(9)

基于稀疏表示的分类方法主要是根据测试样本在各个类别中的重构误差来判断,如式(10)所示。

(10)

式中Di为第i类训练样本。利用稀疏表示进行交通信号灯类型识别的流程如下:(1)输入训练样本集合以及测试样本;(2)对字典D中各列进行归一化处理,对y进行稀疏编码;(3)逐一计算y于每个类型中的重构误差;(4)通过比较重构误差,实现测试样本y类型的判别。

4 实验结果

4.1 信号灯检测结果

信号灯检测结果如图3所示。检测出的信号灯背板和信号灯区域如图3(b)和图3(c)所示。信号灯背板检测不出时,直接在图像中获取高亮度区域。经过连通域判定与形态学处理,将区域像素面积在阈值范围内的类圆形区域判定为候选交通信号灯。

图3 信号灯检测结果

4.2 信号灯类型识别结果

实验中对圆形、箭头形向左、向右、向前和转弯4种方向信号进行识别灯。检测到的信号灯区域经过预处理和归一化处理后,变为为16×16大小的图像。然后进行Gabor小波变换,通过实验确定滤波器尺度S=4,方向K=6,卷积模板取5×5的Gabor滤波器对图像进行滤波,提取交通信号灯的幅值特征。对箭头形交通信号灯进行描述得到的结果如图4所示。为减小数据量,对每幅图像经过Gabor滤波后生成的S×K幅图像,进行加权平均处理,使滤波的结果还原为一幅图像。

图4 箭头形交通信号灯的Gabor描述

每种类型信号灯取500幅图像,共2 500幅进行字典训练。字典训练过程主要与稀疏度、字典个数和迭代次数3个参数相关,不同稀疏度生成的字典不同,图5为字典个数取60,迭代次数为40,稀疏度为10的实验结果。不同稀疏度和字典个数训练出的字典识别率不同,本实验取稀疏度T=10,字典个数D=200,此时训练的字典识别率较高。

图5 稀疏度为10时生成的字典

字典学习之后,利用OMP算法对测试样本的稀疏系数进行求解。通过重构的方式求取测试样本与重构图像的残差,实现交通灯的分类。信号灯识别结果如表1所示,实时性为平均每帧86 ms。文献[3]提出的信号灯检测方法,平均正确率为92.2%,召回率(Recall)为94.69%,平均处理时间为15 fps。文献[4]提出的红黄两色灯检测的正确率为84.93%,召回率为87.32%。文献[9]提出了采用主成分分析法(PCA)与独立分量分析(ICA)方法进行交通信号灯类型识别的方法,信号灯识别准确率小于本文结果。实验结果表明,基于稀疏表示的信号灯识别算法准确率和实时性较好。

表1 基于稀疏表示算法的交通灯检测与识别结果

5 结束语

本文采用检测类矩形包含类圆形区域和高亮度区域筛选的方法实现信号灯检测。交通信号灯红绿状态的识别采用形状特征和RGB结合HSV颜色特征的判定方法,颜色识别率达到了99.5%,实时性为每帧86 ms。提出了Gabor滤波结合稀疏表示的交通信号灯类型识别算法,对圆形和4种箭头形信号灯的类型识别正确率达到98.75%,漏检率为0.75%,虚警率为1.17%。实验结果表明,本文提出的算法信号灯检测与识别准确率较高。对信号灯区域面积过小的图像检测错误率较高,算法耗时较多,需要进一步研究,改善算法性能。

猜你喜欢

背板信号灯字典
乐凯太阳能电池背板:强劲支持光伏产业
字典的由来
交通信号灯
信号灯为什么选这三个颜色?
光伏含氟背板隐忧
我是小字典
正版字典
安装在路面的交通信号灯
层压过程对背板粘接涂层的影响
播放器背板注塑模具设计