APP下载

改进YOLOv2卷积神经网络的多类型合作目标检测

2020-03-07王建林付雪松黄展超郭永奇王汝童赵利强

光学精密工程 2020年1期
关键词:池化卷积神经网络

王建林,付雪松,黄展超,郭永奇,王汝童,赵利强

(北京化工大学 信息科学与技术学院,北京 100029)

1 引 言

高端制造业及大型装备研制的快速发展,迫切需求对大型构件三维几何参量实现高精度测量。在大型构件三维几何参量精密测量中,由于被测目标结构复杂、测量环境变化等因素,现有的测量仪对合作目标的检测精度较低。目标视觉检测具有较高的检测精度,可同时检测多种类型目标,充分利用视觉检测的优点,准确检测多类型合作目标,能有效地提高大型构件三维几何参量精密测量的精度。

现有目标视觉检测方法主要有:基于人工设计特征的视觉检测方法和基于卷积神经网络(Convolutional Neural Networks,CNN)的视觉检测方法[1]。

基于人工设计特征的目标视觉检测方法利用被测目标图像的人工设计特征训练分类器,通过分类器对滑动窗口图像区域的人工设计特征进行目标分类和目标定位。Felzenszwalb等[2]提出了将目标检测分解为多个部件检测的思想,设计了一种可变形部件模型(Deformable Parts Models,DPM)目标检测框架,将方向梯度直方图(Histogram of Oriented Gradient, HOG)特征与支持向量机(Support Vector Machine, SVM)分类方法紧密结合并应用于目标检测,显著地提高了目标检测精度与效率。在合作目标检测应用中,李新德等[3]通过融合Hu矩、归一化转动惯量、仿射不变矩等多种特征检测目标,提高了合作目标检测精度;初广丽等[4]通过直线和圆等几何特征检测航天器合作目标,具有对噪声、光照和旋转变化等复杂场景不敏感的优点;罗志伟等[5]采用高斯混合模型并结合圆度特征对BGA焊球进行缺陷检测,获得了较高的准确度和可靠性;王慧利等[6]利用边缘-方向梯度直方图特征检测复杂背景下的舰船目标,具有边缘特征鲁棒性强、检测精度高的优点。然而,基于人工设计特征的目标视觉检测方法采用滑动窗搜索目标效率较低,人工设计特征描述目标能力有限,不同人工设计特征适用的目标类型也不相同,难以满足复杂环境下大型构件三维几何参量精密测量中多类型合作目标的检测需求。

随着数据资源的不断丰富和图形处理器性能的提升,深度卷积神经网络方法在目标检测领域得到了应用。Girshick等[7]首次提出了R-CNN(Regions with CNN features)目标检测方法,采用深度卷积神经网络提取目标特征,取得了较高的目标检测精度。在此基础上,Fast RCNN[8]、Faster R-CNN[9]方法相继出现,目标检测精度和速度进一步提升;但是上述方法在检测目标时仍然需要分阶段进行候选区域生成和目标分类,检测速度难以满足实时性要求。Redmon等[10]基于回归预测的思想提出了YOLO(You Only Look Once)目标检测方法,实现了目标实时检测,较大地提升了检测速度,但是该方法对于图像中的小尺寸目标检测精度较低,定位误差较大。Liu等[11]提出了一种单次多目标框检测(Single Shot MultiBox Detector,SSD)方法,引入先验候选框,在多尺度特征图上进行目标检测,目标检测精度得到提高。Redmon和Farhadi[12]借鉴SSD方法的先验候选框策略提出了YOLOv2方法,相较于YOLO方法,目标检测精度和速度有了明显提高,然而该方法的基础网络特征提取能力较弱,未充分利用图像多尺度局部区域特征,制约了目标检测精度的提高。随后,DSSD[13]和YOLOv3[14]将基础网络改为特征提取能力更强的深度残差网络[15],提高了目标检测精度,但是网络层数过多导致检测速度严重下降。Zhou等[16]提出的可变尺度检测网络(Scale-Transferrable Detection Network,STDN)方法采用密集连接网络[17]对SSD进行改进,在有效提升检测速度的同时保持了良好的检测精度。Jeong等[18]提出了改进SSD目标检测方法,但是现有研究中对于YOLO方法的改进仍然较少。

