一种基于网络的实时限速牌识别算法*

2022-10-28 03:27代少升吴云铎肖佳伟
电讯技术 2022年10期
关键词:低层网络结构金字塔

代少升,吴云铎,熊 昆,肖佳伟

(重庆邮电大学 通信与信息工程学院,重庆 400065)

0 引 言

限速标志牌对于驾驶员安全驾驶具有重要意义,一个高效实时的限速牌识别系统可以帮助驾驶人员预防超速、提高驾驶安全以及减少交通事故的发生。现代的限速牌识别系统都是利用网络导航提供的限速信息,但是有些道路出现临时限速牌时网络导航就无法提前获知限速信息,所以一个可以离线又高效实时的限速牌识别系统就具有重要的研究意义。

目前国内外单纯做限速标志识别的相对较少,但是交通标志识别的技术现在已经成为一个热门的研究方向,两者之间具有一些共通性,所以可以从交通标志识别中借鉴有效的方法。有些学者提出了基于色彩空间、形状特征或者两者结合的识别交通标志牌方法[1-3],虽然有一定的效果,但是不适合用于实际路面检测,且在一些天气不好的情况下(下雨、大雾、烈日反光等)识别率降低。近年来随着深度学习的兴起,有学者将其应用在交通标志的识别上并取得了不错的效果。文献[4]在德国交通标志数据集(German Traffic Sign Recognition Benchmark,GTSRB)上首次实现了神经网络识别交通标志超过人工的效果,网络识别的错误率只有0.56%。文献[5]提出使用单发多盒检测器(Single Shot MultiBox Detector,SSD)网络[6]检测交通标志的位置和分类,该文献的模型准确率最高可以达到88.4%。文献[7]通过形态学和边缘检测算法寻找待检测图像中的交通标志轮廓,然后使用神经网络进行分类,实现对交通标志的识别,也得到了不错的效果。

本文针对现有关于车载限速牌识别算法所存在的检测速度慢、准确率低、无法应用于嵌入式系统等问题,提出了一种基于神经网络来检测并识别限速标志牌的算法。该算法的神经网络是基于SSD_MobileNet_v1网络的改进框架,这个框架对原来的网络进行架构裁剪去掉了冗余结构;同时引入了特征金字塔网络结构和使用focal loss作为训练网络的分类损失。实验表明,与目前主流目标检测网络算法相比,本文提出的网络算法虽在检测精度上略有差距,但是在网络实时性和权重文件大小方面还是存在不小的优势。

1 改进网络

1.1 SSD_MobileNet_v1网络介绍

SSD是目前比较经典和主流的目标定位与识别网络,该网络通过提取不同尺度的特征来预测目标类别与位置,越在前面的检测层对于小目标的分类与定位效果越好。文献[6]中SSD使用的骨干网络是VGG-16,可是VGG-16的参数数量比MobileNet_v1网络多了将近30倍,但是网络的准确率相差不大。结合实际的应用场景本文使用MobileNet_v1网络代替VGG-16作为SSD的骨干网络,其网络结构如图1所示。

图1 SSD_MobileNet_v1的网络结构

1.2 网络架构裁剪

本文使用的限速标志数据集是从中国交通标志检测数据集CCTSDB[8]和清华大学的Tinghua100K数据集[9]中挑选出的带有限速牌的图片,这些原图数据与图像扩增数据各占50%,总计一万多张。将图片大小统一缩放至300 pixel×300 pixel时限速牌的长宽分布见图2。

图2 限速牌数据集长宽分布图

从图1的SSD_MobileNet_v1网络结构图可以看出该网络是一个多尺度检测的网络,前面的检测层用于检测小目标,后面的检测层用于检测大目标。但是从图2限速牌数据集的长宽分布图可知本文的限速牌大部分是小目标,检测大物体的输出层很可能没有使用,存在网络结构上的冗余。为了验证这个推测,本文使用这些限速牌数据集在SSD_MobileNet_v1网络进行训练,训练到模型收敛后统计各个检测层的输出占比,结果如表1所示。

