基于边界极限点特征的改进YOLOv3目标检测

2023-02-03 03:01李克文杨建涛黄宗超
计算机应用 2023年1期
关键词:单点特征提取尺度

李克文,杨建涛,黄宗超

(中国石油大学(华东)计算机科学与技术学院,山东 青岛 266580)

0 引言

目标检测是计算机视觉领域的基本任务之一,不仅需要对目标进行分类,而且需要预测目标所在位置。目标检测广泛应用于日常生活安全、交通场景检测、遥感图像检测、医学图像检测以及自动驾驶等领域。随着深度神经网络的高速发展以及深度神经网络在目标检测领域的广泛应用,当前目标检测算法在计算机视觉领域已经取得了相当不错的效果[1-3],然而在实际高精度目标检测场景下,其检测精度仍然不能满足应用需求,对目标实现高精度检测仍然是目标检测中具有挑战性的任务。造成目标检测困难的原因有两种:一种是检测目标较小且数量众多;另一种是检测目标高度重叠,因此在检测过程中极易出现漏检、误检等情况。

近年来随着深度学习[4-6]的发展,卷积神经网络被广泛应用在目标检测领域,并且取得了一定成果。目标检测算法主要分为两大类:基于边界框回归的一阶段目标检测算法和基于候选区域的两阶段目标检测算法。一阶段目标检测算法在产生边界框的同时对目标进行分类和回归,如YOLO(You Only Look Once)系 列[7-9]、SSD(Single Shot MuitiBox Detector)[10]以及RetinaNet[11]目标检测算法。两阶段目标检测算法首先生成候选区域,再对候选区域进行特征提取,之后对目标分别进行分类和回归,如区域卷积神经网络(Region-Convolutional Neural Network,R-CNN)[12]、Fast RCNN[13]以及Faster R-CNN[14]目标检测算法。上述目标检测算法尽管在目标检测中取得了一些进展,但是均采用基于点的边界框特征表示,该特征感受野有限,缺乏目标边界信息,不能有效表示目标实例语义信息以进行回归训练,而且上述目标检测算法不能很好地解决中小目标检测以及目标高度重叠的问题,以致不能实现高精度目标检测。

针对上述目标检测算法存在的问题,提出一种基于边界极限点特征的改进YOLOv3 目标检测算法。首先,引入一种边界增强算子Border,自适应地从边界极限点中提取边界特征来增强已有点特征,使目标实例特征具有较大的感受野以及较强的目标边界信息,解决目标高度重叠问题,提高目标检测的准确率;其次,为解决目标检测场景下小目标检测困难的问题,通过增加目标检测尺度,细化特征图,增强特征图深、浅层语义信息融合,进一步提高目标检测精度;最后,基于目标检测中改进网络模型及目标实例特性引入完全交并比(Complete Intersection Over Union,CIoU)函数[15]分析目标物体的尺度敏感性,通过预测框与真实框的重叠面积、中心点距离和长宽比改进原YOLOv3 损失函数,更好地反映预测框和真实框的重合程度,解决边界框收敛速度慢、召回率低的问题,提高了目标检测的准确率。MS COCO 数据集[16]上的实验结果表明,与现有目标检测算法相比较,改进YOLOv3 算法能够有效提高目标检测精度,并且达到实时检测效果。

1 相关工作

Redmon 等[7-9]基于一阶段边界框回归策略提出了YOLO系列目标检测算法,该系列算法在目标检测中具有实时的检测效果和较高的检测精度,受到研究学者的广泛关注。此后,许多相关的改进算法被提出,并应用于各个领域。然而,在实现高精度目标检测的同时兼顾检测速度方面,相关改进算法并不能提出有效的解决方法。

Huang 等[17]提出一种基于密集连接和空间金字塔的改进算法,采用卷积层的密集连接,并引入改进空间金字塔结构加强特征提取,使网络全面学习目标特征,提高检测精度;Wu 等[18]利用特征提取网络输出特征图与残差结构输出特征图进行融合,促进目标特征重用与获取;Liu 等[19]利用圆形边界框(Circle-Bounding box,C-Bbox)替换传统的矩形边界框,改善非极大值抑制计算,同时减少坐标预测,提高目标定位精度;Hsu 等[20]提出比率和尺度感知(Ratio Scale Aware-YOLO,RSA-YOLO)算法,解决目标纵横比差异较大的问题,提高边界框收敛速度。