本文针对大型构件三维精密测量中构件结构复杂、测量环境变化等导致的合作目标检测精度低的问题,提出一种改进YOLOv2卷积神经网络的多类型合作目标检测。利用WGAN-GP生成对抗网络扩增合作目标图像样本数量,采用卷积层密集连接代替YOLOv2基础网络的逐层连接,引入空间金字塔池化汇聚图像局部区域特征,构建改进YOLOv2卷积神经网络的多类型合作目标检测方法,实现多类型合作目标检测。

2 改进YOLOv2卷积神经网络的多类型合作目标检测方法

2.1 WGAN-GP训练数据增强

在基于深度卷积神经网络方法的合作目标检测应用中,难以获得大量带有标注的合作目标图像样本用于模型训练,样本数量少会导致模型的泛化能力弱,出现过拟合,降低目标检测精度。为了解决合作目标图像数量不足的问题,采用基于生成对抗网络(Generative Adversarial Network,GAN)的WGAN-GP[19]方法扩增合作目标图像样本数量,使得目标检测模型的泛化能力和鲁棒性得到提高。

在GAN中,生成模型G和判别模型D之间的二元极小极大博弈表示为[20]:

Ez~pz(z)[log(1-D(G(z)))],

(1)

式中:E(·)表示期望;x为服从分布pdata(x)的真实训练样本;z为服从分布pz(z)的输入生成器噪声;pg(x)表示生成样本的数据分布。

采用Wasserstein距离衡量两个分布的相似程度,引入梯度惩罚加快模型收敛[19],目标函数为:

Ex~pg(x)[D(x)]-

λpenaltyEx~ppenalty[(‖xD(x)‖-1)2]},

(2)

式中:D∈1-Lipschitz,对于任意的x都有‖xD(x)‖≤1,xD(x)表示判别模型输入对于输出的梯度;设生成样本分布中的点为xg,真实样本分布中的点为xdata,xg和xdata连线上的点满足分布ppenalty(x),λpenalty表示惩罚参数。

2.2 YOLOv2目标检测

YOLOv2目标检测方法划分输入图像为S×S个网格,每个网格采用卷积神经网络预测K个边界框的位置、边界框包含目标属于C种类型的条件概率Pr(Classi|Object)、目标的置信度Pr(Object)*IoU(Intersection over Union,IoU,表示预测框与真实框的交并比)。每个预测框的类别置信度为:

(3)

表征了目标真实边框与目标预测边框的重合程度和目标属于每个类别的概率。YOLOv2卷积神经网络预测输出层的维度为S×S×(K×(5+C))。

YOLOv2卷积神经网络基础网络提取特征的中间层采用卷积-下采样的方式,梯度逐层反向传播将越来越小,最终出现“梯度消失”,且YOLOv2偏重于融合不同层的全局特征,未充分利用多尺度局部区域特征,限制了YOLOv2目标检测的精度。

2.3 卷积层密集连接

针对YOLOv2基础网络特征提取能力弱以及反向传播的“梯度消失”问题,采用改进的卷积层密集连接代替YOLOv2基础网络的逐层连接,增强YOLOv2基础网络特征提取能力和图像特征信息流,提高目标检测精度。

设卷积神经网络第l层的输入为xl,卷积核权重为wl,偏置为bl,中间变量yl=xl-1*wl+bl,激活函数为f(·),损失函数为L(·);卷积层密集连接将前l-1层输出的特征图堆叠为 [x0,x1, …,xl-1]作为第l层的输入,当卷积神经网络正向传播时:

xl=f(wl*[x0,x1,…,xl-1]+bl).

(4)

当卷积神经网络反向传播时,损失函数的梯度:

δl-1=δl*rot180(wl)⊙

(5)

其中:*表示卷积;rot180(·)表示对权重参数矩阵逆时针旋转180°,⊙表示Hadamard积。

与YOLOv2的激活函数导数项f′(wl-1*xl-2+bl-1)相比,f′(wl-1*[x0,x1,…,xl-2]+bl-1)包含输入特征图x0以及之前各层的输出特征;此连接方式将输入特征传入网络的每一层,能够充分利用输入特征,并且网络可以直接从损失函数计算梯度,减轻“梯度消失”现象,进而提高目标检测精度。

由于网络中过多添加密集连接将会影响目标检测速度,因此将基础网络中包含丰富特征的最后一个卷积模块的逐层连接改为密集连接;同时,由于密集连接模块位于网络的较深层,所提取的特征为深层抽象特征,所含信息较丰富,因此采用3×3卷积层提取特征,并采用1×1卷积减少特征图数量,最终卷积层密集连接单元的非线性映射表示为BN- ReLU-Conv(3×3)-BN-ReLU-Conv(1×1)。

