基于卷积神经网络的道路监控系统下车辆颜色识别

2021-02-22 02:38:22姚国愉李雪纯张佳乐
科技创新与应用 2021年8期
关键词:卷积数量颜色

姚国愉,张 昭,李雪纯,张佳乐

(西安邮电大学 通信与信息工程学院,陕西 西安710121)

1 概述

车辆识别[1]在智能交通系统、刑事侦查、执法等方面发挥着重要作用,其任务是识别目标车辆的类型、颜色和车牌。颜色作为车辆最显著的特征之一,能为快速执法提供视觉线索。然而,由于光照、天气条件、噪声和图像捕获质量等因素的影响,使得车辆颜色识别成为一项具有挑战性的任务。

为了应对这些挑战,车辆颜色识别方法已经从最初基于人工提取特征+分类器[2-3]发展到基于深度学习[4-6]。为了在性能和计算复杂度之间实现良好的折衷,本文提出一种改进的卷积神经网络架构,该网络共有八层,包括五个卷积层,两个1x1 卷积层和一个全局平均池化层(Global average pooling,GAP)。

2 本文方法

本文网络的总体框架如图1 所示。该网络共有八层,包含五个卷积层、两个1x1 卷积层和一个全连接层。下面将详细介绍本文所用的网络框架结构,其中2.2.1-2.2.4小节内容遵循网络结构顺序。

2.1 AlexNet 网络

本文所提出的改进型卷积神经网络是以AlexNet 网络为基础的,所以首先介绍AlexNet 网络。

AlexNet 网络是2012年由Alex Krizhevsky 等人提出的,该网络由五个卷积层,三个全连接层组成,其中使用ReLU 激活函数加快网络的收敛速度,并且有效防止梯度消失等问题;在全连接层使用“Dropout”技术避免过拟合现象;为了避免网络模型参数在训练过程中不断更新导致每个后续层的输入数据分布发生变化,在第二卷积层和第三卷积层之前,对输入数据进行LRN 操作。该网络的总参数量为5800 多万,表1 显示了不同层的特征尺寸和参数数量。

表1 中网络参数量的计算公式为:

其中,K 为卷积核的大小,KC为卷积核通道数,F0C为输出特征图的通道数。从表1 可以看出,网络的参数主要集中在全连接层,容易造成过拟合现象。

2.2 本文卷积神经网络结构设计

图1 车辆颜色识别网络框架

表1 AlexNet 网络参数设置

表2 所提网络参数设置

本文设计的卷积神经网络结构如图1 所示。网络共包含八层,输入是3 通道RGB 彩色图像,其分辨率为227×227×3。第一卷积层使用尺寸为11×11 步幅为4 的卷积核,第二卷积层使用尺寸为5×5 步幅为2 的卷积核,第三层、第四层和第五层均使用尺寸为3×3 步幅为1 的卷积核,第六层和第七层均使用尺寸为1x1 步幅为1 的卷积核。我们对所有卷积层进行ReLU 激活,并且在第二卷积层、第三卷积层、第四卷积层、第五卷积层之前进行批归一化处理。在第一卷积层、第二卷积层和第五卷积层之后均使用尺寸为3×3 步幅为2 的卷积核进行最大重叠池化操作,GAP 层的内核大小设置为3×3,输出层的神经元数量为8。在本文的方法中,将卷积神经网络架构视为特征提取器,经过若干的卷积层和池化层,最终将所提取的特征向量输入SoftMax 中用于车辆颜色识别。该网络的总参数量为840 多万,表2 显示了不同层的特征尺寸和参数数量。

2.2.1 卷积层

卷积层作为CNN 不可或缺的一部分,其主要作用是从不同的卷积核中提取多个图像特征。由于卷积神经网络的非线性操作是通过激活函数实现的,因此激活函数的选择对最终识别性能产生巨大的影响。深度学习中的常见激活函数包括Sigmoid、Tanh 和ReLU。本文采用ReLU 函数作为激活神经元的激活函数,其函数表达式为:

