基于CNN 算法的交通标志检测与识别

2020-08-07 14:43刘恋谭台哲
现代计算机 2020年18期
关键词:交通标志分类器卷积

刘恋,谭台哲

(广东工业大学计算机学院,广州510006)

0 引言

交通标志的检测与识别在近几年已经成为了计算机视觉领域和智能交通系统的研究重点。交通标志通常带有比较突出的信息,从颜色上讲,主要分为黄色、红色、蓝色,从形状上看,主要包括圆形,方形和三角形,从功能而言,交通标志主要涵盖了警告标志、禁止标志和提醒标志。目前对于交通标志的研究主要包括两个阶段:检测与识别。首先从含有交通标志的图像中准确的分割出交通标志,进而对潜在的交通标志进行识别并分类。目前,该研究领域涉及到的数据集主要包括德国GTSDB 数据集[1]、中国CTSD 数据集[2]、Tsinghua-Tencent 100K 数据集、3D 图像数据集KITTI 等。

对于交通标志检测与识别的研究方法大体上可以分为传统目标检测算法和目前比较热门的深度学习方法。传统的目标检测算法大多需要使用人工特征图提取感兴趣区域,再对感兴趣区域进行筛选,最后使用分类器进行识别分类。同时传统方法大多需要利用交通标志的颜色、形状等信息,由于交通标志图像的生成伴随着复杂的交通环境以及天气,因此对特征图的要求比较高,同时在特征图的设计上也就十分复杂,手动生成特征图无法满足研究需求。从特征而言,主要包括HSV 颜色空间[3]、梯度直方图特征[4]等,特征提取手段上主要有SIFT 变换[5]、Hough 变换[6]等。Liang 等人[7]针对交通标志的形状特征设计了一套模板进行匹配,Wang等人[8]利用梯度直方图以及支持向量机分类器进行研究。目前深度学习方法已经在图像识别和目标检测领域成为了主要研究手段,其中卷积神经网络可以从大量的样本中学习到相当丰富的特征同时不需要进行图像预处理,从而避免了手动设计特征图的困难。目前使用最多的卷积神经网络主要包括R-CNN[9]、Faster R-CNN[10]、YOLO[11]等。Hamed 等人[12]基于GTSDB 数据集提出了结合滑动窗口的卷积神经网络的方法,Staudenmaier 等人[13]基于神经网络,利用贝叶斯分类器结合交通标志边界特征进行研究。本文基于卷积神经网络,提出多级识别分类的算法对潜在的目标进行分类识别。

1 交通标志检测

在交通标志检测阶段基于AlexNet[14]和RPN 网络结构进行检测,目的是从图像中分割出含有交通标志的区域。AlexNet 是一种经典的CNN 网络架构,AlexNet 网络由有5 层卷积层,和3 层全联接层构成,最后一个全联接层得到各类别概率,AlexNet 使用ReLU 作为激活层,代替tanh。为了获得较为准确的交通标志分割图像,本文采用了RPN(Region Proposal Network)候选区域生成网络对交通标志进行分割。

图1 交通标志图介绍

图2 AlexNet网络结构图

图3 RPN网络结构图

本实验在AlexNet 网络中的每一个池化层之前都增加了Batch Normalization[15]层进行归一化操作,式(1)为归一化公式。因为深层神经网络在做非线性变换前的激活输入值会随着网络深度加深,其分布逐渐发生偏移,导致训练收敛比较慢,而Batch Normalization 就是通过一定的规范化手段,使得每层神经网络中任意的神经元的输入值都满足标准正态分布,也就是把越来越偏的分布强制拉回比较标准的分布,使得激活输入值落在非线性函数对输入比较敏感的区域,避免梯度消失问题产生,而且梯度变大意味着学习收敛速度快,能大大加快训练速度。

测试时均值和方差采取训练时的移动平均距离,具体如下:

(1)当测试或预测时,每次只会传入单个数据,此时模型会使用全局统计量代替批统计量。

(2)训练每个batch 时,都会得到一组(均值,方差)。

(3)全局统计量就是对这些均值和方差求其对应的数学期望,具体公式如下:

