APP下载

交通标志检测识别与跟踪技术研究

2021-05-12陈阳

现代计算机 2021年7期
关键词:交通标志尺度卷积

陈阳

(四川大学计算机学院,成都610065)

0 引言

近几年,随着科技的发展,无人车吸引了越来越多汽车制造商的目光。而高级辅助驾驶系统(Advanced Driver Assistant System,ADAS)[1]逐渐成为国内外学者的研究重点,其中交通标志检测与识别系统(Traffic Sign Detection and Recognition,TSDR)是ADAS 的重要组成部分[2]。但由于交通标志种类繁多,各个国家的标志略有不同,加上道路环境复杂,以及自然因素的干扰,大多数的研究仍处于实验阶段,并没有广泛地运用。如何快速、准确地检测和识别,并能持续地跟踪交通标志是本文研究的重点。

1 理论基础

纵观交通标志的检测识别和跟踪算法的发展可以发现,其过程通常分为检测、识别和跟踪三个部分。

由于交通标志通常具有特定的颜色,因此有人提出基于颜色特征的交通标志检测算法,如Akatsuka 等人[3]提出的基于RGB 颜色空间和匹配模板的检测算法,Madani A 等人[4]提出的基于HSV 颜色空间的分割算法;由于颜色特征极易受到光照、褪色等因素影响,于是Onat E 等人[5]提出了一种基于边缘的、双边的投票算法;近年来,由于深度学习的突破性发展,有人将深度学习用于交通标志的检测,如Jia L 等人[6]就将Faster R-CNN 用于交通标志检测。

交通标志识别其本质是个多分类问题,常用的方法有模板匹配算法、传统机器学习算法和深度学习算法。模板匹配算法需要事先建立好包含各种类别的模板库,然后在待分类标志上提取某种特征,将其与模板库中的模板进行比较,计算出一个相似值,相似度最高的模板所属类别即为该标志的类别,如Gao X W 等人[7]根据交通标志的颜色和形状建立模板库。传统的基于机器学习的方法使用人工设计特征,然后用于训练分类器,最后再使用分类器判定类别,如W Li 等人[8]提出先提取HOG 特征和LBP 特征,然后使用ELM 分类的算法。国内外也有很多研究人员提出了各种卷积神经网络用于分类交通标志,如Mao X 等人[9]提出了一个两级卷积神经网络用于交通标志分类,狄岚等人[10]将Squeeze-and-Excitation 与残差网络的思想相结合,提出了一个可能性聚类的网络MRESE。

交通标志跟踪算法以视频或者一系列连续图像作为输入,目的是持续准确跟踪其中出现的交通标志,并且能够与检测、识别等模块相互配合,提高检测和识别准确度。由于交通标志运动模型的特殊性,基于卡尔曼滤波器的跟踪算法是最为普遍的[11]。而鉴于TLD(Tracking-Learning-Detection)在长期跟踪中取得了不错效果,Zheng Z 等人[12]提出了一个基于TLD 算法的跟踪框架,用于跟踪已经识别到的交通标志;Lee J H 等人[13]则提出了基于多尺度核函数的跟踪方法。

2 本文算法

首先对原始对象进行处理,提取出基于RGB 和HSV 颜色空间的融合特征,包括RGB 颜色空间中全局的颜色、亮度信息以及局部像素点的颜色、亮度信息,HSV 颜色空间中单个像素点的色调、饱和度、明度以及对红、蓝、黄颜色的偏向信息,由这两种颜色空间的颜色特征拼接组成融合信息,根据该特征筛选出包含交通标志和干扰背景的感兴趣区域队列。

其次利用利用多尺度两阶段神经网络对感兴趣区域进行检测和识别,在第一阶段中筛选出包含交通标志的区域,在第二阶段中进行交通标志分类。为了提高对不同尺度的交通标志分类的准确性,采用三种不同尺度的同一图像作为输入,并且为了降低参数数量和提高效率,用深度可分离卷积代替普通卷积。

最后结合交通标志的运动规律,采用带有目标中心点预测和尺度自适应的核相关滤波跟踪算法进行交通标志跟踪。

2.1 交通标志检测和识别算法

