林海,庞妙珍,刘天成
(1.湛江幼儿师范专科学校,湛江524300;2.遂溪县第一中学,湛江524300)
随着人工智能与新一代信息技术的发展,CNN车型识别技术是智能公路治超、智慧安防、智能交通系统、自动驾驶等领域中的重要人工智能技术。马秀[1]研究了一种基于快速R-CNN的车型识别算法。通过目标检测网络进行图像特征提取,经过RPN算法,对车辆进行精细化检测,使用Softmax-SVM集成模型分割目标区域,实现了对车型的识别。针对车型数据集的特点,费东炜[2]提出了一种适用于车型识别的数据增广方法,有效提升了小样本车型识别的准确率。通过采用改进的HashNet网络对车辆的二值特征表达进行学习,以全局平均池化层替换HashNet中的部分全连接层,大幅度减少了参数数量,提升了前向计算速度和网络性能。在车型识别中,带标签车型数据的数量是影响车型识别的重要因素。杨昌东等[3]以“增强数据”为核心,结合PGGAN和Attention机制,提出一种基于对抗网络的再分类的网络模型ATPGGAN,由生成网络和分类网络组成。使用生成网络对训练数据进行增强扩充,运用注意力机制和标签重嵌入方法对网络进行再优化使其生成图像细节更加完善,从而提高车型识别准确率。
虽然,目前CNN车型识别技术已经发展的比较成熟,但是以上方法存在模型复杂度高的计算成本高、分类速度慢,模型复杂度低的灵敏度低和分类精度低等问题。为了提高当前车载和野外环境安装的低配置设备车型识别系统的分类精确度,本文提出了一种CNN轻量型分类网络DGNet用于车型识别,该方法以DarkNet53网络为基础,沿用了原网络的滤波器尺寸,保持了基本体系结构的优势,设计了轻量型Ghost-Conv模块,能够在提高分类精度的同时,大幅降低了计算成本,并提高了分类的速度,经过实验表明本文方法在模型参数、分类精确度、分类速度上都取得了较好的平衡。本文贡献如下:
(1)提出了新的轻量型分类网络DGNet。
(2)设计了Ghost-Conv模块,完成对DarkNet53网络的改造,使DGNet更适合在配置低的设备中运行车型识别系统。
目前基于CNN深度学习的图像分类方法,往往存在模型复杂度高,计算成本高的现象。因此,研究轻量化CNN图像分类方法是当今的热门议题。Sandler等[4]提出了一种新的移动架构MobileNet,它提高了移动模型在多个任务和基准测试以及不同模型大小范围内的最新性能。该模型基于反向残差结构,其中残差块的输入、输出是薄瓶颈层,使用了轻量级深度卷积来过滤中间扩展层中的特征,从而达到了减少计算成本的效果。杨远飞[5]提出了基于轻量型的卷积神经网络模型,首先,把上层输出通过数量较少的卷积核,然后,通过并行操作得到与原模型相同维度的输出行输出整合在一起。和同规模的模型相比,该模型在减少参数的同时增加了网络的深度,在保持精度的前提下减少了结构参数量和计算量。针对分组卷积引起的分组通道间不流通的问题,董艺威[6]提出了奇异瓶颈,基于SqueezeNet网络,提出轻量化结构SlimNet,在分类精度、结构参数量及计算量上均优于SqueezeNet。
为了减少最新的深度神经网络的计算成本,Han等设计了GhostNet[7],提出了一种用于构建高效的神经网络结构的新模块GhostModule。首先,将原始卷积层分为两部分,使用一半的卷积核来生成原始特征图,然后,进一步使用廉价变换操作以高效产生另外一半幻影特征图,最后,进行合并生成特征图。在基准模型和数据集上进行的实验表明,GhostModule是一个即插即用的模块,能够将原始模型转换为更轻量化的模型,同时保持可比的性能。此外,在效率和准确性方面,使用提出的GhostModule构建的GhostNet均优于原始模型。
DarkNet53是由Joseph Redmon[8]提出的图像特征提取主干网络。该网络包括了5个Stage单元(每个单元中都包含有重复结构的残差单元,分别重复重复1次、2次、8次、8次、4次),共53层,网络结构相对复杂。该网络模型结合了深度残差网络ResNet和DarkNet19的特点,分类精确度可与最先进的分类器相媲美,而且浮点运算更少,速度更快。例如Dark⁃Net53比ResNet101性能更好,而且分类速度更快,这主要是因为ResNet101的层数太多,从而增加了运算成本。不过在没有GPU的低配备的设备中运行,由于模型参数较大,该网络运行速度与轻量型网络相比还是比较慢。
DGNet网络是基于DarkNet53网络结构设计的图像分类网络,沿用了网络的滤波器尺寸,保持了基本体系结构的优势,如表1所示,DGNet网络除去最后一个Connected(全连接层)总共6个卷积层和46个Ghost-Conv作为主体网络。首先是3×3,32通道的卷积层Conv提取图像的初始特征,然后是5组重复的Stage,每个Stage由1个单独的卷积层Conv与一组重复执行的残差单元构成,重复执行的残差单元分别重复1次、2次、8次、8次、4次;在每个重复执行的残差单元中,先执行1×1的Ghost-Conv操作,再执行3×3的Ghost-Conv操作,Ghost-Conv通道数量先减半,再恢复。最后是全连接层和输出。
表1 DGNet网络结构
Ghost-Conv模块的设计如图1所示,使用了GhostNet中的GhostModule提取图像特征图,并根据kernel_size的值,决定GhostModule所使用的激活函数以及其他参数。Ghost-Conv一共有46个,占据了整个网络88%的计算量,是DGNet网络轻量化的关键设计。我们使用Ghost-Conv替换原DarkNet53模型Stage单元中的Conv,通过GhostModule使用更少的参数来生成与Conv相同数量的特征图,从而减少计算成本和提高分类运行速度。
图1 Ghost-Conv模块
它大约等于加速比。经实验证明,减少的计算成本相当于原来的一半,运行速度也加快了一半。
为了提高网络的学习能力,提升梯度的传递效率。Ghost-Conv模块使用的激活函数主要有Leaky⁃ReLU和mish,在滤波器尺寸为1×1的Ghost-Conv中使用的是LeakyReLU激活函数降低计算成本,在滤波器尺寸为3×3的Ghost-Conv使用的是mish激活函数,使用计算精度更高的mish激活函数有利于提高分类的精度,mish激活函数的计算公式如下:
mish激活函数在负值的时候,曲线并不是完全截断的,而是允许比较小的负梯度流入,从而保证信息流动。
LeakyReLU激活函数的计算公式如下:
LReLU是ReLU的变体,对输入小于0部分的反应有所变化,减轻了ReLU的稀疏性,negative_slop这个系数保证在输入小于0的时候有微弱的输出,缓解一些ReLU导致神经元死亡的问题。
其中,N为最小值,θ为模型参数。在训练数据集过程中,梯度下降得到模型参数θ=(θ1,θ2,…,θc),最终取得损失函数的全局最优解。
车辆车型识别数据集我们采用BIT-Vehicle数据集,包含9850张车辆图像。数据集中有1600×1200和1920×1080两个摄像头在不同时间、不同地点拍摄的图像。图像包含照明条件、比例、车辆表面颜色和视点的变化。数据集中的车辆分为6类:公共汽车、面包车、小型货车、轿车、SUV和卡车。每种车型的车辆数量分别为558、883、476、5922、1392和822辆。如图2所示。模型算法运用PyTorch深度学习框架实现,模型训练平台为Ubuntu 16.4 64位系统,显卡为8张NVIDIA GTX 2080 Ti显卡,每张显卡显存为8G。初始学习率、batch分别设置为0.01、1000,从数据集图像数据中,随机选择7200张用于训练,1800张用于验证和850张用于测试。
图2 BIT-Vehicle数据集
为了验证DGNet网络的车型识别有效性,我们在BIT-Vehicle数据集上进行了训练和评估。评估平台选用只带集显的低配PC,硬件配置为:CPU为Intel Core i3,内存 为4G,并和MobileNetV3、Dark⁃Net53两种分类方法进行了对比。如图3和表2所示,分类准确率较低的是MobileNetv3网络,Top1 Acc值为77.3,这主要是因为该网络深度不够,从而影响了分类的精度,不过该模型参数是最低的,size值为14,由于网络比较简单,分类速度也是最快的。Dark⁃Net53网络的Top1 Acc值为86.5,由于采用了53个卷积层结构,网络的复杂度高,分类的精度有很大的提升,不过模型参数也是最大的,size值为162,分类速度也是最慢的,比MobileNetV3慢了将近两倍。本文方法DGNet网络的Top1 Acc值为92.3,是目前图像分类方法中精度非常高的模型。由于采用了Ghost-Conv模块,因此在参数减少量方面比原模型减少了将近一半,size值为83,分类速度上也相应提高了将近一倍的速度。与MobileNetV3对比,虽然在模型参数上有所增加,但也属于轻量型分类方法,并且在分类精度上有了更大的提高,因此本文方法在模型参数、分类精确度、分类速度上都取得了较好的平衡。
表2 3种网络在BIT-Vehicle数据集的实验数据对比
图3 3种分类网络
在BIT-Vehicle数据集的Top1 Acc、平均分类时间与模型参数的气泡图,Y轴表示Top1 Acc,气泡大小代表模型参数,X轴表示平均分类时间
为了对比MobileNetV3、DarkNet53、DGNet分类网络损失率的情况,我们在BIT-Vehicle数据集上进行了训练。根据训练后的分类结果,我们分别绘制了3种分类网络的损失率曲线图,如图4所示,Mobile⁃NetV3的收敛速度比较慢,损失率相对比较高,这是由于网络的深度不够,图像特征提取能力比较弱造成的。DarkNet53的损失率曲线与DGNet的相近,这主要是由于两种方法在网络结构上是相同的,DGNet的收敛速度是3种方法中最快的,损失率也是最低的。由此可见采用了Ghost-Conv模块和Softmax-Loss损失函数,有助于提高训练过程中的收敛速度和降低损失率。
图4 3种分类网络的在BIT-Vehicle数据集上的损失率
CNN分类方法相对传统分类算法在分类精度上有了很大的提高,本文以DarkNet53网络为基础,提出了一种新的图像分类网络DGNet用于车型识别,通过实验对比发现,本文方法相对于原模型Dark⁃Net53进一步减少了网络参数,降低了运算成本,分类速度提高了一半,分类精度也有所提升,能够高效运行在没有GPU的低配置设备中,适合在车载和野外环境中应用。在未来的实验探索中,可以继续研究具有更多特性的特征提取网络,在数据集的采样中将对更多的车辆颜色、型号、朝向进行收集,以进一步提高分类的精度。