表1 网络检测层输出统计结果

由表1的统计结果可知SSD_MobileNet_v1网络从Conv14_2开始后面的检测层输出的比重都为0,所以推断该网络结构确实存在冗余。由于网络检测层是按照线性串联,在后面的大尺度检测层结构去掉不会影响前面小尺度检测层,所以本文对SSD_MobileNet_v1网络进行冗余架构裁剪,删除后面不参与检测的网络层。

1.3 特征金字塔网络

本文使用一个已经训练到收敛的网络对图3(a)进行识别,分别取出其中一个低层和一个高层的特征图层进行可视化处理。从图3(b)可知卷积神经网络低层特征具有更多的纹理信息和位置信息,从图3(c)可知网络的高层特征则具有丰富的语义信息,但是经过卷积推理的层数较多其位置信息和纹理信息远不如低层网络的多。特征金字塔网络(Feature Pyramid Network,FPN)的功能是将高层网络丰富的抽象语义信息映射到低层,这些映射的信息与低层网络的纹理和位置信息相融合让网络的识别精度进一步提高。

图3 特征层可视化

如图4所示,特征金字塔网络包含三个部分:Part 1是低层特征层conv11到高层特征层conv14_2的常规卷积路线;Part 2是高层特征层到低层特征层的路线,由于网络推理的过程中高层特征层的尺寸会减小通道数会增加,为了可以映射到低层网络一般采用上采样或者反卷积操作保持与低层网络一样的特征尺寸;Part 3是侧向连接将低层特征图与经过上采样(2×up)后的高层特征图进行元素相加(特征融合),图中1×1的卷积可以将低层特征图的通道数与高层特征图的保持一致。

图4 特征金字塔网络结构

1.4 改进网络的整体架构

改进后的SSD_MobileNet_v1网络整体架构如图5所示,整个网络的设计目的主要是去除网络的冗余架构和引进特征金字塔网络结构。前者去除冗余架构加快网络检测速度,具体流程为把原来的SSD_MobileNet_v1网络的conv14_2后面的网络结构全部去除,虽然从表1中可知conv14_2也不输出检测结果但是它可以用于充当特征金字塔网络的高层网络所以将该层保留。后者使用特征金字塔网络实现多层信息融合,具体的流程为将高层网络上采样与低层网络进行融合最后进行输出检测,融合后的输出层将共享高层的语义信息与低层的纹理和位置信息。

图5 改进网络的架构图

图5所示的改进网络的主网络结构中除了输入为320×320与图1主网络的300×300不一样和对应生成的特征图有一点差异外,其他的网络参数都是相同的;网络架构中白色的特征层如conv14_1层表示使用传统的卷积进行运算,红色的特征层表示使用深度可分离卷积进行运算,传统的卷积和深度可分离卷积都默认使用3×3的卷积核,特征层的尺寸数字减半表示使用了步长为2×2的池化层进行特征提取。特征金字塔网络的低层特征到高层特征是按照网络的卷积路线实现的,2×2的上采样(2×2 up)实现了网络的高层特征向低层特征的连接通道,它与调整低层特征通道数的1×1卷积和⊕(融合)操作构成了特征金字塔网络的侧向连接;原MobileNet-SSD v1网络的输入为300×300,该网络的conv11层的特征层为19×19不利于特征金字塔网络结构的2×2上采样操作,所以将网络的输入改为320×320使conv11层的特征层变为20×20,修改后特征金字塔网络上采样特征层的顺序为(5×5)→(10×10)→(20×20),原来上采样的操作一般采用反卷积运算,本文则直接使用线性放大将特征层的长宽扩增一倍以减小计算成本。除此之外,图5中Detection的作用是生成分类和定位的检测框,NMS表示使用非极大值抑制算法,Output表示输出最终的目标检测与分类的结果。

