基于Efficient高效网络的目标检测和识别

2020-05-14 03:24张艳迪
沈阳理工大学学报 2020年6期
关键词:网络结构主干尺度

刘 军,张艳迪

(沈阳理工大学 自动化与电气工程学院,沈阳 110159)

ResNet等深层网络的出现使图像检测的精度和速度大幅度提升,深层的网络结构更容易学习到目标的抽象语义特征。He K等[1]提出的残差结构,解决了深层神经网络出现的网络退化和梯度消失问题。随着网络层数加深,卷积层得到的目标特征变少,需要同时增加网络的通道数和分辨率让深层的网络获得更多的目标特征信息。但对网络深度、通道数和分辨率的改变,会带来大量的参数运算,增加了计算成本。Tan M等[2]提出一个复合系数φ,同时对网络深度、通道数和分辨率进行缩放,在有限的计算资源下,网络运算效率更高。本文将Efficient-B0网络[2]和YOLOv3中的检测网络[3]相结合,改进的轻量级网络可以应用到移动端设备;实验结果表明,提出的基于轻量级特征提取网络Efficient-B0与FPN多尺度融合的目标检测和识别算法,与基于Darknet53主干网络的YOLOv3相比,参数量少4倍,检测精度仅下降了0.2%,检测速度更快,并且拥有更好的鲁棒性。

1 目标特征提取

1.1 卷积神经网络

卷积神经网络是由多个卷积和多个全连接层叠加组成,中间包含激活函数和池化层等操作。图1是单通道灰度图片的卷积过程,图片以矩阵的形式输入,卷积核的通道数与输入图片的通道数一致。彩色图片的通道数为3,卷积后的输出是把3个通道拼接在一起作为一个特征向量。卷积层通常用来提取特征,全连接层是把高维的特征向量转换为一维的向量作为输出,池化层用来降低维度去除冗余的信息。为更好的拟合数据,每层之间的输出都要经过激活函数的非线性转换,这样可增强神经网络的鲁棒性。

图1 单通道卷积过程

1.2 主干网络

目标检测和识别分为两个部分,一部分用来做特征提取的主干网络,另一部分是目标的定位和分类。VGG-16[4]、ResNet、Darknet53等网络结构常被用来做目标检测的特征提取器,其共同特点是网络层数都很深,ResNet网络甚至可以搭建到一千多层。神经网络被认为每一层能提取不同的目标特征,网络越深提取的特征越多,不同层次间组合信息也越多。深层的网络有更强的拟合和表达能力,目标检测的精度也越高。One-stage系列的目标检测算法YOLOv3的特征提取网络是Darknet53,在Darknet53网络中借鉴VGG-16和ResNet网络中的优点,用残差块和小型卷积搭建了53层的全卷积网络,Darknet53的网络结构组成如图2所示。

图2 Darknet53网络结构

在Darknet53网络中用卷积层代替了池化层减少了参数量,残差块通过短接结构解决了深层的神经网络在训练过程中网络退化和梯度消失的问题。BatchNormal(BN)层可以加快网络训练的收敛速度,对每一层输入的数据做均值为0、标准差为1的批量归一化处理,降低网络训练的复杂度和过拟合风险。

1.3 Efficient-B0

目标检测算法在追求检测精度和定位准确的同时也要考虑计算成本。在计算资源充足的条件下,复杂的大型网络检测速度和精度会有大幅度提升。深层的神经网络能提取到更多的特征信息,同样,提高输入图片的分辨率和增加卷积神经网络的通道数可以捕捉目标的细粒度。任意调节网络的深度、通道数和分辨率的参数,是非常繁琐的过程,还会带来大量的参数和卷积运算,增加了计算成本。Tan M等[2]提出对网络的深度、宽度和分辨率通过一个复合参数φ均匀的对网络模型进行缩放,公式为

深度:d=αφ

(1)

宽度:w=βφ

(2)

分辨率:r=γφ

(3)

s.t.α·β2·γ2≈2(α≥1,β≥1,γ≥1)

式中:d、w、r分别代表网络的深度、宽度和分辨率,常量α、β、γ是对应d、w、r的调节参数。计算机运算中FLOPS(每秒浮点运算次数)与d、w2、r2成正比,将复合参数φ固定为1,在计算资源是现有网络所占用资源两倍的情况下,令α·β2·γ2≈2,得到网络结构Efficient-B0。Efficient-B0的网络结构组成如表1所示,由移动翻转瓶颈卷积模块(Mobile Inverted Bottleneck Convolution,MBConv)、卷积层、全局平均池化层和全连接层构成,MBConv6代表扩张比例为6的逐点卷积,k3×3/2代表卷积核的大小为3×3,步长为2。Efficient-B0在参数量上比常见的特征提取主干网络减少2~5倍,网络计算的效率得到提升。本文采用Efficient-B0网络代替Darknet 53主干网络作为特征提取器,在目标检测精度相差无几的情况下,改进的目标检测算法需要的计算资源更小。

表1 Efficient-B0的网络结构

2 目标预测

2.1 多尺度特征融合

小目标特征数量比较少,随着神经网络的加深,小目标的特征会丢失,出现检测精度低和漏检的问题。浅层的神经网络能学习到小目标的更多特征,用特征金字塔(Feature Pyramid Network,FPN)模型[5]把浅层的特征通过通道的变换加到深层的网络,将不同尺度下的特征图拼接在一起,提高对小目标检测的准确性。

本文采用Efficient-B0作为主干网络,去掉了网络结构中的池化层和全连接层;用YOLOv3检测网络中的三个尺度(13×13,26×26,52×52),对目标进行预测和分类;检测网络中13×13的尺度用来预测大目标,26×26的尺度用来预测中等目标,52×52的尺度用来预测小目标。特征融合过程如图3所示。多尺度特征融合的步骤如下。

