APP下载

融合BiFPN和改进Yolov3-tiny网络的航拍图像车辆检测方法

2021-08-24瞿绍军

小型微型计算机系统 2021年8期
关键词:卷积精度速度

鲁 博,瞿绍军,2

1(湖南师范大学 信息科学与工程学院,长沙 410081)

2(湖南师范大学 湖南湘江人工智能学院,长沙 410081)

1 引 言

目标检测是对目标进行定位和分类,主要任务是准确高效地找出给定图像中所有感兴趣的目标,是图像标注、图像语义分割、图像实例分割和视频理解等基础[1].目标检测主要分为基于传统机器学习的算法和基于深度学习的算法,基于深度学习的目标检测算法在近年发展非常迅速,文献[1-5]和对深度学习在目标检测的研究进展、代表性算法、常用数据集和性能评价指标进行了比较详细的讨论.基于深度学习的目标检测算法主要分为两类:两阶段算法和单阶段算法[1-4]1,2.两阶段目标检测算法先进行区域生成(region proposal,RP,一个有可能包含待检物体的预选框),再通过卷积神经网络进行样本分类.常见的两阶段目标检测算法有:R-CNN[6]、SPP-Net[7]、Fast R-CNN[8]、Faster R-CNN[9]和R-FCN[10]等.单阶段算法支持端到端的训练,不用RP,直接在网络中提取特征来预测物体分类和位置.常见的单阶段目标检测算法有:OverFeat[11]、Yolo[12]、SSD[13]等.两阶段算法虽然精度较高,但是由于需要预先生成大量预选框,其检测速度极慢.单阶段算法虽然速度较快,但是其检测精度往往有所欠缺,难以达到特定检测需求.但单阶段类检测框架仍然具有绝对的速度优势和可挖掘的精度潜力.

航拍图像中的车辆长宽往往不超过几十像素,在图片中的面积比例极小,属于小目标,无论是单阶段还是两阶段检测模型的小目标检测效果通常较差.文献[14]对近年来国内外小目标检测方法进行了梳理,对小目标检测难点进行分析.当前针对小目标检测的方法主要有上采样,多尺度预测,生成对抗网络.此外,特征金字塔(FPN)[15]也是目标检测领域中表现效果极佳的一类结构,近年来已演变出各种新的形式:PANET[16],NAS-FPN[17],BiFPN[18]等,旨在对来自不同网络层的特征输出进行融合,增强特征信息.文献[19]系统总结了近两年基于YOLO系列算法对无人机目标识别和检测的研究.文献[20]提出一种基于多尺度融合单点多盒探测器(SSD)的小目标检测算法,以SSD和DSSD算法的网络结构为基础,结合SSD-VGG16扩展卷积特征图,设计融合模块实现Top-Down结构的功能.文献[21]提出一种基于残差网络的航拍目标检测算法,在SSD目标检测算法的基础上,用表征能力更强的残差网络进行基准网络的替换.

本文旨在保证网络算法检测速度的同时提高检测精度,使航拍车辆检测算法具有更强的性能.本文从轻量级主干网出发,在其基础上添加特征金字塔结构,并设计新的上采样结构,增强网络对图片特征信息的提取,提高检测效果.主要创新点为:1)在Yolov3结构上增加调整过的BiFPN结构;2)设计新的上采样结构替换原有上采样结构;3)增加高分辨率预测分支;4)增大网络分辨率.

2 相关工作

