单阶段的快速轻量级车牌检测方法研究

2022-10-11 03:00杨玲倩
现代计算机 2022年15期
关键词:卷积车牌精度

杨玲倩

(西南民族大学电子信息学院,成都 610041)

0 引言

当今社会高速发展,汽车的保有量不断增加,交通系统也在不断发展。对于道路上行驶的车辆来说,其最明显的身份标识就是车牌。在智能交通系统中,车牌检测技术可以提供实用、高效的管理办法,是其重要组成部分。它不仅能应用到收费站系统中进行检测,也能应用到城市交通中各种场景的智能监控。除了上述应用场景会产生一些固定视角的检测图片外,还有一些需要检测的车牌图像需通过无人机或手机等便携式设备进行拍摄,但这类设备拍摄的图像通常会出现质量低、容易模糊等缺点。正因如此,算法也需要应对更加复杂的自然场景,不仅要求算法能够迅速检测到图片中的内容,达到实时检测的效果;也要求算法能够对不同场景的图片进行检测,提高其鲁棒性。因此,对于自然场景下实时车牌检测算法的研究存在很高的应用价值。

自然场景下的车牌检测任务需要达到精度高、实时性好的要求,并且网络应该具有较少的参数量,从而网络可以搭建在移动端口,同时也要求网络能够实现高精度的检测。因此,本文专注于在轻量级网络构建的基础上提高车牌检测精度,搭建单阶段的目标检测网络框架,通过引入轻量级的功能模块来提高车牌的检测精度以提高检测的实时性。本文主要贡献如下:

(1)设计了一种基于单阶段anchor-free的轻量化目标检测框架,网络不再分阶段提取特征,不再需要锚框计算,减少了模型参数量,提高了检测速度。

(2)利用神经结构搜索(NAS)改进了模型中的特征金字塔关键部分,在不损失模型性能的前提下,提高了模型的学习能力并优化了特征提取方式。

1 相关工作

当前基于深度学习的自然场景文本检测算法可以分为以下两类:分别是基于目标检测(object detection)和基于语义分割(semantic segmet)的自然场景文本检测方法。

1.1 基于目标检测的自然场景文本检测

这类方法通常是建立在经典目标检测算法的 基 础 上,例 如R-CNN、Faster R-CNN、SSD、YOLO等,它们都拥有提取图像特征的优点,有着很好的检测效果。这其中具有代表 性 的 算 法 包 括CTPN、TextBoxes、Seg-Link、TextBoxes++等。Tian等提 出 的CTPN是将文本区域看作若干组件连接构成的序列,并使用循环神经网络(RNN)提取用于回归预测的编码特征,以实现对文本序列的检测。Liao等提出的TextBoxes是文本检测算法中较早将目标检测技术融入文本检测技术的模型之一,通过卷积层提取特征后,该网络能够有效检测出图像中不同大小的文本。Shi等提出的SegLink算法,通过增加组件之间的连接属性参数预测,实现了对文本组件的连接检测,对于各种大小的文本检测都有很好的鲁棒性。而Liao等在TextBoxes的基础上进行改进,提出了TextBoxes++,增加了文本方向角度的预测,以实现对倾斜文本的预测。

1.2 基于语义分割的自然场景文本检测

该方法主要借鉴了经典语义分割算法的思路,利用深度卷积和上采样的方法进行多级特征融合,对图像中的每个像素点进行预测并分类。其中代表性的模型包括EAST、Pixel-Link、TextField等。Zhou等提出的EAST算法利用全卷积神经网络(FCN)提取到图像的高维特征,并直接对图像中的每个像素点进行预测,判断其是否属于文本区域以及所在四边形的顶点坐标。而对于复杂形状的复杂区域,Deng等提出了PixelLink,该算法在图像中像素文本与背景分类的结果上利用像素之间的连接关系划分像素集合,进一步区分图像中的不同文本。Xu等提出深度方向场文本检测方法TextField,该方法通过图像内的文本方向场来学习表示文本中的区域特性。

2 基于单阶段的目标检测网络结构

本节主要介绍本文提出的一种单阶段的轻量级车牌检测网络结构,如图1所示,并对该结构中的每个阶段网络进行了介绍。

图1 单阶段车牌检测网络结构