为了从候选队列中检测和识别出交通标志,本文采用一种基于多尺度的两阶段的深度可分离卷积神经网络。其中多尺度是为了提高对不同尺度的交通标志检测和识别的准确性,从而将同一图像的三种不同尺度作为输入。两阶段是将对交通标志的检测和识别分开,采用由粗到精的过程,第一阶段进行粗分类得到检测的结果;第二阶段对第一阶段的结果进行精确分类。深度分离卷积神经网络相对于普通卷积神经网络具有更少的参数数量,从而提高检测和识别的效率。

(1)卷积神经网络结构

本文卷积神经网络结构总共包括三个不同尺度的输入、两个输出和六个不同的子模块组成,如图1所示。

(2)子模块结构设计

通过借鉴MobileNet V3 的结构设计,将深度可分离卷积、残差结构和特征强化组成Bottleneck 结构,结构如图2 所示。通过借鉴经典神经网络模型,使用Bottleneck 建立六个子模块的结构。

图1 卷积神经网络结构

在Bottleneck 结构中采用ReLU6 和h-swish 作为激活函数,ReLu6 和h-swish 的定义如公式(1)和公式(2)所示。

在大量的实验基础上,根据实验结果选择各个子模块中Bottleneck 的激活函数,以及是否选择shortcut和SE 模块,最终得到各个子模块的详细结构如表1所示。

表1 Module1

图2 Bottleneck结构

表2 Module2

表3 Module3

表4 Module4

表5 Module5

表6 Module6

表中,Operator 代表层的处理方式,Bneck 代表Bottleneck,Conv2d 表示普通的卷积操作,Conv2d-BN 表示加入批处理层(Batch Normalization,BN)的普通卷积操作,SE 表示该层是否使用Squeeze-and-Excitation。

2.2 交通标志跟踪算法

在原始基于核相关滤波(Kernel Correlation Filter,KCF)的跟踪算法上进行改进,采用中心点预测和尺度自适应的方式进行持续跟踪。根据相机模型的成员原理,通过前两帧中心点的位置预测下一帧的中心点位置,如图3 所示。

图3 相机成像原理

假设P1、P2、P3表示不同位置的同一物体,d1、d2、d3表示物体与摄像机的距离,P1'、P2'、P3' 表示该物体在不同位置时,在摄像机中成像平面上形成的图像,f 表示摄像机的焦距。根据相似三角形原理,计算下一帧的终点为大致为位置为:

式中:P 表示物体长度。

由于帧间间隔时间极短,可认为车辆在相邻两帧之间的位移相等,即d2、d1和d3、d2之间的差相等。以此为据,在已知前两帧中物体中心点位置之后,可以利用中点距离差值预测下一帧中物体中心点的大致位置。

根据类似的原理,将一维场景扩展至二维场景,提出适合车载视频场景中交通标志跟踪的尺度因子变化公式:

其中α 为初始化尺度因子,areai-1、areai-2分别为前两帧中的目标框大小。

在跟踪过程中,目标和背景都可能发生变化,所以需要对模型进行在线更新,根据响应图峰值旁瓣比(Peak to Sidelobe Ratio,PSR)更新模型。

3 实验

3.1 数据集

在数据集TT100K 和GTSDB 两个公开数据集上进行检测和识别性能评估。TT100K 数据集由Train 和Test 两个部分组成,其中训练集包含6107 张图片,测试集包含3073 张图片。由于TT100K 中各类样本数量和交通比较标志出现的频率不一样,为了避免由于样本数量的不均衡导致神经网络训练模型的准确率下降,从而剔除了部分数量过少的类别,最终保留了50种不同类型的常见交通标志。

在ApolloScape 数据集上进行跟踪性能评估。本文主要运用ApolloScape 数据集中的Scene Parsing 部分。利用该部分制作了100 个长短不一的视频序列用于实验,其中包含了多种类别的圆形、矩形和三角形交通标志。

3.2 评价指标