早期的目标检测往往是基于传统机器学习的方法,参照经验手工刻画特征,再使用分类器进行分类.而随着卷积神经网络在计算机视觉领域大放异彩,通过堆叠多层卷积的深度学习目标检测算法模型成为了主流方法.与传统机器学习方法相比,两阶段代表性检测模型R-CNN在区域生成机制得到候选框后,用CNN进行特征提取并用SVM分类,极大地提升了目标检测的精度.在这之后提出的Fast R-CNN通过在特征图上进行区域生成,避免了对同一区域进行重复CNN运算,提升了检测速度.此类方法在第一阶段都通过传统机器学习的选择性搜索(selective search)方法选出多达2000个候选框,每一个候选框都需要进行CNN特征提取和SVM分类,巨大的计算量使得检测速度极为缓慢.为了解决Fast R-CNN候选区域生成耗时极大问题,提出了Faster R-CNN,其针对性的提出区域生成网络 (region proposal network:RPN)结构,用来替代选择性搜索方法,筛选出候选区域.虽然速度有所提升,但由于其繁重的网络结构,每秒检测帧数仍然较少,且占用内存较大,难以满足实际应用需求.因此,作为单阶段检测模型开山之作的Yolo被提了出来,其独特的端到端训练结构极具借鉴价值,一经提出便成为目标检测的最经典的算法之一.Yolo核心思想是将整张图片作为网络的输入,直接在输出层对边界框和类别进行回归,省去了候选区域生成这一步骤.同样具有代表性的一阶段检测模型SSD与Yolo有着异曲同工之处.SSD采用VGG16作为主干骨网络对输入图片的特征进行提取.额外从主干骨网络的6个卷积层获取6个不同尺度的特征图,在不同的感受野上进行检测并借鉴Yolo的回归思想输出边界框和类别.而近段时间谷歌大脑推出的Efficientnet[16]和Mobilenetv3[22]都有着不错的性能表现,也有着较好的应用前景.

由于Yolo系列在单阶段检测框架中具有很强的代表性且存在较大的改进潜力,目前已经演变出多种版本.其中Yolov3[18]和Yolov3-tiny[23]分别在精度和速度上有着极佳的表现且具有较大的改进空间.

大量实验表明:在网络中增加残差层可以解决梯度消失与细节特征丢失的问题,且FPN对特征语义的加强有着明显的作用.因此,这两种网络在一定程度上借鉴了残差网络与特征金字塔的结构设计.Yolov3的主干网使用了darknet53,其具有53层卷积层且引入了残差块,同时还加入了特征金字塔结构实现多尺度检测.而Yolov3-tiny为了提高速度,在Yolov3的基础上减少了主干骨中的部分卷积,并且只保留了13×13,26×26两个尺度的预测分支,在精度上有一定的损失但是速度提升很大.

鉴于车辆检测实际应用中要考虑到硬件性能限制问题,网络需要在保证检测精度的情况下结构尽可能简单,保证检测速度,减少运算开销.因此,本文采用Yolov3-tiny的特征提取网络作为主干网络,在此基础上提出一种轻量级目标检测算法网络模型.

3 网络结构改进

3.1 主干网络

Yolov3-tiny是Yolo系列中的轻量级网络,由卷积层、池化层,反池化层,连接层组成.其结构如图1所示.

图1 Yolov3-tiny网络结构(图中conv表示卷积层)

Yolov3-tiny具有极快的检测速度与较高的精度,得益于其主干网较强的特征提取能力,因此,本文将其两个无特征提取作用的预测分支去除,保留剩下的主要部分网络结构作为特征提取的主干网.

3.2 多尺度特征图融合网络

随着网络层次不断加深,特征的语义也由低维变向高维,然而,每一层网络都会造成一定程度上的特征丢失,因此,需要对不同层级的特征进行融合[24],丰富特征语义信息.构造特征金字塔是一种直接有效的融合方式,通过从主干网络的中间各层提取出不同尺度的特征,进行自顶向下的特征融合.浅层网络分辨率较大,包含更加清晰的位置信息,而深层网络感受野大,包含较多和高维语义信息,适合对目标进行分类.因此,航拍车辆检测需要对网络特征进行自上而下与自下而上的深浅层特征双向融合.

由google提出的BiFPN运用双向融合思想,构造由上而下,自底向上的双向通道,对来自主干网不同尺度的信息,在不同尺度间进行融合时通过上采样与下采样统一特征分辨率尺度,并在同一尺度的特征间添加横向连接,缓解因网络层级过多造成的特征信息丢失.其结构如图2所示.

