小尺度交通信号灯的检测与识别*

2022-02-28 13:52崔帅华宋照肃
传感器与微系统 2022年2期
关键词:倒计时信号灯先验

王 莉, 崔帅华, 苏 波, 宋照肃

(1.河南理工大学 电气工程与自动化学院,河南 焦作 454003;2.河南省煤矿装备智能检测与控制重点实验室,河南 焦作 454003)

0 引 言

交通信号灯检测速度和精度的提高,对未来的无人驾驶、智慧交通有着十分重要的意义,一直是国内外研究热点,主要检测目标包括机动车前行信号灯(圆形灯)、转向指示灯(箭头灯)和倒计时数字灯(简称“数字灯”)。Widyantoro D H等人[1]提出使用霍夫变换和颜色识别融合的方法检测圆灯[1];Rajapaksha R[2]、田谨等人[3]使用模板匹配和颜色识别组合方法检测箭头灯[2,3]。随着深度学习技术的广泛应用,贾瑞明[4]、Eunseop L等[5]不少学者采用卷积神经网络(convolutional neural network,CNN)与传统方法相结合检测交通信号灯[4~8],如将CNN和HOG提取的特征进行特征融合,最后用支持向量机(support vector machine,SVM)进行分类;基于纯CNN目标检测方法具有检测速度快的优势[9~12],当前目标检测的CNN有单步和两步之分,两步网络有R-CNN,SPP-Net,Fast RCNN,Faster RCNN,RFCN等,单步网络有YOLO系列,SSD等,在速度上优于两步网络,而包括YOLOv3在内的许多深度模型在浅层特征图易丢失细节特征,对小尺度目标的检测能力较差。

本文基于YOLOv3进行了改进,采用跨越式特征融合方法,来提升模型对小尺度目标特征的语义能力,减少因中间层过度融合给浅层特征图带来的冗余信息;采用K-means算法聚类出适合交通信号灯尺寸的新先验框,并通过线性缩放机制对新先验框进行离散以适应多尺度检测,进而提升IoU。

本文将同时采用上述两种改进方法的模型称为STL-YOLO(small traffic light-YOLO),将只采用“跨越式特征融合”的模型称为STL-YOLO_1,将只采用“聚类与缩放获取新先验框”的模型称为STL-YOLO_2。最后本文提出一种基于YOLOv3与OCR结合的方法实现了对倒计时数字灯的识别。

1 提升深度模型检测小尺度交通信号灯的方法

1.1 跨越式特征融合方法

深度模型提取的浅层特征图虽然语义级别低,但保留了更多的细节特征,而深层特征图虽然语义级别高,但易丢失细节特征,因此,特征融合可以增强浅层特征图的特征描述能力,但同时也会因上采样操作对融合后的特征图增加冗余信息;而跨越式特征融合既可增强浅层特征图的语义表达能力,又可减少二次特征融合带来的冗余信息,其具体操作是:保留Darknet53下采样输出的13×13与26×26的特征图融合,但在输出前将DBL通道数由128增加到256来增强细节特征的提取,更重要的是,如图1 STL-YOLO_1网络架构所示,不再将13×13与26×26融合后得到的26×26特征图再与52×52的特征图进行融合,而是将13×13特征图直接经过5组1×1和3×3交替卷积后,进行4倍上采样,然后与52×52特征图进行特征融合,如此可进一步增强52×52浅层特征图对小尺度目标的语义表达能力,并减少因26×26特征图二次融合给浅层特征图带来的冗余信息,进而提升模型对小目标的检测能力。

图1 STL-YOLO_1网络架构

1.2 聚类与缩放获取新先验框

先验框是YOLOv3针对不同尺度网络层设定的初始候选框,它对于YOLOv3后续的检测框提供先验知识,IoU表示为真实框A与检测框B的交并比如式(1),IoU越大,表示二者的相关度越高,检测越准确,所以,这里采用K-means算法对交通信号灯的Ground Truth进行聚类以得到尺寸更加合适的新先验框,传统的K-means聚类以欧氏距离作为分类依据,但设置K值小的话,相比小边界框,易造成大边界框出现更多的误差,这里使用如式(2)作为距离度量