2.1 整体网络结构

本文所使用的网络是一种基于anchor-free的单阶段目标检测算法,因此不存在进行多次特征提取的操作以及与锚框相关的复杂运算,因此减少了一定的参数计算量。该算法可以分为以下几部分:用于特征提取的骨干网络、用于特征优化的颈部网络以及包含了三个分支(Classification、Regression、Center-ness)的头部检测网络。

首先通过MobileNetV2网络后与新的特征金字塔(NAS-FPN)网络结合,通过对不同层的特征进行提取并融合得到特征图(feature map);后续每层特征图分别通过三个分支得到回归坐标、类别以及Center-ness的向量值。回归过程与Center-ness共同由一组4个卷积层进行计算,分类分支单独经历一组4个卷积层进行计算。

2.2 MobileNetV2

本文使用了轻量级网络模型MobileNetV2,它不仅继承了MobileNetV1的深度可分离卷积来代替传统卷积,还在其中加入了Linear Bottlenecks和Inverted residuals。

深度可分离卷积可以分为深度卷积(depthwise convolution)和 点 卷 积(pointwise convolution)。图2展示了传统卷积和深度可分离卷积的不同之处,其中上方为传统卷积,下方为深度可分离卷积。假设两者的输入特征图大小都为D×D×,输出特征图大小都为D×D×,那么传统卷积的计算量为:

图2 标准卷积和深度可分离卷积

而深度可分离卷积的计算量为:

由此可以得出,当网络采用了深度可分离卷积后,减少的计算量可表示为:

MobileNetV2使 用Linear Bottlenecks是 因 为每当卷积从高维度转向低维度时,使用ReLU激活函数可能会造成信息丢失或破坏,因此MobileNetV2没有在第二个点卷积处使用非线性激活函数(ReLU),而使用了线性激活函数,这样可以防止破坏过多的信息。

而当tensor的维度很低时,卷积层的计算量就会很小,但低维度的tensor不能提取到足够多的特征信息。因此MobileNetV2提出了一个反转残差块(inverted residuals)结构来解决这一问题,以图3为例。从图3可以看到,首先通过点卷积扩张数据使卷积升到高维度,然后使用深度卷积提取特征,最后经过点卷积压缩数据使卷积降到低维度,实现了高维度提取特征、低维度输出特征,降低网络参数量的目的。

图3 反转残差块

2.3 NAS-FPN

在特征金字塔的部分,本文没有使用传统的特征金字塔FPN结构,而是使用了一种与神经结构搜索(neural architecture search,NAS)类似的方法,通过一个新的可扩展空间去搜索合适的结构以优化特征金字塔。该过程考虑到特征金字塔中自顶向下和自底向上的所有连接组合,从而实现跨范围的特征融合。

NAS-FPN在 特 征 金 字 塔 上 使 用 了7个basic block,而每个basic block的运算流程是从样本层X中选择两层x1和x2,然后将两个操作op1和op2分别应用于这两层,最后使用聚集运算agg将两个输出合并为一个特征。最后取三个{x5,x6,x7}作为特征金字塔的{P3,P4,P5},而{P6,P7}由P5进行下采样获得。通过该搜索策略进行网络搭建,最后搜索得到的最优结构如图4所示。

图4 NAS-FPN结构

基于NAS的思想,优化后的特征金字塔结构能够进一步提高网络的精度,使得网络在轻量级的环境下也能够取得较好的效果。

2.4 Center-ness

网络中增加了一个新的分支用于预测位置的中心角(Center-ness),它主要用于计算该位置到其对应目标中心的归一化距离。

对于一个随机的位置目标(*,*,*,*),Center-ness可以定义为:

通过一个平方根的计算后,Center-ness的值被定义在0到1之间,越接近1就代表越靠近对象中心;反之,越接近0就离对象中心越远。在训练时,Center-ness分支会使用交叉熵损失进行训练,而在测试过程中,会通过Centerness与对应的分类相乘得到每个像素点最终的分类分数。

2.5 损失函数

本文中损失函数的计算分别来自于分类分支和回归分支,其公式如下:

其中,表示分类分支的损失函数,采用了Focal Loss计算损失;而则表示回归分支的损失函数,采用了GIOU Loss。Npos表示正样本的数量,负责平衡分类分支和回归分支的损失函数。