1.5 损失函数

传统的单阶段目标检测算法中正样本与负样本的分布很不平衡,在训练时模型的损失值极易被负样本所干扰导致样本中正样本包含的关键信息不能被损失函数有效地发掘,从而让模型无法收敛到更好的效果。

focal loss的提出一定程度上减轻了正负样本分布不均衡以及简单与困难样本训练的问题,该方法的主要思想是通过带权重的交叉熵损失来降低这些不平衡。采用现在的分类与定位网络中广泛使用的交叉熵来作为模型的损失函数,公式如下:

(1)

式中:p表示该模型的类别概率,它的值域为[0,1];q为输入的标签,取值为0或者1。

由于样本不平衡,模型在训练时可以使用一个与样本数量相反的系数来矫正原来交叉熵计算出来的损失值。给数量较少的正样本匹配一个较大的权重系数扩大该类型样本对模型的产生的影响,对于数量大的负样本匹配的权重则要变小以削弱它对模型的影响,通过该方法模型可以学习到比原来更多的正样本信息。加入权重系数k后交叉熵公式变为

(2)

对于样本中简单样本与困难样本的训练,focal loss在式(2)的基础上又增添了一个与模型输出的类别概率有关的动态缩放因子,它可以在训练时自动降低简单样本的交叉熵系数和提高困难样本的交叉熵系数,帮助模型更好地训练困难样本。加入动态缩放因子后得到的完整focal loss公式为

(3)

式中:γ为提前设定的超参数,在反向传播时不参与更新。

在训练SSD_MobileNet_v1时会产生上千个检测框,而对于限速牌这种目标只占整体背景很小一部分的数据集来说网络产生的绝大部分的检测框都不包含训练目标,这就造成正负样本不平衡的现象。在引入focal loss后不仅可以平衡正负样本失衡对模型的影响,而且困难样本可以得到更好的训练效果进一步提高了模型的检测率。原SSD_MobileNet_v1的整体损失函数是位置损失函数与类别损失函数的加权,本文保持位置损失函数不变只对类别损失函数进行改造。类别损失函数使用的是交叉熵(SoftmaxLoss),公式展开后如下:

(4)

(5)

式中:pi表示第i个被预测为正样本或者负样本的概率,γ为可调因子可以调节正负样本交叉熵系数的权重比例。

2 实验效果与算法对比

2.1 数据集的构建和训练平台

目前国内外专门针对限速标志的数据集比较少而且规模都不大,所以本文采用的数据集除了上文提到的CCTSDB和Tinghua100K数据集包含的限速牌样本以及对应的数据扩增数据集外,只能增添一部分实际道路采集的限速图片确保每一类的限速牌数量接近相同,防止出现训练数据不平衡影响模型精度。将整个限速牌数据集分为训练集与测试集,其中训练集中包含限速牌图片1.2万张,测试集中包含限速牌图片1 200张。

本文使用的训练平台参数见表2,模型的训练和测试均使用Caffe框架,框架对应配套的CUDA版本为8.0以及CUDNN版本为7.5。

表2 训练平台参数

2.2 网络性能评价标准

为了验证改进SSD_MobileNet_v1网络的性能,本文采用均值平均精度(mean Average Precision,mAP)和每秒帧率(Frame Per Second,FPS)对网络进行评估测试。mAP的计算公式如下:

(6)

式中:TP为被正确识别的正样本数,FP为被错误识别成正样本的负样本数,FN为错误识别成负样本的正样本数;AP为衡量模型单类别的平均精度(Average Precision),AP公式中的Ni为第i类划分准确率P(Precision)和召回率R(Recall)的数量,p(ri)表示召回率R=ri时在类别i的p值。

2.3 实验结果与分析

使用裁剪网络框架、引入特征金字塔网络结构和使用focal loss作为分类损失进行训练后网络的改进效果如表3所示,其中基准网络为原SSD_MobileNet_v1网络和SSD300网络,表3中mAP的重叠度(Intersection over Union,IOU)标准取0.5。