以上改进算法相较于YOLO 系列目标检测算法在检测精度上均有提升,但是面对实时高精度目标检测任务时,都不能在保证对目标进行高精度检测的同时确保实时性。本文提出一种基于边界极限点特征的改进YOLOv3 目标检测算法,在COCO 数据集上验证了所提算法的高效性。

2 YOLOv3目标检测算法

YOLOv3 以YOLOv2 为基础进行改进,在识别速度和精度上有了明显的提高。YOLOv3 使用Darknet-53[9]全卷积网络作为骨干网络进行特征提取,如表1 所示,Convolutional 为卷积层。Darknet-53 包含52 个卷积层和1 个全连接层,并且交替使用大小为1 和3 的卷积核进行卷积,能够提取丰富的目标实例语义信息;同时Darknet-53 使用了Residual 残差模块[4]和批归一化层(Batch Normalization,BN),解决了因网络加深而出现的网络过拟合以及性能下降问题。

表1 Darknet-53网络结构Tab.1 Darknet-53 network architecture

不同尺度的特征图感受野具有的语义信息粒度不同,为提高目标检测精度,YOLOv3 在加深网络的同时采用特征金字塔网络(Feature Pyramid Network,FPN)[21]中的金字塔结构,将多种尺度特征图融合帮助网络学习不同尺度的特征信息,然后将融合后的特征信息输入预测层进行多尺度目标预测。FPN 对最后获得的特征图进行两次上采样,得到三个尺度的特征图,之后融合特征提取网络中同尺度的细粒度特征,分别进行三种不同尺度的目标预测。对于输入大小为416×416 的图像,特征提取网络获得其32 倍下采样13×13 大小的特征图,该特征图具有较大的感受野,包含更加抽象的语义信息,适合大尺度目标检测。为检测中等尺度的目标,对大小为13×13 的特征图进行上采样得到26×26 大小的特征图,与特征提取网络中同尺度特征图进行深度拼接;同样,对大小为26×26 的特征图进行上采样得到52×52 大小的特征图,并与特征提取网络中同尺度特征图进行深度拼接,得到8 倍下采样52×52 大小的特征图,该特征图感受野最小,适合检测小尺度目标。

YOLOv3 目标检测算法采用anchor box 机制分别为3 种尺度的特征图设置3 种先验框,如表2 所示,这些先验框由K-means 聚类算法根据COCO 数据集聚类得到,生成9 种尺寸的先验框。通过对3 种尺度特征图进行分类和边界框回归,特征图上的每个网格会根据预先设置的先验框预测出3个边界框,每个边界框包含k个类别的概率、1 个置信度以及4 个边界框位置回归参数。每个网格预测输出(4+1+k)×3 维向量,分别对应预测得到的边界框位置回归参数、置信度以及每个类别的概率。

表2 不同尺度先验框Tab.2 Prior boxes with different scales

YOLOv3 损失函数分为三个部分,包括目标定位损失Lloc、目标置信度损失Lconf以及目标分类损失Lobj,分别如式(1)~(3)所示,YOLOv3 总的损失LYOLO为三个损失之和,如式(4)所示。为更好地进行目标检测回归训练并平衡各项损失的比重,增加较大的权重λloc=5 于坐标损失,对于不含检测目标的置信度损失给予较小的权重λnoobj=0.5。

其中:s2为划分图片的网格数;B为每个网格预测的边界框数;图片第i个网格中第j个边界框负责预测目标时,为1,否则为0;图片第i个网格中第j个边界框不负责预测目标时为1,否则为0;图片第i个网格中存在预测目标时,为1,否则为0。

3 改进YOLOv3目标检测算法

针对目标检测场景中待检测目标数量众多、目标尺度较小、目标高度重叠等问题,本文改进YOLOv3 目标检测算法首先引入边界增强算子Border,增强目标实例特征的目标边界信息以及感受野信息,解决目标高度重叠问题,提高目标检测的准确率;其次,增加目标检测尺度,细化特征图,增强特征图深、浅层语义信息的融合,解决目标检测场景下小目标检测不易问题;最后,基于目标检测中改进网络模型及目标实例特性引入CIoU 函数分析目标物体的尺度敏感性,通过预测框与真实框的重叠面积、中心点距离以及长宽比三个因素改进原YOLOv3 损失函数,更好地反映预测框和真实框的重合程度,解决边界框回归收敛速度慢、召回率低的问题,提高目标检测的准确率。