图2 BiFPN结构图

改进后增强型的Yolov3-tiny网络(以下简称Bi-Yolov3-tiny)如图3所示,从主干网的conv4,conv5,conv8层提取出特征3种不同尺度的特征,将其通道数压缩统一后送入BiFPN网络,对多尺度特征进行融合,并在最后设置13×13,26×26,52×52这3种特征分辨率的预测分支.

图3 Bi-yolov3-tiny网络结构

3.3 增大网络输入尺度

小目标对位置信息偏差比较敏感[25],因此增大网络输入分辨率会使得图像具有更加精确的位置信息和更加丰富的细节.本文把Yolov3-tiny的输入尺度从416×416增大到512×512.增大后的预测分支分辨率为16×16,32×32,64×64.

4 上采样模块结构设计

原Yolov3-tiny中使用的上采样方法为邻近上采样,直接将同一像素点复制到相邻的位置上,容易造成特征细节的丢失.而BiFPN使用的双线性插值采样虽在水平和垂直方向分别进行了一次线性插值,综合了其它像素点的信息,但也不具备学习能力,对细节特征的还原仍然存在不足,这对小目标检测的精度存在一定程度上的影响.

为弥补上采样过程中特征信息丢失的不足,本文提出了一种融合了邻近上采样和反卷积的上采样结构upsample-block(简称ub).首先对输入的特征图分别进行邻近上采样和反卷积层上采样,将两者输出拼接后用点对点卷积压缩其通道数,再通过残差层与拼接结果再次融合,最后再次通过点对点卷积压缩通道数量得到上采样结果.用ub替换网络中原有的上采样结构,提升网络模型检测精度.ub结构如图4所示.增加了ub的Bi-Yolov3-tiny结构如图5所示.

图4 上采样模块(ub)结构图(其中upsample表示邻近上采样,deconv表示反卷积层)

图5 增加了ub结构的Bi-Yolov3-tiny结构图

改进后的网络在各层的特征分辨率都提高了23%,在特征图上保留了小目标检测所需要的更多的细节.其中的BiFPN结构从主干网的conv4、conv5、conv8层获得不同尺度的特征图,先通过下采样与横向连接进行第一次特征融合,再通过上采样与横向连接进行第二次特征融合,最终得到包含来自不同层级含有丰富语义信息的特征图.此外,新的上采样结构进一步丰富了特征图的细节特征,有利于小目标的检测.由于改进的BiFPN网络结构采用较少的channel数(128个),计算量较小,因此速度变化不明显.

改进后的网络主要优势:1)检测精度相比Yolov3有了较大的提升;2)检测速度极快,接近Yolov3-tiny.

5 实验结果

5.1 实验结果展示

本文以Yolov3、Yolov3-spp、Yolov3-tiny、ssd、mobilenetv3、efficientnet作为对照,在航拍车辆数据集vedai上进行实验,训练4000个epoch,将各对照网络与Bi-Yolov3-tiny的速度(fps)和平均精度(map)进行比较,并在增加新上采样结构ub后对所有网络的精度、速度再次进行比较.采用pytorch深度学习框架搭建算法模型,在Tesla T4 16GB GPU上进行试验,结果如表1所示.

表1 不同网络模型的检测结果

从检测精度来看,增加了BiFPN结构后的Bi-Yolov3-tiny-512在精度上比Yolov3高4.9%,比Yololv3-tiny高8.5%.比ssd512高10.1%.比efficientnet_b3高18.7%.在检测精度上具有很大的提高.而采用了新型上采样结构(ub)的网络直接使Yolov3的精度提高了2.6%,Bi-Yolov3-tiny-512提高了1.1%.