(1)

distance(box,cluster)=1-IoU(box,cluster)

(2)

式中box为Ground Truth的集合,cluster为边界框聚类的中心集合。与YOLOv3先验框个数保持一致,选取K=9时的聚类结果作为新先验框,其聚类结果如表1所示。第一列为原YOLOv3 先验框的宽高值,第二列为K=9时的聚类结果;由于聚类得到的9对新先验框尺寸过于集中,不太适应交通信号灯多尺度变化,所以,这里使用一种线性缩放机制来离散聚类后的9对新先验框,以适应多尺度交通信号灯检测,进而提升IoU,具体做法按式(3)~式(6)

(3)

(4)

(5)

(6)

式中w1为最小先验框的宽,w9为最大先验框的宽,h为先验框的高,α与β分别为最小先验框与最大先验框宽的缩放系数,其他7组先验框的宽高均按照式(5)和式(6)进行缩放,最终对聚类得到的9对先验框按照不同缩放系数进行了6组缩放,缩放结果如表1后六列所示。

表1 基于K=9聚类和不同缩放系数得到的先验框

2 实验结果与分析

2.1 实验环境搭建与数据集

本文基于Windows10系统,GPU:RTX 2080,CPU:Intel Core i7—9700k@3.60 GHz,搭建了Python 3.7/Tensorflow 1.13.1深度实验平台。

采用的交通信号灯样本来自Bosch Small Traffic Lights Dataset(BSTLD),其中训练集包含5 093张图片,涵盖GreenLeft,RedLeft,Green,Red,Yellow,Off等共15类对象,测试集包含8 328张图片,涉及Green,Red,Yellow和Off 4类对象,样本详细信息如表2所示。

表2 训练集和测试集详细信息

2.2 模型性能评估指标

模型性能测试主要包括以下几个指标:AP(average precision)衡量训练所得模型对于BSTLD测试集中某类样本C的识别精度,公式如式(7)所示,mAP(mean average precision)衡量模型对于测试集所有类别的平均识别精度,如式(8)所示,Recall是衡量模型准确召回Ground Truth的能力,公式如式(9)所示。在测试过程中均设置IoU阈值为0.5,IoU超过0.5的目标检测为正例,否则为反例

(7)

(8)

(9)

2.3 模型训练

模型训练前先进行调参,后续所有模型训练的基础参数均按:batch_size为5,epochs为200,val_splite为0.1进行设置;分别对YOLOv3,STL-YOLO_1, STL-YOLO_2, STL-YOLO模型进行单独训练。

2.4 模型测试结果与分析

2.4.1 原YOLOv3模型的测试结果

训练好的YOLOv3模型对各类信号灯的PR测试曲线如图2所示,其中Green灯的AP发展趋势良好,Yellow灯的AP不高,主要原因是Yellow灯训练样本相对偏少,Off灯在训练集作为负样本参与训练,且测试集的交通信号灯均为正常工作状态,因此,其AP为0;但由表2知,Red灯的训练集并不少,而其AP值仅为0.37左右,最终发现,如图3中椭圆标记样本所示,BSTLD测试集制作过程中添加了大量与Red灯极为相似的车尾灯作为干扰因素,导致了模型检测Red灯的鲁棒性差,并且如图4 YOLOv3模型的检测结果所示,其中椭圆圈标记的距离更远尺寸更小的很多Green灯、Red灯并没有被模型检测到,充分说明了YOLOv3模型对小尺度交通信号灯的检测能力不足和检测鲁棒性差的问题。

图2 原YOLOv3模型对各类信号灯的PR曲线

图3 BSTLD的测试集样本

图4 原YOLOv3模型的检测结果

2.4.2 STL-YOLO模型的测试结果