3.1 边界特征提取

YOLOv3 目标检测算法采用基于单点特征的边界框预测目标,这些边界框由网格上的每个点进行预测,如图1(a)所示,由于没有进行额外的特征提取,这种单点特征便于目标定位与目标分类;但是,较小的点特征感受野不能很好地表示目标实例的语义信息,而且缺少目标边界信息来更好地进行回归预测,不能有效解决目标重叠问题。因此,引入边界特征提取算子Border,直接利用边界框每条边的极限点特征以增强原单点特征,如图1(b)所示,Border 专注于边界极限点,自适应地提取目标边界的代表性特征,计算量较小,提升了准确率。

图1 不同特征提取策略Fig.1 Different feature extraction strategies

与现有的单点特征增强[18-20]技术相比,Border 的计算量更小,检测速度更快,准确率更高。如图2(a)所示,圆点为检测目标的单点特征表示,没有明确的目标边界信息,会限制目标检测算法的定位能力;如图2(b)所示,从边界框的整个区域提取特征来增强单点特征,这种操作能够提供比单点特征表示更加丰富的语义信息,但是计算冗余,容易受到背景特征的干扰;如图2(c)所示,通过提取边界框每条边的全部点特征来增强单点特征,在一定程度上减少了计算冗余,但还是会受到背景信息的干扰;如图2(d)所示,自适应提取边界框极值点特征来增强单点特征,能够科学利用边界特征精确地定位目标,避免特征计算冗余以及背景信息的干扰。

图2 不同点特征增强技术Fig.2 Different point feature enhancement techniques

自适应边界特征提取算子Border 采用具有5C通道的边界敏感特征作为输入,输入特征的其中4C通道分别对应边界框的四个边界(上、下、左、右),剩余C通道对应原始的单点特征。Border 的体系结构如图3 所示,Border 将特征提取网络13×13×C的输出特征图映射为13×13×5C的特征图作为输入,对每个边界均匀采样N个点,选取其中的最大值作为该边界的极限点特征对单点特征进行增强,最后将13×13×5C的输出特征图降维为13×13×C的特征图作为YOLO 算法检测分支的输入。

图3 Border结构Fig.3 Border architecture

Border 采用自适应边界极限点特征提取策略,假设输入特征的映射顺序为点、左边界、上边界、右边界、下边界,则输出特征映射F如式(5)所示:

其中:Ic是输入特征图;Fc(i,j)是输出特征图F的第c个通道第(i,j)个点的特征值;(x0,y0,x1,y1)是点(i,j)的边界框预测回归信息;w和h分别是边界框的宽和高;N是边界框每条边的采样点个数。为了避免量化误差,对输入特征图上的特征值使用双线性插值算法精确计算每个采样点的特征值。

3.2 多尺度检测

YOLOv3 目标检测算法通过Darknet-53 对目标实例进行特征提取,该网络共有53 层,利用大小为3 的卷积核进行卷积操作。Darknet-53 经过深层次卷积提取特征后,感受野较大,但是牺牲了空间分辨率,丢失了目标实例语义信息。在目标检测场景中还存在小目标数量多的问题,这些问题大多依赖于浅层细粒度特征。尽管YOLOv3 通过三个尺度检测目标,但输出特征图维度较低,极易出现漏检、误检,不能很好地解决小目标检测问题,检测精度较低。

为了进一步解决目标检测中小目标检测难的问题,本文以YOLOv3 网络结构为基础,综合考虑检测网络准确率与性能,采用原始网络图像输入大小416×416,对特征提取网络的13×13 输出特征图进行三次上采样,即在原始网络结构上增加一个104×104 的检测分支,与特征提取网络中相同大小特征图进行深度拼接,得到4 倍下采样104×104 大小的特征图,该特征图感受野最小,适合检测小尺度目标。改进后的网络结构如图4 所示,采用13×13、26×26、52×52、104×104 四个尺度检测,细化特征提取网络输出,增强特征图深、浅层语义信息融合,以解决目标检测场景下小目标检测难的问题。

图4 改进后网络结构Fig.4 Improved network structure

3.3 损失函数