2.6 数据增强

本文构建好单阶段的网络模型后在数据处理中还使用了以下方法提升网络精度。

在模型训练时,由于特征提取的过程中会生成许多特征图,它们有些比原图小了数十倍,因而小目标的特征可能被忽略,并且难以被网络检测到,同时模型的性能也会受到输入图片尺寸的影响。因此,通过多尺度图像进行训练,不仅可以提高网络的精度,也可以提高检测模型对物体尺寸的鲁棒性。

实验中会使用两个固定的输入尺度,在每个训练批次时都会随机选择一个输入尺度进行训练。

在训练过程中,我们使用了图像扩充和随机裁剪的方法。图像扩充是将图片长宽扩大一定比例,然后将原图放置进去,扩大后的其他区域采用均值填充。这样可以将大目标变成小目标,增加了小目标的样本数量。而随机裁剪是通过裁剪patch和bbox,这使两者在裁剪后都具有最小的IoU,通过扩充和随机裁剪的方法,扩大了样本的尺度,提高了网络对于目标尺度的鲁棒性。

3 实验与分析

本文实验基于Pytorch(1.8)框架实现;GPU计算设备型号NVIDIA GeForce GTX 2080Ti;CUDA版本为10.2;编程语言为Python3.7;使用了随机梯度下降(SGD)训练迭代,初始学习率设置为0.01,动量因子momentum设置为0.9,权重衰减因子设置为0.0005,使用了目标检测工具箱MMDetection。

在数据集上使用了中科大发布的CCPDGreen数据集。由于传统的车牌检测与识别任务都是在小规模数据集上进行训练和测试,无法胜任当前复杂多变的交通环境,因此中科大在2018年提出了CCPD数据集以解决这一困境。该数据集均拍摄于合肥的停车场,由工作人员手持Android POS机在早上7:30到晚上10:00之间随机进行拍摄并手工标注这些照片。本文使用的是2019年提出的新能源数据集,该数据集包含了1.1万张左右的新能源汽车车牌图像,且每张照片中只包含一个bounding box框。

表1展示了本文提出的网络模型与当前主流的常规检测算法在CCPD-Green数据集上的计算量、参数量以及精度比较结果。从表1可以看出,改进后的网络模型相较于其他网络而言,在减少网络参数量的同时,精度也得到了有效提升。

表1 不同模型对比

其中,@256表示FPN的输出和Head中的卷积通道数都为256;@128-256表示FPN的输出通道数为128,Head中的卷积通道数为256;@128表示FPN的输出和Head中的卷积通道数都为128。

表2和表3展示了在网络中对不同的主干网络和特征金字塔结构分别进行训练所得到的测试结果,从表中可以看出MobileNetV2和NASFPN结构能够在减少参数量的情况下提高检测精度。

表2 不同主干网络下的模型性能和精度对比

表3 不同特征金字塔网络下的模型性能和精度对比

表4展示了本文提出的方法在加入数据增强后的对比结果。在多尺度训练部分,使用了(320,320)和(416,416)两个输入尺度进行训练。通过多尺度训练后,检测精度相比于只使用了(320,320)进行训练的模型来说,mAP提升接近1;而加入图像扩充和随机裁剪之后,模型mAP提升接近2。从表4可以看出,图像扩充和随机裁剪对模型性能的提升效果较为明显,在加入多尺度训练后,两者的共同作用效果更为优异。

表4 加入数据增强后的模型性能和精度对比

4 结语

本文通过重新构建了一种基于单阶段目标检测网络的框架,将MobileNetV2作为主干网络,并基于NAS的思想优化特征金字塔网络结构。相比于传统的单阶段目标检测算法,该网络在降低网络参数的同时,一定程度上提升了检测精度。

猜你喜欢
卷积车牌精度
基于不同快速星历的GAMIT解算精度分析
基于全卷积神经网络的猪背膘厚快速准确测定
基于图像处理与卷积神经网络的零件识别
车牌颜色里的秘密
基于深度卷积网络与空洞卷积融合的人群计数
近似边界精度信息熵的属性约简
卷积神经网络概述
第一张车牌
一种侧向插装型车牌架
电力系统短期负荷预测方法与预测精度