第一作者:宋永超(1990—),男,山东威海人,博士生.研究方向为交通信息工程及控制.email:2015132047@chd.edu.cn.
车辆自动驾驶已成为智能交通系统发展的必然趋势,红绿灯识别研究扮演着极为重要的角色.针对大多数红绿灯识别算法中没有充分考虑同种颜色不同位置红绿灯存在的颜色差异问题,提出了基于色度方向角的离线红绿灯识别算法.首先手工标定不同场景下的红灯、绿灯色块组成红灯、绿灯集合图,将集合图RGB空间转换为几何均值对数色度空间;然后根据香农熵确定红灯、绿灯各自的色度方向角,得到各自的色度方向图;其次根据红灯、绿灯色度方向图确定出红灯、绿灯分割阈值,建立红绿灯识别分类器;最后根据识别分类器将不同图像序列中的红绿灯识别出来.实验结果表明: 该算法在LARA、LISA标准集上均获得很好的识别结果,识别精度高,能满足实际红绿灯识别的实时性要求.
As automatic driving becomes an inevitable trend in the development of intelligent transportation system, traffic light recognition is a significant research project. Currently, the problem that traffic lights show chromatic aberration at different locations is not fully considered in most of traffic light recognition algorithms. Therefore, this paper proposes an offline traffic light recognition algorithm based on the chromaticity direction angle. First, a collective image of red and green lights by manually calibrating color lumps of these lights is worked out under different scenes and the RGB space of the image is converted into the geometric mean log chromaticity space. Second, chromaticity direction angles of the red and green lights is determined based on Shannon entropy, and their chromaticity directions images is obtained,based on which segmentation thresholds of the red and green lights are determined and a traffic light recognition classifier is established.Finally,traffic lights in different image sequences bare recognized by employing the recognition classifier.According to experimental results,the proposed algorithm achieves effective recognition and high recognition precision both on LARA and LISA standard sets, and can meet the real-time requirements for traffic light recognition in real life.
自动驾驶技术已成为智能交通系统最受关注的领域, 诸如车辆自主定位、交通对象检测等领域已获得广泛关注[1, 2].作为自动驾驶系统和无人地面车辆的重要组成部分, 红绿灯的识别同样具有很大的研究价值和现实意义[3, 4].实际驾驶环境中, 红绿灯的识别也能为驾驶员提供驾驶策略, 以及更安全、更智能的驾驶模式[5].
目前, 基于红绿灯的识别主要集中在视频图像领域, 通过车载摄像头自动捕获红绿灯图像帧的检测、特征提取及分类3个过程, 实现红绿灯的状态识别[4].具体方法可以归纳总结为基于模型的方法和基于学习的方法两类.基于模型的方法广泛采用不同的颜色空间, 文献[6]提出基于分层视觉架构的实时红绿灯识别算法, 使用归一化RGB和HIS的联合颜色空间确定红绿灯候选区域, 使用多层HOG特征识别红绿灯.文献[7]采用自适应背景抑制滤波的实时红绿灯识别方法, 获取红绿灯候选区域, 融合HOG与RGB颜色直方图信息实现红绿灯识别.文献[8]提出基于语义分割的红绿灯识别方法, 通过语义分割方法产生红绿灯候选区域, 采用基于几何和颜色特征分类器确认红绿灯类别.文献[9]提出使用颜色密度的实时红绿灯识别方法, 通过阈值化HSV颜色通道实现候选区域聚类, 使用长宽比及经验阈值实现非灯区域滤除, 利用颜色密度实现红绿灯分类识别.文献[10]提出基于贝叶斯统计框架的红绿灯识别方法, 使用时空一致性条件, 保持识别过程的时空连续性, 通过对颜色、形状、非活动透镜模式及GIS线索建模实现红绿灯识别.在基于学习的方法方面, 文献[11]提出基于深度学习和显著图结合的红绿灯识别方法, 使用卷积神经网络提取和识别视觉图像特征, 使用正常光照识别产生的显著图辅助识别低光照条件下的红绿灯.文献[12]提出基于多重曝光图像的红绿灯识别算法, 通过整合低曝光和正常曝光图像的多重曝光技术解决了色彩饱和问题, 利用基于方向梯度直方图的SVM实现红绿灯的分类.文献[13]提出多类学习和多对象追踪的红绿灯识别方法, 使用HSV颜色空间和块检测确定红绿灯候选区域, 使用训练好的PCANet实现红绿灯逐帧识别.文献[14]通过HSV颜色空间分割红绿灯候选区域, 使用最大稳定极值区域定位正确的红绿灯结构, 提取红绿灯候选区域和红绿灯结构的HOG特征, 使用SVM实现红绿灯分类.文献[5]提出结合先验特征和帧间分析的红绿灯识别方法, 以纵横比、面积、位置及上下文信息为先验, 通过特征选择、训练多检测器并利用帧间相关分析实现红绿灯识别.
然而, 以上基于模型的研究中没有充分考虑运用颜色空间理论时不同帧红绿灯的光照差异(背光、朝光)及同一帧中不同位置处红绿灯的光照变化对识别结果的影响; 而基于学习的研究中, 对于普通学习方法学习的样本数量及种类存在局限, 导致结果普适性较差, 对于深度学习方法则需要大量的样本做支撑, 同时需要较长的执行时间和昂贵的硬件成本, 应用前景较差.基于以上, 本文作者提出基于色度方向角的离线道路红绿灯识别算法, 采用地平线确定算法, 获取红绿灯待识别区域, 提出采用手工标定不同场景红灯、绿灯色块, 求取红灯、绿灯色块集合图色度方向角, 获得各自的色度方向图的方法, 建立红绿灯识别分类器, 最后通过识别分类器识别不同图像序列中的红绿灯.
传统光学传感器模型表明, 图像采集设备获取数据是经过光源光谱功率分布、物体表面反射和光谱传感器成像呈现的能量结果.光谱功率分布用
式中
假设相机感光函数
假设光照近似为普朗克法则[16], 则
式中:
由式(3)近似得到RGB彩色三通道为
定义2维色度为
式中:
式(6)是以
理想状况下,
色度方向角具有以下特性:
1)每种颜色的主轴方向不一致, 有利于差异化区分不同种类的颜色类型;
2)红色、绿色的色度方向角差异明显, 为准确区分红灯、绿灯提供基础;
3)采用对数色度空间获取色度方向角, 有利于提高光照变化对识别结果影响的鲁棒性.
正是基于色度方向角的上述特性, 本文提出将色度方向角应用于城市红绿灯识别研究中.
本文提出的红绿灯识别算法主要包括红绿灯分类器获取和红绿灯识别两部分.分类器获取阶段:利用几何均值对数色度空间, 根据香农熵确定红灯、绿灯各自的色度方向角
采用基于平行坐标系参数化的级联霍夫变换方法获取道路消失点.首先通过级联霍夫变换算法把原本无限大的空间转变为一个有限的菱形空间, 接着对空间进行栅格化处理, 采用投票方法找出消失点[17].
消失点位置确定后, 其所在的水平线即为所求地平线位置, 图像中地平线以上区域即为红绿灯识别感兴趣区域.消失点及地平线确定示意图见图2.
由于每种颜色对应的色度方向角
1)获取
2)红灯、绿灯样本采集:本文收集不同环境, 不同道路场景下的红绿灯图, 将两种颜色进行分类, 组成红灯和绿灯集合图, 分别用
3)求解最小熵:本文引入香农熵[15]确定
式中:
式中:
由熵的定义可知, 若
为进一步去除复杂环境下不利噪声对结果的影响, 基于色度方向角, 引入几何均值对数色度空间获取色度方向图.设
则色度为
对式(10)取对数得
在式(11)的几何均值
式中:
由此, 色度方向图为
2.4.1 识别分类器建立
分别选取
本文采用正态分布模型对手工标定红、绿灯区域样本集进行拟合, 并分别建立红、绿灯置信区间分类器.取红灯区域正态分布中心90%的数据为红灯色度特征, 置信区间为
色度方向图中值介于
2.4.2 识别过程
输入待识别图像序列, 通过地平线确定算法获取红绿灯待识别区域, 分别求取红灯、绿灯色度方向图, 将色度方向图输入建立的红绿灯识别分类器中进行分类识别, 获取最终识别结果.
识别过程中会存在噪声干扰, 本文加入几何特征限制因素, 对阈值分割结果使用圆形度进行判定, 设圆形度为
式中:
设定圆形度阈值为
本文将提出的基于色度方向角的识别框架应用于两个公开的红绿灯标准集上:LARA标准集[18]和LISA标准集[4], 两个标准集道路环境均为城市道路环境, 试验设定
LARA标准集是专门用于红绿灯识别的标准数据集, 利用未校准相机采集自法国巴黎市中心, 包含了大量复杂的道路场景(多车、多干扰、多抖动), 每帧图像分辨率为640× 480像素, 共11 179帧, 包含了5 280个红灯, 3 381个绿灯.
LISA红绿灯数据集采集自美国加利福尼亚州圣地亚哥市, 序列场景切换幅度大, 光照变化强烈, 场景干扰较多, 本文选用其中的Day Test 数据集作为实验集, 图像分辨率为1 280× 960像素, 共4 061帧, 包含了2 545个红灯, 3 306个绿灯.两个数据集的具体信息如表1所示.
![]() | 表1 实验数据集信息 Tab.1 Experimental data sets information |
实验采用Windows 7旗舰版64位操作系统, CPU为IntelCore i5-4570, 3.2 GHz, 内存为8 G的PC机作为实验平台, 实验环境为Matlab2017b.
本文仅考虑圆形红绿灯的识别过程, 而LARA标准集也仅包含圆形红绿灯.实验设定红灯色度方向图阈值范围为
![]() | 图4 四种红绿灯识别方法的精确率和召回率对比Fig.4 Comparisons of four traffic light identification methods’ precision and recall |
通过对比4种识别方法的准确率和召回率直方图, 可以直观发现本文提出的识别方法相比于文献[8]、文献[19]识别方法存在较大优势, 相比于文献[7]识别结果相当, 主要由于文献[7]使用了较复杂的AdaBSF模型和SVM分类器.本文采用离线的红绿灯识别方法, 实时性大大增强, 平均每帧的识别时间约为27 ms.
对本实验图集进行基于色度方向角的离线城市道路红绿灯识别算法实验.部分典型场景识别结果如图5所示, 其中, 第1、3列为原图, 2、4列为识别结果图.场景主要包括:背景复杂情况下的识别, 距离相对较远时的识别, 车辆较多干扰下的识别, 同时出现多个红绿灯的识别等.
为了进一步说明本文识别系统的优良性, 本文在一个最新的红绿灯数据集LISA上进行测试.实验设定红灯和绿灯色度方向图阈值范围
实验使用精确率
![]() | 表2 本文方法在LISA数据集上的识别结果 Tab.2 Recognition results of the proposed method on LISA dataset |
实验结果发现, 本文提出的识别框架具有很好的精确率, 召回率和综合评价指标, 平均精确率为91.08%, 平均召回率为86.38%, 可得综合评价指标为88.67%.注意到, LISA数据集使用了与LASA数据集相同的实验参数, 尽管对LISA数据集的识别没有任何的先验知识, 但识别方法一直有较稳健的性能输出, 且实时性也满足实际要求, 因此本文提出的识别框架具有很好的可扩展性.
对本实验图集进行识别实验.部分典型城市道路场景识别结果如图6所示, 其中, 第1、3列为原图, 2、4列为识别结果图.12行为红灯识别结果, 34行为绿灯识别结果, 同种颜色不同位置的红绿灯存在明显的颜色差异.1、3行为面光条件下, 光照较强情形的识别结果; 2、4行为背光条件下, 光照相对较暗情形下的识别结果.场景也包括了背景复杂、距离相对较远、车辆较多干扰等典型情况.
1)提出了利用色度方向角的离线红绿灯识别框架, 在红灯、绿灯色块标定, 色度方向角确定, 色度方向图获取, 识别分类器建立, 实验验证等方面做了充实的工作.
2)充分考虑了不同帧红绿灯的光照差异(背光、朝光)以及同一帧中不同位置处红绿灯的光照变化引起的颜色差异对识别结果的影响, 将色度方向角应用于红路灯检测识别分类中, 跳出传统颜色空间的固有思维, 获得了较为准确的检测识别结果.
3)算法在公共标准数据集(LARA, LISA)下进行了实验, 该数据集包含了各种典型的红绿灯交通情景.实验结果表明:相较于已有文献的识别方法, 本文提出的算法在LARA和LISA数据集的测试中均能获得较好的准确率P、召回率R和综合评价指标F, 同时本文采用离线的红绿灯识别框架, 识别速率大大提升, 能满足实际道路场景红绿灯识别的实时性要求.
下一步工作考虑引入跟踪算法, 在保证识别准确率的前提下进一步简化识别流程, 节省检测时间.同时, 将车道检测与红绿灯识别相结合, 确定出不同车道对应的红绿灯结果.
[1] |
|
[2] |
|
[3] |
|
[4] |
|
[5] |
|
[6] |
|
[7] |
|
[8] |
|
[9] |
|
[10] |
|
[11] |
|
[12] |
|
[13] |
|
[14] |
|
[15] |
|
[16] |
|
[17] |
|
[18] |
|
[19] |
|