YOLOv3 检测算法作为端到端的一阶段目标检测算法,损失函数由目标定位、置信度以及分类损失三部分组成,其中目标定位损失使用均方差(Mean Square Error,MSE)损失函数计算。交并比(Intersection over Union,IoU)[7]是目标检测任务中常用的指标,由于IoU 是比值的概念,对目标物体的尺度不敏感,然而目标定位损失中使用的MSE 损失函数对目标物体的尺度是敏感的,因此在优化过程中目标定位损失优化和IoU 优化不等价。在目标检测算法中上述目标定位损失存在的问题会导致边界框回归收敛速度过慢以及目标检测定位精度低,不能够很好地满足目标检测任务实时、高精度的需求。

通过分析目标检测中目标实例特点以及改进网络结构,本文采用CIoU 函数来计算目标定位损失,CIoU 函数包括预测框与真实框的三个几何因素,即重叠面积、中心点距离和长宽比,能够更好地反映重合程度,提高定位准确度,CIoU示意如图5 所示。

图5 CIoU示意图Fig.5 CIoU schematic

CIoU 计算式为:

其中:fIoU是真实框与预测框的交并比;d是真实框与预测框的中心点距离;s是真实框与预测框最小外接矩形对角线的长度;α是平衡参数;v用于计算真实框与预测框的长宽比。v、α计算式如下所示:

其中:wgt与hgt为真实框的宽与高;w与h为预测框的宽与高,因此,目标定位损失函数可以定义为:

4 实验与结果分析

4.1 实验方法与设置

在COCO 数据集上验证本文改进YOLOv3 算法的有效性,其中COCO 数据集包含80 类目标,且小目标居多。为了达到更好的验证效果,本文使用的评价指标包含:IoU 为0.5∶0.05∶0.9 时的平均精度(Average Precision,AP);IoU 为0.5 时的平均精度(AP50);IoU 为0.75 时的平均精度(AP75);APS、APM、APL分别为小、中、大型目标的AP;每秒检测的图像帧数(Frames Per Second,FPS)为目标检测网络的检测速度。

实验在COCO 训练集上训练,在COCO 测试集上测试评估,使用Darknet-53 作为骨干网络。训练阶段首先利用ImageNet 数据集预训练的权重初始化骨干网络,然后参照文献[9]的实验环境设置,整个算法迭代次数为9 × 104,初始学习率设置为10-2,分别在6 × 104次和8 × 104次时将学习率降低为原来的1/10,最终学习率为10-4,动量因子为0.9,权重衰减系数为10-4,采用随机梯度下降法优化损失函数。

4.2 边界增强算子Border实验与分析

边界增强算子Border 首先需要对目标边界框每条边进行均匀多点采样,之后自适应选取每条边界最大值作为极限点。采用实验分析采样点个数对目标检测算法性能的影响,比较不同采样点大小下算法的检测性能,实验结果如表3 所示。当采样点个数为0 时,实验结果等价于YOLOv3 算法性能;当采样点个数较少时,检测精度提升较小且效果不稳定;当采样点个数较多时会导致额外的计算量,精度提升较大但检测速率较慢。因此,最终设置10 为采样点个数,此时精度提升较大且检测速率较快。

表3 不同采样点个数下算法性能对比Tab.3 Comparison of algorithm performance under different number of sampling points

为了验证本文采用的Border 的效果,提供了对图2 不同单点特征增强技术的更深层次分析。首先,采用YOLOv3 目标检测算法在COCO 数据集上的检测结果作为基线;随后依次采用图2 中展示的特征增强技术验证单点特征的增强结果。如表4 所示,边界框区域特征Fregion能够显著增强单点特征,使用区域特征对单点特征进行增强,AP 较YOLOv3 提高1.8 个百分点;当边界框区域特征用于增强单点特征时,边界特征FBorder在区域特征中起主要作用,如果忽略边界框区域特征的内部区域只引入边界特征,相较于Fregion,AP 只下降0.3 个百分点;与Fregion相比,边界极限点特征Fmax能够在采样点N较少的情况下达到相近的性能,在某些情况下更优。对于目标检测,使用边界框区域或者边界特征进行特征增强是冗余的。因此,对于目标的特征表示,本文引入的自适应提取边界极限点特征来增强单点特征的策略能够更好地提高目标检测器的性能。

表4 不同特征增强技术效果对比Tab.4 Comparison of effect of different feature enhancement techniques

4.3 消融实验与分析