表3 网络改进效果

分析表3,SSD300网络虽然mAP的值最高但是模型的运行效率最低不适合实时检测;未修改前的SSD_MobileNet_v1网络使用深度可分离卷积后降低了网络权重数量,与SSD300相比大幅度提升了运行速度,但是网络权重数量下降的同时对特征提取能力也存在一定的损失,所以从表中可知mAP的指标下降了5个百分点左右;对SSD_MobileNet_v1进行裁剪架构后,运行速度提升1个百分点左右而mAP几乎没有变化,说明对该网络对于限速牌数据集存在架构上面的冗余;由于本文使用的改进SSD_MobileNet_v1的网络输入为320×320而原SSD_MobileNet_v1为300×300,增加了一些输入与特征层扩张的计算量,所以即使裁剪了网络架构后模型的FPS指标还是下降3.5左右,但是更高的输入分辨率给模型准确率提升了0.6个mAP指标;除此之外,特征金字塔网络结构从高层网络映射了比较丰富的语义信息结合低层网络的方法以及focal loss损失函数增加了对正样本和困难样本的挖掘都可以提升一定的网络准确率,从表中易得两种方法各自提升了网络1.13和0.94个mAP指标,符合预期结果,而这些方法增加的计算量由FPS指标可得知相较原SSD_MobileNet_v1只下降了3.43左右,在可接受的范围之内。所以改进后的SSD_MobileNet_v1网络较原来的SSD_MobileNet_v1网络准确率有明显的提高而识别速度下降不大,满足实时要求。

为了进一步验证算法的有效性,本文使用相同的限速牌数据集来训练Faster-RCNN[10]、YOLOv4[11]和SSD300网络,训练后得到的对比结果见表4,表中mAP的IOU标准取0.5。

表4 不同算法的对比结果

由表4分析可知,Faster-RCNN的检测精度很高,仅次于YOLOv4网络,但是网络的FPS指标特别低,无法实现实时检测限速牌;YOLOv4网络的mAP指标最高,FPS指标仅次于本文使用的架构,但是模型的权重文件太大,在一些嵌入式AI设备上运行时对设备内存要求较高;SSD300网络相较于本文的算法检测的精度略高,但是FPS指标和权重文件大小都明显比不上本文算法。虽然本文架构的检测精度比不上上述的网络,但是仍在车载嵌入式环境的可接受范围之内,而且它在FPS指标和网络权重文件大小上具有明显优势,极大地提高了车载环境下限速牌的检测速度,满足了实时性要求和设备的硬件需求。

3 结束语

本文提出了一种基于网络的实时限速牌识别算法。该算法基于改进的SSD_MobileNet_v1,除了利用原网络的检测速度快和权重文件精简的优点外,还引进特征金字塔网络结构和focal loss进一步提高网络识别限速牌的准确率,同时对网络进行裁剪去除网络的冗余结构加快了计算速度。实验验证了本文提出算法的有效性,相比别的网络算法在车载嵌入式环境下有突出的优势,在GPU平台上mAP和FPS分别可以达到88.11%和35.13,而网络的模型文件仅有24 MB。

由于车载场景的限速牌标志环境复杂存在很多干扰因素,比如限重标志牌与限速标志牌很相近就差一个“t”,网络识别时往往把限重标志牌也识别为限速标志牌,如何排除这些干扰因素是本文的下一步研究方向。

猜你喜欢
低层网络结构金字塔
“金字塔”
南海夏季风垂直结构的变化特征及其对中国东部降水的影响
快递网络结构研究进展
Great Vacation Places
基于AutoML的保护区物种识别①
关于低层房屋建筑工程造价的要点及控制措施探讨探索
金字塔是用金子造的吗
住宅楼层影响寿命
基于互信息的贝叶斯网络结构学习
低层高密度住宅设计探讨