从检测速度来看,Bi-Yolov3-tiny的检测速度快过所有对比检测框架.其中Bi-Yolov3-tiny-512的检测速度每秒约比Yolov3快23帧,比Yolov3-tiny快8帧,比ssd300多25帧,比mobilenetv3多15帧,比efficientnet多29帧.速度明显快过其它对比算法.而增加了新型上采样结构(ub)的Bi-Yolov3-tiny(ub)网络的FPS仅仅下降了6帧,速度仍然快过表中大部分网络.

使用了新型上采用结构(ub)的Bi-Yolov3-tiny-512(ub)的map为0.876,FPS为40,在保证检测精度同时又很好地兼顾了检测速度,能够达到较好的检测效果.其检测结果如图6所示.

图6 部分检测效果图(数字代表置信度)

图6的检测结果图分别展示了在不同环境下的检测效果,图中目标边界框上方的单词代表检测类别,右上方的数字代表置信度.可以看到无论是在简单的公路环境还是较为复杂的房屋区都能较为精准地检测出车辆位置.

5.2 实验结果分析

Bi-Yolov3-tin-416由于其轻量型的网络结构,比起采用了darknet53重型网络的yolov3,大大减小了运算量,因此速度远远快过Yolov3(约为yolov3的1.6倍).与yolov3-tiny相比,由于其引入了BiFPN结构增进了不同层级间的特征融合,并且在52×52这个大分辨率上进行了预测,使得map高出了4.9个百分点.同时,由于FPN结构的计算量较小,其检测速度变化不大,每秒只减少了6帧.

针对小目标检测的特性,把Bi-Yolov3-tiny的输入分辨率由416×416增大到512×512后,图片的细节信息得到了更多的保留,同时位置信息更为准确.512×512分辨率的Bi-yolov3-tiny的map提升了3.6个百分点.

新的上采样结构ub通过反卷积层学习的方式在上采样时复原了更多细节信息,与邻近上采样层的信息结合后进行卷积融合,最后经过残差结构对多层信息再融合更好地复原了下采样过程中损失的细节信息.因此,增加了ub结构各网络的map提升了1%-3.6%.

最终,使用了512×512分辨率和上采样结构ub的Bi-yolov3-tiny算法的map达到0.876,高于所有对比网络算法,同时也具备较快的检测速度,相比速度最快的yolov3-tiny,每秒帧数只减少了2帧,达到了预期效果.

6 结束语

本文首先对现有目标检测方法和改进手段进行分析,指出单阶段和两阶段分别存在精度低和速度慢的问题,且速度与精度往往会根据网络的复杂程度此消彼长.而航拍图像中的车辆都为小目标,进一步加大了检测的困难.

针对航拍车辆检测中目标小,速度精度需求高的问题,本文把轻量级网络Yolov3-tiny的特征提取部分作为主干网,并用BiFPN结构加强网络特征的融合,丰富语义信息,增大网络输入尺度,增加高分辨率预测分支,使用新的上采样结构.在vedai数据集上进行实验.最终得到的网络模型与Yolov3-tiny相比平均精度提高了9.6%,每秒帧数无明显变化,每秒维持在40帧.与Yolov3相比,精度提高了6%,速度提高了79%.新的上采样结构ub可以让实验中各个模型的精度提高1%以上,与ssd、efficientnet、mobilenetv3相比无论是检测精度还是检测速度都具有明显的优势.实验结果表明,融合了BiFPN与ub结构的Yolov3-tiny网络模型能够满足航拍车辆检测的时效性和准确性,有较好的工程应用价值.

猜你喜欢

卷积精度速度
基于不同快速星历的GAMIT解算精度分析
数字化无模铸造五轴精密成形机精度检验项目分析与研究
基于全卷积神经网络的猪背膘厚快速准确测定
行驶速度
基于图像处理与卷积神经网络的零件识别
一种基于卷积神经网络的地磁基准图构建方法
基于3D-Winograd的快速卷积算法设计及FPGA实现
速度
近似边界精度信息熵的属性约简
图侃天下