2.4 空间金字塔池化

为了充分利用图像局部区域特征,在YOLOv2中引入了改进的空间金字塔池化模块,实现局部不同尺度区域的特征池化融合,并将不同卷积层的全局特征和同一卷积层不同尺度的局部特征有效融合,进而提高目标检测精度。

图1 改进的空间金字塔池化

改进的空间金字塔池化模块如图1所示。首先采用1×1卷积减少输入特征图数量,其次,对特征图进行多尺度池化,用Spool×Spool表示池化窗口尺寸,Sfmap×Sfmap表示输入特征图尺寸,则:

(6)

取ni=1,2, 3,分别进行最大池化,每个尺度池化步长均为1,利用边界填充(padding)以保持池化后的特征图尺寸不变;最终得到3个尺寸为Sfmap×Sfmap×512的特征图。

与He K等[21]提出的空间金字塔池化相比较,改进的空间金字塔池化将3个维度为Sfmap×Sfmap×512的特征图池化后与输入特征图进行叠加,得到Sfmap×Sfmap×2 048维的特征图作为输出,此方式避免了原空间金字塔池化中各层特征图变换为固定尺寸特征向量的局限性,汇聚了图像局部区域特征,提高了目标检测精度。

2.5 改进YOLOv2卷积神经网络的多类型合作目标检测方法

采用上述卷积层密集连接和空间金字塔池化改进YOLOv2,构建改进YOLOv2卷积神经网络的多类型合作目标检测方法。图2为改进YOLOv2卷积神经网络多类型合作目标检测模型。

结合新闻报道、学术研究以及裁判文书网,笔者发现针对共享单车不法行为类型繁多,处罚方式各异。总结对共享单车的不法行为,笔者发现三种较为典型的不法行为:私藏共享单车、给共享单车上私锁以及毁坏共享单车。相较于传统犯罪,针对共享单车的犯罪属于“新生事物”,因而理论界和司法界对于针对共享单车的刑法规制众说纷纭,各执一词。以下,笔者将对这三种典型不法行为的刑事责任进行探讨。

首先利用5个下采样的层叠卷积-池化模块提取目标的特征;然后采用包含由4个密集连接单元的密集连接模块提取目标的抽象特征,密集连接模块的每个卷积层输出m幅堆叠的特征图,密集连接模块的第l层输入m0+m×(l-1)幅堆叠的特征图,其中m0为每个密集连接模块输入的特征图通道数;其后是3层的空间金字塔池化模块,该模块先采用1×1卷积减少输入特征图数量,然后汇聚多尺度局部区域特征,将输入特征图与多尺度池化特征图叠加,得到Sfmap×Sfmap×2 048维的特征图;最后为多尺度目标检测模块,根据空间金字塔池化模块输出的特征图尺寸重构密集连接模块过渡层下采样前的特征图,使二者尺寸相同并叠加,采用1×1×(K×(5+C))的卷积核对叠加后的特征图进行卷积,得到S×S×(K×(5+C))特征图并进行目标检测。

改进YOLOv2卷积神经网络多类型合作目标检测方法最终输出的预测框可表示为:

b=[bx,by,bw,bh,bc]T,

(7)

其中:(bx,by)为预测框中心点坐标;bw和bh分别为预测框的宽和高;bc表示置信度;bx,by中相对网格左上角的偏移量tx,ty和bc采用Sigmoid函数约束至[0,1]。

图2 改进YOLOv2卷积神经网络多类型合作目标检测模型

(8)

3 多类型合作目标检测算法

如图3为改进YOLOv2卷积神经网络的多类型合作目标检测方法的算法流程,包括训练数据集构建、目标检测模型训练以及目标检测三个步骤。

首先,为了防止模型训练过拟合,采用基于WGAN-GP的方法进行数据增强(Data Augmentation,DA),增加训练样本数量。根据训练样本的标注采用k-means聚类生成先验候选框[12],聚类距离指标为训练样本各目标边界框与聚类中心目标边界框的交并比IoU,即:

(9)

其次,设置训练参数,加载卷积神经网络模型,构建损失函数,迭代更新模型权重参数使得损失函数收敛,获得改进YOLOv2卷积神经网络多类型合作目标检测模型。

最后,输入测试样本,加载已训练的改进YOLOv2卷积神经网络多类型合作目标检测模型进行多类型合作目标检测。

多类型合作目标检测算法步骤如下:

步骤1: 将输入图像划分为S×S个网格,每个网格根据先验边界框生成K个边界框;