由函数表达式可知:在输入x>0 时梯度保持不变,从而有效缓解了梯度消失的问题;在输入x<0 时梯度为0,此时神经元不被激活。神经网络的这种稀疏性使其变得不仅高效而且计算简单。

2.2.2 归一化层

网络模型在训练过程中参数不断更新迭代,导致后续各层的输入数据分布发生变化,使得训练深层神经网络变得复杂;另外,如果每批训练数据的分布各不相同,那么网络每次迭代都要去学习适应不同的数据分布,这样大大降低了网络的训练速度。为了克服输入数据分布对识别性能的影响,本文在第二卷积层、第三卷积层、第四卷积层和第五卷积层之前,对数据进行归一化处理。实验结果表明,与使用LRN 层的AlexNet 网络模型相比较,使用BN 层的AlexNet 网络模型的识别精度提高了1.8%。BN 层传播的计算公式如下:

表3 每种颜色图像数量

其中,μB表示小批量的均值表示小批量方差,xi表示输入,yi表示输出,β 和γ 为需要学习的参数,增加线性变换,提升网络表达能力。

2.2.3 重叠池化层

池化(pooling)在卷积神经网络中能够降低特征图的维度、加快网络收敛速度和降低模型计算量。本文分别在第一卷积层、第二卷积层和第五卷积层之后使用池化尺寸为3,步幅为2 的重叠池化,有助于获得更丰富的特征信息,从而提高识别精度。

2.2.4 损失函数

损失函数(Loss Function)的实质是计算真实输出与理想输出之间的差异,所以损失函数的选择直接决定了网络学习分类模型的性能。常见的损失函数包括回归问题中使用的欧几里德损失函数、人脸识别中使用的三联体损失函数和单标签识别中使用的SoftMax 损失函数。因为车辆颜色识别属于单标签样本分类,故本文采用SoftMax 函数作为损失函数,其函数表达式为:

其中P 是输入样本x(i)属于第j 类的概率,θ 是网络层的参数。

2.3 1×1 卷积层与全局平均池化层

传统的卷积神经网络通常使用全连接层作为网络的输出层,但是全连接层会破坏图像的空间结构,因此本文使用两个1×1 的卷积层和全局平均池化层来“代替”全连接层。1×1 卷积核与普通的卷积核相比,其作用是相同的,不同的是它的尺寸大小是1×1,而且也不考虑与前一层局部信息之间的关系;除此之外,1×1 的卷积核还能进行卷积核通道数的升维和降维。本文在第一个1×1 卷积层处使用2048个1×1 的卷积核对上一层池化结果(3×3×256)进行卷积操作,得到的特征图尺寸为3×3×2048;在第二个1×1 卷积层处,使用2048个1×1 的卷积核对上一层的输出结果进行卷积操作,得到的特征图尺寸为3×3×2048。

通常卷积层之后连接多个全连接层,而全连接层通常具有太多的参数,容易导致过拟合现象(例如,AlexNet包含三个全连接层)。针对这个问题,本文提出使用GAP层代替全连接层,即对第七卷积层的特征图进行平均池化操作,将所得的结果直接输入到SoftMax 分类器中进行分类。这样做不仅使得特征图与分类任务相关联,还不会引入新的模型参数,从而大大减少参数数量,故本文在第七卷积层和最终输出层之间使用GAP 层,得到1×1×2048 维的特征图,形成特征点,再将这些特征点组成的特征向量送入SoftMax 中进行分类。改进前网络FC1 层的参数量为:6×6×256×4096=37748736,FC2 层的参数量为:1×1×4096×4096=16777216,FC3 层的参数量为:1×1×4096×8=32768;改进后网络第六卷积层参数量为:1×1×256×2048=524228,第七卷积层的参数量为:1×1×2048×2048=4194304,最终输出层的参数量为:1×1×2048×8=16384。大幅度减少网络参数的数量,避免过拟合的风险。

3 实验结果及分析

3.1 车辆颜色数据集