使用准确率Precision、召回率Recall 以及调和均值F1 三种评价指标对检测和识别性能评估实验进行分析。其中Precision 表示被正确检测出来的交通标志的数量占整体交通标志数量的百分比,它的值越高表明算法误检率越低;Recall 表示被正确检测出来的交通标志的数量占被检测为交通标志的数量的百分比,它的值越高表明算法的漏检率越低;而调和均值F1 能够同时兼顾准确率和召回率,更好地衡量一个模型的分类性能。调和均值F1 的计算方法如公式(5)所示。

在跟踪实验中,使用跟踪精度(Precision)和跟踪成功率(Success Rate)来评价跟踪效果。跟踪精度是在跟踪过程中算法产生的中心距离误差(Center Location Error,CLE)小于设定的阈值的视频帧的数量与整个视频序列的帧数量的比值。中心距离误差的大小通过计算算法产生的估计目标中心点与人工标注的目标中心点的欧氏距离得到,其计算公式为:

式中:( xc,yc)表示跟踪算法估计目标中点坐标;( xgt,ygt)表示人工标注目标中点坐标。

3.3 实验和结果分析

实验采用TensorFlow 作为深度学习框架,在一台CPU 为Intel Core i7、GPU 为NVIDIA GTX1080、内存大小为64G 的计算机上运行。

(1)检测性能对比实验

本文选取了HOG、LBP、Haar-like 及其对应二分类器和由标准卷积实现的神经网络进行对比实验。测试数据集中包括7920 张图片,对比实验结果如表7所示。

表7 交通标志检测对比实验

从表7 的实验结果来看,基于深度学习的算法性能高于传统的机器学习算法,在传统机器学习算法中使用HOG+LBP 特征融合和SVM 的算法取得效果最好,在深度学习算法中由标准卷积实现的神经网络在三项指标上均取得了最高值,而本文的神经网络模型在三项指标上仅次于标准卷积实现的神经网络。

(2)识别性能对比实验

为了验证本文算法对交通标志分类的性能,选取了其他几种卷积神经网络模型进行对比,其中文献[14]中提出的模型同样为多尺度网络模型。原始VGG16模型输入图像尺度为224×224,实验中将其调整为64×64,并将最后一层分类的类别数量改为51,其余设置保持不变,得到最终的对比结果如表8 所示。

表8 交通标志识别对比实验结果

从表8 可以看出,结构更复杂的神经网络模型能取得更好的效果,仅由卷积、池化层堆积的单尺度网络VGG16 分类性能靠后,文献[14]中提出的多尺度特征网络取得了较好的结果,而本文神经网络模型的平均准确率为99.32%,平均召回率为99.18%,与文献[14]相比都有了一定的提高。

(3)跟踪性能对比实验

利用ApolloScape 数据集中的视频序列,分析KCF算法、DSST 算法、fDSST 算法、CSR-DCF 算法、staple 算法和本文算法的总体跟踪精度和跟踪成功率,实验结果如图4(a)、(b)所示。

图4 中,Method1 为本文提出的改进KCF 目标跟踪算法。从图4(a)、(b)中可以看出,在所有对比算法中,本文算法在跟踪精度和跟踪成功率上均排名第一。DSST 算法、fDSST 算法、CSR-DCF 算法和Staple算法的跟踪精度和跟踪成功率相近,没有尺度变换的KCF 算法则在两个评价指标中都排名靠后。

4 结语

本文主要针对当前交通标志的检测识别和跟踪算进行研究,分析当前存在的问题,提出了一种用于交通标志检测和识别的多尺度的两阶段卷积神经网络,以及改进的KCF 目标跟踪算法。

多尺度的两阶段卷积神经网络体现了由粗到精的分类思想,而使用三种典型尺度作为输入,能够有效提高对不同尺度输入的交通标志的分类准确性,利用深度可分离卷积、残差结构和强化特征构成的Bottleneck来实现网络,在保证精度的同时,降低了参数数量,提高了算法效率,最后结合改进的KCF 目标跟踪算法,通过实验验证了其进行目标跟踪的有效性。

图4 各算法跟踪精度和跟踪成功率曲线

猜你喜欢

交通标志尺度卷积
基于全卷积神经网络的猪背膘厚快速准确测定
环境史衰败论叙事的正误及其评判尺度
基于双向特征融合的交通标志识别
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
交通标志小课堂
以长时间尺度看世界
9
我们欢迎你!