步骤2: 采用改进YOLOv2卷积神经网络提取特征,通过回归预测边界框b=[bx,by,bw,bh,bc]T以及分类概率Class=[Class1,Class2,…,CalssC]T;

步骤3:选取具有最大置信度的边界框,判断其置信度与阈值的关系;若置信度大于阈值,则认为此边界框中包含目标,得到边界框的中心点坐标和尺寸参数,否则认为该边界框不包含目标;

步骤4: 选取包含目标的边界框预测概率最大的类型作为预测目标类型;

步骤5: 采用非极大值抑制方法进行局部最大搜索,抑制冗余边框,输出并显示目标检测结果。

图3 改进YOLOv2卷积神经网络的多类型合作目标检测算法流程

4 实验及分析

4.1 多类型合作目标检测实验系统

实验系统计算机配置为Intel(R) Xeon(R) E5-2643 3.3 GHz CPU,32.00 GB内存,Navida GTX 1080Ti GPU,11.00 GB GPU显存,Windows10系统Visual Studio 2017平台,所使用的深度学习框架为Darknet,采用C/C++语言编程实现。实验系统如图4所示。

实验结果采用平均精度(Average Precision, AP)、平均精度均值(mean Average Precision,mAP)、平均IoU和目标检测速度作为性能评价指标,评价改进YOLOv2方法的目标检测性能。AP表示网络对每类目标检测的平均精确度,计算方式为每类目标查准率-查全率曲线(Precision-Recall曲线)下方的面积,mAP为各类目标检测的AP均值;平均IoU为全部预测框IoU的均值;目标检测速度采用每秒传输帧数表示;Precision、Recall、AP、mAP和IoU可分别表示为:

precision=TP/(TP+FP),

(10)

recall=TP/(TP+FN),

(11)

(12)

(13)

IoU=TP/(TP+FP+FN),

(14)

其中:FN表示预测不是该类目标但实际是该类目标的目标数量;FP表示预测是该类目标但实际不是该类目标的目标数量;TP表示预测与实际均为该类目标的目标数量;precisionmax(r)表示最大的precision;m表示目标类别数量。

图4 多类型合作目标检测实验系统

4.2 训练数据增强

采用WGAN-GP方法扩增训练集和验证集各3 000幅图像。原始训练样本图像包含不同类型合作目标且图像整体尺寸较大,导致生成高分辨率复杂环境多类型合作目标图像较困难;因此,截取训练图像中已标注的目标边界框子区域并提取区域中的目标类型,利用子区域和其中的目标类型训练WGAN-GP模型生成对应类别的合作目标图像。

如图5(a)所示,用于训练的平面反射片目标子区域图像为26 850幅、球形角锥棱镜目标子区域图像为21 350幅,图像尺寸均为128×128 pixel,其他设置与Gulrajani等[19]相同。图5(b)所示为WGAN-GP生成的多类型合作目标图像。将生成的合作目标图像与原始图像目标子区域叠加获得合成图像样本,如图5(c)所示。根据添加的合作目标类型以及随机添加的目标子区域位置,生成合成图像样本的先验标记信息,与原始训练样本一起构建被测合作目标检测训练数据集。

图5 基于WGAN-GP的数据增强结果

采用训练数据集训练YOLOv2目标检测模型,表1为分别采用原始测试集中的真实目标和WAGN-GP增强数据集进行目标检测实验的结果。

表1YOLOv2检测真实目标和WGAN-GP生成目标的结果

Tab.1 Detection results of real targets and WGAN-GP generated targets using YOLOv2 (%)

测试数据集AP-ReflectorAP-Spherical targetmAP平均IoU原始测试集78.2090.7084.4564.28WGAN-GP增强数据集77.0590.5683.8062.40

注:AP-Reflector表示平面反射片目标平均检测精度,AP-Spherical target表示球形角锥棱镜目标平均检测精度。

由实验结果可知,增强数据集的mAP为83.80%、平均IoU为62.40%,原始测试集的mAP为84.45%、平均IoU为64.28%,增强数据集的目标检测精度和定位准确度与原始测试集相近;表明通过WGAN-GP数据增强方法可生成高质量的多类型合作目标合成图像,能够较为真实地模拟多类型合作目标图像;证明了基于WGAN-GP方法扩增训练样本的有效性和可行性。

4.3 多类型合作目标检测