数据集:本文采用CHEN 等人[2]提供的公共车辆颜色数据集进行实验验证和比较。该数据集共包含15,602 张图像,表3 显示了数据集颜色种类以及每种颜色的图像数量,其中白色图像数量最多,有4743 张,而青色图像数量最少,有282 张。

数据集中所有图像均来自道路监控系统捕获的前方图像,此外,每个图像中仅包含一辆车。车辆颜色数据集的一些样本示例如图2 所示,数据集中包含多种类型的车辆,如小轿车、卡车和公交车等,这对车辆颜色识别带来了很大的挑战。在实验中,使用留出法处理数据集,即使用一半数据集用于训练,另外一半没有使用过的数据用于测试。

3.2 实验设置

实验环境:为了验证本文所提出的车辆颜色识别方法的有效性,我们在CHEN 等人[2]提供的公共车辆颜色数据集上进行了比对实验。将实验结果与现存最优的车辆颜色识别方法进行比较,实验过程中所有的网络结构都是在TensorFlow2.0 平台上构建的,语言环境为Python 语言,对比实验平台设置如下:2.7-GHz 8 核CPU,16GBRAM,GTX-1060-6G GPU 和win1064 位操作系统。

图2 车辆颜色数据集

其它设置:在训练和测试过程中,使用交叉熵作为损失函数,采用Adam 优化算法迭代训练网络参数,其中,初始学习率大小设置为0.0001,批尺寸设置为16,循环迭代40 次。

3.3 本文网络性能

为了更直观的理解卷积神经网络如何提取车辆颜色信息,图3 显示了本文第一卷积层的96个卷积核可视化的结果。从图中可以看出,第一卷积层可以从输入图像提取丰富的颜色特征,并且数据集中的所有车辆颜色变化都显示在卷积核中,因此,本文所提出的网络可以提取丰富的颜色特征信息,从而有效地用于车辆颜色识别。

图3 第一卷积层的96个卷积核可视化结果

为了验证本文提出的卷积神经网络的识别性能,将该网络与其它两种网络进行了对比实验,包括原始的AlexNet 网络和去掉BN 层的改进型网络。应该注意的是,为了比较结果的公平性,我们使用相同的方法训练三个网络,图4 显示了实验结果。

从图4 中可以看出,本文所使用的改进网络识别精度最高,达94.8%,与采用相同训练方法的原始AlexNet模型相比,识别精度提高了0.33%,且参数量降低了86%,节省了大量的时间;为了进一步验证BN 层对网络识别精度的影响,将改进模型与去BN 层的改进模型进行了比较,实验结果表明,去BN 层的改进模型模型识别精度为93%,比改进模型识别精度低1.8%。因此,本文的网络性能明显优于其它两个网络。

图4 识别精度比较结果

4 结论

本文提出了一种基于卷积神经网络的道路监控系统下车辆颜色识别方法。与经典AlexNet 方法相比,本文提出的方法具有两个优点:第一,设计一种特殊的卷积神经网络用于车辆颜色识别任务,即使用两个1x1 卷积层和全局平均池化层代替传统网络中的全连接层,减少网络参数的数量,降低网络中计算和存储资源的需求;第二,使用BN 层代替经典网络中的LRN 层,加快了网络的收敛速度,并在一定程度上防止了过拟合现象。在未来的工作中,我们将在ImageNet、COCO 等更大规模的数据集上进行测试来增加网络的泛化能力。

猜你喜欢
卷积数量颜色
基于3D-Winograd的快速卷积算法设计及FPGA实现
从滤波器理解卷积
电子制作(2019年11期)2019-07-04 00:34:38
统一数量再比较
基于傅里叶域卷积表示的目标跟踪算法
认识颜色
头发的数量
特殊颜色的水
和颜色捉迷藏
儿童绘本(2015年8期)2015-05-25 17:55:54
我国博物馆数量达4510家
现代企业(2015年5期)2015-02-28 18:51:08
一种基于卷积神经网络的性别识别方法
电视技术(2014年19期)2014-03-11 15:38:20