其中μi和σi分别表示第i 轮批处理保存的均值和标准差,m 为批处理大小,系数用于计算无偏方差估计,此时BN(x)改变为:

其中γ为训练参数,β为迭代步长。

2 交通标志识别

在识别阶段,首先对RPN 网络检测到的可行性候选区域进行尺寸调整,得到大小为64×64 的潜在目标区域并且灰度化,从而降低在卷积操作中的复杂化。再将其作为输入值传递到SVM 分类器[16]。SVM 分类器首先按照交通标志固有的颜色、形状进行粗分类。其次,本实验设计了一个较为轻量级的卷积神经网络作为识别阶段的精分类器,该分类器一共包含9 层,其中4 层卷积层,3 层池化层和2 层全连接层。为了学习到更为丰富的交通标志特征,摒弃了传统层叠网络,在卷积层中使用多卷积核进行计算,同时为了避免引入多卷积核导致的模型参数过多,在Inception 网络[17]中添加了大小为1×1 的卷积核。

图4 Inception网络结构图

3 实验结果与分析

为了验证本文算法的可行性,在研究了大量参考文献及相关数据集后,本文进行了大量的实验对比,主要与传统计算机视觉算法和已有的深度学习算法进行比较。本实验基于Linux 系统,在Intel Core i7-7960,两个2080TiGPU,内存32G 的计算机上进行。

3.1 Tsinghua-Tencent 100K

在对比相关数据集后,本文选用Tsinghua-Tencent 100K 数据集进行实验。Tsinghua-Tencent 100K是由清华大学和腾讯公司共同推出的中国交通标志数据集,该数据集从10 万个腾讯街景全景图中创建了一个大型交通标志基准,它提供包含30000 个交通标志实例的100000 幅交通标志图像,图像尺寸为2048×2048,其中包含交通标志的图像有9000 张,基本涵盖了光照强度和各种天气情况,同时也存在损坏、遮挡等问题图像。在本文的实验中采用10 折交叉验证法,即将9000 张交通标志图像均分为10 份,共进行10 次实验,每次选取1 份作为测试集,剩下的作为训练集。

3.2 检测实验

本文对比了SIFT 变换加SVM 分类方法,HSV 颜色变换加SVM 算法以及R-CNN、Faster R-CNN 以及YOLO1 等深度学习算法,实验结果数据在下表1 中呈现。通过实验结果分析得出,在精确度和召回率上本文算法较传统方法和深度学习方法都有极大的提高。同时传统算法暴露出无法有效的解决遮挡、损坏等问题,而且存在大量漏检。

表1 检测实验结果数据

3.3 识别实验

实验证明,较传统Inception 网络而言,引入1×1 卷积核之后模型收敛更快,相比R-CNN、Faster R-CNN、YOLO,本文算法在精确度上也有很好的表现,在时效性上本文算法也有很好的表现,基本能够达到实时检测的相关要求。

表2 识别实验结果数据

4 结语

本实验结合目前计算机视觉领域的重点研究方向,对交通标志的检测与识别进行深入研究,提出了一种新的解决方法。该算法基于卷积神经网络算法,在设计CNN 网络结构上使用Batch Normalization 来处理,对每一层的输入值进行归一化操作,使得模型在后续的计算中能够快速收敛并且在很大程度上避免梯度消失和模型过拟合化。在设计卷积核上,为了使模型学习到更为丰富的特征,使用多个卷积核进行卷积操作,以获得不同尺度的特征,同时使用1×1 的卷积核操作避免引入多卷积核计算时带来的参数过多的问题。最后通过大量实验对比,证明本文所提出的方法在时效性和识别准确率上都有很好的表现。对于未来的工作,仍需要对相关领域进行深入研究进一步提高时效性和准确率,同时也需要对小目标检测进行深入研究。

猜你喜欢
交通标志分类器卷积
基于全卷积神经网络的猪背膘厚快速准确测定
少样本条件下基于K-最近邻及多分类器协同的样本扩增分类
基于双向特征融合的交通标志识别
学贯中西(6):阐述ML分类器的工作流程
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
一种并行不对称空洞卷积模块①
基于朴素Bayes组合的简易集成分类器①
基于AdaBoost算法的在线连续极限学习机集成算法
交通标志小课堂