采用交叉实验分别测试STL-YOLO_1模型, STL-YOLO_2模型,STL-YOLO模型对各类信号灯检测的mAP和AP值,其测试结果如表3所示,可见三种模型相较原YOLOv3模型在检测精度上均有提升,其中同时采用跨越式特征融合和聚类缩放获取新先验框的STL-YOLO模型表现最好,其PR曲线如图5所示,相较原YOLOv3模型,其mAP提升约9 %,Green-AP提升5 %,Red-AP提升30 %,并且如图6所示,STL-YOLO模型准确检测到了先前原YOLOv3模型未检测到的小尺度交通信号灯,验证了同时采用“跨越式特征融合”和“聚类缩放获取新先验框”方法的有效性。

表3 四个模型的检测结果

图5 STL-YOLO模型的PR曲线

图6 STL-YOLO模型的检测结果

3 YOLOv3+OCR倒计时数字灯识别方法

当前检测倒计时数字灯的方法较少,并且采用传统图像处理提取倒计时数字灯中的数字易受噪声干扰等问题,本文提出了基于YOLOv3与OCR结合的方法识别倒计时数字灯,该方法先采用YOLOv3在COCO数据集训练的模型检测出倒计时数字灯ROI,然后提取数字灯ROI中的数字,最后进行OCR识别,如此可有效滤除噪声的影响,提高数字灯识别的准确率。

3.1 数字灯感兴趣区域的提取

首先调节YOLOv3在COCO数据集训练的模型,使模型只检测交通信号灯这一类,然后交通信号灯ROI的提取方法依据检测框的左上角坐标和右下角坐标,如式(10)

xl=bx-bw/2,yl=by-bh/2,

xr=bx+bw/2,yr=by+bh/2

(10)

式中 (bx,by)和(bw,bh)分别为交通信号灯ROI检测框的中心坐标和宽高。YOLOv3模型提取到的交通信号灯ROI如图7所示,左侧的原图为自然场景下的交通信号灯图片,右侧a,b,c为利用该模型检测并提取的三种机动车交通信号灯ROI,可见三者的宽高尺寸属性不同,箭头灯与圆形灯ROI的高与宽之比(h/w)接近于3,而倒计时数字灯ROI高与宽之比接近于1(0.7

图7 YOLOv3提取的交通信号灯ROI

3.2 数字灯中的数字提取与识别

提取到倒计时数字灯ROI后,对ROI-Image依次进行图像反转、RGB三通道分类,RGB转HSV、对S通道的图像进行二值化、形态学开操作、连通域等操作,就可以将倒计时数字灯ROI中的数字整体提取出来,最后送给OCR进行识别,其识别效果如图8所示。基于自制的包含100张数字灯图像的测试集进行测试,识别率达91 %,每张图片时间花费约为0.13 s。

图8 YOLOv3+OCR的识别结果

4 结 论

针对深度模型对小尺度交通信号灯检测效果差的问题,本文基于YOLOv3提出了小尺度交通信号灯检测模型,并采用交叉实验分别验证单独采用“跨越式特征融合方法”、单独采用“聚类缩放获取新先验框方法”以及同时采用这两种方法可提升小尺度交通信号灯检测精度的有效性,其中同时采用这两种方法的STL-YOLO模型表现最好,相较原YOLOv3模型,其mAP提升约9 %,Green-AP提升5 %,Red-AP提升30 %。最后提出的基于YOLOv3与OCR结合识别倒计时数字灯的方法,可有效提取倒计时数字灯ROI,然后提取数字并利用OCR识别,在自制数据集的识别精度达91 %。

下一步准备对Darknet—53模型进行改进,使其输出四种不同尺度的特征图,使小目标特征在更浅层特征图中得以体现,再融合“跨越式特征融合方法”和 “聚类缩放获取新先验框方法”进一步提升对小尺度交通信号灯的检测精度。

猜你喜欢
倒计时信号灯先验
BOP2试验设计方法的先验敏感性分析研究*
一种考虑先验信息可靠性的新算法
交通信号灯
信号灯为什么选这三个颜色?
先验的风
安装在路面的交通信号灯
基于平滑先验法的被动声信号趋势项消除