分别采用原始合作目标训练数据集和数据增强的合作目标训练数据集训练改进YOLOv2卷积神经网络多类型合作目标检测模型,并同时训练YOLOv2目标检测模型作为对照组;利用原始合作目标训练数据集训练的改进YOLOv2目标检测模型表示为改进YOLOv2,利用数据增强的合作目标训练数据集训练的改进YOLOv2目标检测模型表示为改进YOLOv2+DA,YOLOv2模型的表示方法与改进YOLOv2相同。

图6、图7为改进YOLOv2+DA方法的合作目标检测结果;表2为在合作目标测试数据集上的目标检测实验的统计结果。

采用原始合作目标训练集训练,采用合作目标测试数据集测试,改进YOLOv2目标检测模型的合作目标检测mAP达到89.78%,相较于YOLOv2模型提高了5.33%,表明所提改进YOLOv2卷积神经网络的多类型合作目标检测方法能够显著提高合作目标检测精度;改进YOLOv2模型检测的合作目标平均IoU为67.46%,相较于YOLOv2模型提高了3.18%,表明了改进YOLOv2模型对于合作目标的定位和尺寸预测比YOLOv2模型更加准确;合作目标检测速度达到58.9 frame/s,仍然保持了较快的检测速度。

图6 实验室环境下的合作目标检测结果

图7 自然环境下的合作目标检测结果

采用数据增强的合作目标训练集训练,采用合作目标测试数据集测试,改进YOLOv2+DA目标检测模型的合作目标检测mAP达到90.48%,相较于改进YOLOv2目标检测模型提高了0.7%;改进YOLOv2+DA目标检测模型检测的合作目标平均IoU达到70.89%,相较于改进YOLOv2目标检测模型提高了3.43%;表明采用WGAN-GP方法扩增样本训练合作目标检测模型,能够有效提高合作目标检测精度。

综合比较分析YOLOv2、YOLOv2+DA、改进YOLOv2和改进YOLOv2+DA目标检测模型的合作目标检测结果:改进YOLOv2+DA目标检测模型的目标检测mAP相较于以上三种模型分别提高了5.89%、4.24%和0.7%,表明了采用卷积层密集连接和空间金字塔池化改进YOLOv2方法的有效性,以及基于WGAN-GP的数据增强对于提高合作目标检测精度的可行性。同时,基于改进YOLOv2和数据增强的合作目标检测仍然保持58.7 frame/s的较快目标检测速度,能够实现多类型合作目标的实时检测。

由图6和图7可知,所提改进YOLOv2卷积神经网络的多类型合作目标检测方法能够实现多类型合作目标的高精度检测,对于环境变化具有较好的鲁棒性,适用场景较广。

表2 改进YOLOv2和YOLOv2的合作目标检测结果比较

Tab.2 Comparison of cooperation target detection results between Improved YOLOv2 and YOLOv2

目标检测模型AP-Reflector/%AP-Spherical target/%mAP/%平均IoU/%速度 /(frame/s)YOLOv278.2090.7084.4564.2861.3YOLOv2+DA81.9590.5386.2464.3261.2改进YOLOv289.2190.3489.7867.4658.9改进YOLOv2+DA90.4590.5090.4870.8958.7

5 结 论

本文采用卷积层密集连接代替YOLOv2基础网络的逐层连接,引入空间金字塔池化,建立了改进的YOLOv2,在此基础上,提出了一种改进YOLOv2卷积神经网络的多类型合作目标检测方法,有效地增强了目标图像特征信息流,提高了目标图像局部区域特征利用率,具有较高的多类型目标检测精度和速度。实验结果表明:采用WGAN-GP扩增图像数据样本具有可行性和有效性,采用YOLOv2检测扩增图像的mAP达到83.80%;采用数据增强样本训练改进YOLOv2合作目标检测模型,能够使合作目标检测的mAP提高了0.7%;增强数据集训练的改进YOLOv2合作目标检测模型检测多类型合作目标的mAP达到90.48%,检测速度达到58.7 frame/s;所提方法能够准确地检测多类型合作目标,满足大型构件三维测量中多类型合作目标的检测要求。

猜你喜欢

池化卷积神经网络
面向神经网络池化层的灵活高效硬件设计
基于Sobel算子的池化算法设计
卷积神经网络中的自适应加权池化
基于3D-Winograd的快速卷积算法设计及FPGA实现
神经网络抑制无线通信干扰探究
从滤波器理解卷积
基于卷积神经网络和池化算法的表情识别研究
基于傅里叶域卷积表示的目标跟踪算法
基于神经网络的拉矫机控制模型建立
复数神经网络在基于WiFi的室内LBS应用