(1)把Efficient-B0主干网络中阶段9输出13×13特征图放到13×13的尺度上进行目标分类预测;

(2)把Efficient-B0主干网络中阶段6输出26×26特征图,与13×13特征图通过线性插值方法2倍上采样得到的特征图拼接,在26×26的尺度上进行目标分类预测;

(3)把Efficient-B0主干网络中阶段4输出52×52特征图,与26×26特征图通过2倍上采样得到的特征图拼接,在52×52的尺度上进行目标分类预测。

图3 FPN特征融合的过程

2.2 目标边界框预测

为提高目标检测的速度和准确性,需要先在预测阶段生成候选框,然后对候选框做回归和非极大值抑制计算,筛选与真实框重合度最高的候选框。在Faster R-CNN中,VGG-16骨架网络输出h×w大小的特征图,对特征图上每个点设置3个尺寸和3种纵横比共9个候选框,特征图上每个点映射到原图中是一块区域[6],如图4所示。

图4 特征图与输入图片的对应关系

Faster R-CNN是对候选框中心坐标(x,y)和长宽(h,w)四个位置坐标相对于真实标记框位置的偏移量进行预测,这比直接预测框的位置坐标学习起来更容易。事实上,神经网络可以自己学习调节候选框的大小,假设输入图片中的目标个数比较少,人为设定每个特征图对应的点要生成9个候选框,候选框的筛选会增加网络运算的时间。

本文用K-means聚类方式通过VOC2007训练集上真实标记框的数据自动生成候选框。首先对训练集中的真实标记框的长和宽做归一化处理,随机选取K个真实标记框的长和宽作为聚类的初始值,多次迭代计算,直到候选框与真实框之间的交并比(Intersection Over Union,IOU)值改变量很小,本文中K的取值为9。在VOC数据集中人和车占的比例较高,自动生成候选框的形状多数为瘦高型;实验得到候选框尺寸为(8×20)、(16×54)、(33×23)、(30×130)、(65×45)、(59×181)、(114×60)、(160×205)、(380×310)。K-means聚类生成的候选框在定义位置时,与Faster R-CNN中的候选框不同,不采用相对于真实框偏移量的方式,因为此方法对偏移量的程度没有约束,候选框可以移动到图片上的任意一点。本文将输入的图片划分为S×S个网格[7],基于每个网格的偏移量定位候选框的位置[8],为防止候选框在图片上随意移动,通过Sigmoid函数约束候选框的移动范围,公式为

bx=σ(tx)+cx

(4)

by=σ(ty)+cy

(5)

bw=pwetw

(6)

bh=pheth

(7)

式中:cx和cy是候选框的中心坐标;pw和ph分别代表候选框的宽和高;预测值tx和ty通过约束函数与候选框中心坐标相加,得到目标边界框的中心坐标bx和by;目标边界框的宽度bw和高度bh是pw和ph与ex相乘得到的。

图5中虚线代表的是候选框,定义候选框是从每个网格的左上角移动,实线框是候选框通过位置回归得到的最终的目标边界框。

图5 候选框的位置回归

3 实验结果

3.1 多尺度训练

为增强网络对任意尺寸图片检测的鲁棒性,对训练集中的图片通过数据增强的方式进行旋转和缩放。实验在VOC2007和VOC2012数据集上联合训练,两个数据集中共选取15000张图片,包含20类,人和车的图片数量占比最高。训练过程中,每10个批次随机换一次输入图片的尺寸,下采样总步长为32;输入图片的分辨率为32的倍数,最大的输入分辨率为480×480,最小的输入分辨率为224×224。多尺度训练过程中只改变输入图片的尺寸;Efficient-B0主干网络各层输出的特征图维度相同。

3.2 实验结果分析

采用两种不同的主干网络Darknet 53及Efficient-B0进行目标检测识别实验,其中测试集分别来自于4952张VOC2007测试集和手机相机采集的1000张自制测试集;两个测试集中目标的类别都为20类,人的图片占总数量的总测试集的40%,其他种类都比较平均。

为提高小目标的检测精度,采用Efficient-B0作为特征提取网络,再利用FPN结构进行特征融合;预测阶段使用YOLOv3的基于候选框回归方法。实验结果如表2所示。通过表2对比发现,两个不同主干网络的目标检测精度(AP-50)相差仅为0.2%,但改进网络Efficient-B0比Darknet53网络的参数量要小4倍,运行速度也有所提高。Darknet53网络的计算量是Efficient-B0网络的8倍。

表2 不同主干网络结构的实验结果对比

图6是采用两种网络结构进行目标检测的结果对比图,图6a和图6c是Darknet53为主干网络的检测结果;图6b和图6d是Efficient-B0结合FPN模块的检测结果;由图6可以看出,对于密集目标和小目标的检测,Efficient-B0的效果更好。

图6 目标检测和识别的实验结果

4 结论

通过将轻量级的移动网络Efficient-B0和YOLOv3目标检测算法结合,在有限的计算资源条件下,不仅降低了网络结构的参数量,提高了运行效率,而且还充分发挥了YOLOv3的实时检测的技术优势。在对小目标进行检测识别时,Efficient-B0与多尺度融合模块FPN结构相结合,显著降低了目标的漏检率。本文改进的目标检测网络需要的计算资源和计算机算力更少,适合应用于移动端的设备。

猜你喜欢
网络结构主干尺度
抓主干,简化简单句
矮砧密植苹果园动态修剪效果好
快递网络结构研究进展
财产的五大尺度和五重应对
基于AutoML的保护区物种识别①
宇宙的尺度
基于互信息的贝叶斯网络结构学习
非常规突发事件跨组织合作网络结构演化机理研究
9
寓美于物理力学主干知识的复习