本文提出的基于边界极限点特征的改进YOLOv3 目标检测算法采用Border、增加检测尺度以及损失函数优化的方法提高目标检测算法的检测效果。为了验证本文算法对于高精度目标检测的有效性,选取各个改进模块进行消融实验,结果如表5 所示。从表5 的实验结果可知,在使用Border后,AP 较YOLOv3 提高了1.7 个百分点,表明使用Border 后检测目标特征被增强,具有明显的边界特征,提升了检测效果。在使用增加检测尺度的方法后,APS提升1.1 个百分点,APM提升0.8 个百分点,APL提升0.3 个百分点,表明增加检测尺度后,增强了特征图深浅层语义信息融合,显著提高了检测算法对中小目标的检测效果,验证了增加检测尺度方法的有效性。优化损失函数后,AP75相较AP50提升较大,表明该模块能够显著提高检测框的召回率,提高目标定位准确度,改善检测效果。通过三大模块结合进行实验获得了最好的性能,AP 相较于YOLOv3 原模型提高了3.9 个百分点,表明本文的改进算法对目标检测的高精度检测是有效的。

表5 不同模块消融实验结果对比 单位:%Tab.5 Comparison of ablation experiment results of different modules unit:%

4.4 不同算法对比实验与分析

为验证本文提出的改进YOLOv3 目标检测算法的检测效果,采用当前较为先进的目标检测算法与改进YOLOv3 目标检测算法在COCO 数据集上进行对比。其中:Faster RCNN+++[4]、Cascade RPN(Cascade Region Proposal Network)[22]、Faster R-CNN by G-RMI(Google-Research and Machine Intelligence)[23]、TDM(Top-Down Modulation)[24]均为Faster RCNN 的改进算法,对大目标的检测效果较好;SSD513[10]、DSSD 513(Deconvolutional Single Shot Detector)[25]、EfficientDet-D0[26]算法具有较好的稳定性;YOLOv3+ASFF*(Adaptively Spatial Feature Fusion)[27]、交互的目标检测与实例分割网络(Reciprocal Object Detection and Instance Segmentation Net,RDSNet)[28]、高效特征化图金字塔(Efficient Featurized Image Pyramid,EFIP)[29]、M2Det[29]具有较好的检测效果,且对中小目标检测精度较高。

如表6 所示,本文算法的AP 为36.6%,相较于其他算法精度更高;AP75为37.8%,表明其召回率较高,相比其他算法具有更好的目标定位准确度;APS和APM分别为21.7%和38.5%,表明其在中小目标检测方面也优于其他目标检测算法。从表6 中也可以得知,相较于YOLO 系列目标检测算法,本文算法的AP 提高了3.9 个百分点,具有更好的检测效果;相较于EfficientDet-D0、YOLOv3+ASFF*以及RDSNet 算法,本文算法在小、中尺度目标检测效果较好;相较于R-CNN 系列目标检测算法,本文算法的检测效果更优。因此,相较于对比算法,本文算法更具优势,能够提高综合的目标检测效果,具有很大的前景优势。

表6 不同算法检测效果对比 单位:%Tab.6 Detection effect comparison of different algorithms unit:%

图6 展示了本文改进算法在COCO 数据集中对目标的检测效果,从图中可以看出本文检测算法能够很好地对目标进行定位,具有较高的定位准确度;同时也可以看出,本文算法能够准确地识别出物体的类别,具有较好的检测效果。

图6 预测效果展示Fig.6 Predictive effect display

5 结语

为了满足目标检测实景条件下对于目标检测算法中实时性以及高准确性的要求,尽可能避免误检、漏检情况,本文提出一种基于边界极限点特征的改进YOLOv3 目标检测算法,引入一种边界增强算子Border,增加目标检测尺度以及损失函数改进,提高了算法的准确度和收敛速度。实验结果表明,相较于其他目标检测算法,本文提出的改进YOLOv3目标检测算法能够更好地提取目标实例语义信息,获得较好的检测效果。在未来的目标检测算法研究中,将进一步优化目标检测网络模型,提高检测精度,加快检测,结合当前深度学习先进技术进一步提升检测效果,利用改进的目标检测算法解决生活中更加复杂的目标检测难题。

猜你喜欢
单点特征提取尺度
财产的五大尺度和五重应对
历元间载波相位差分的GPS/BDS精密单点测速算法
超薄异型坯连铸机非平衡单点浇铸实践与分析
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
数字电视地面传输用单频网与单点发射的效果比较
宇宙的尺度
16吨单点悬挂平衡轴的优化设计
基于MED和循环域解调的多故障特征提取