浙江大学学报(工学版), 2022, 56(4): 783-794 doi: 10.3785/j.issn.1008-973X.2022.04.018

计算机技术、信息工程

基于优化预测定位的单阶段目标检测算法

张娜,, 戚旭磊, 包晓安,, 吴彪, 涂小妹, 金瑜婷

1. 浙江理工大学 信息学院,浙江 杭州 310018

2. 浙江广厦建设职业技术大学 信息学院,浙江 东阳 322100

Single-stage object detection algorithm based on optimizing position prediction

ZHANG Na,, QI Xu-lei, BAO Xiao-an,, WU Biao, TU Xiao-mei, JIN Yu-ting

1. School of Information Science and Technology, Zhejiang Sci-Tech University, Hangzhou 310018, China

2. School of Information Science and Technology, Zhejiang Guangsha Vocational and Technical University of Construction, Dongyang 322100, China

通讯作者: 包晓安,男,教授. orcid.org/0000-0001-8305-0369. E-mail: baoxiaoan@zstu.edu.cn

收稿日期: 2021-05-24  

基金资助: 国家自然科学基金资助项目(6207050141); 浙江省重点研发计划资助项目(2020C03094)

Received: 2021-05-24  

Fund supported: 国家自然科学基金资助项目(6207050141);浙江省重点研发计划资助项目(2020C03094)

作者简介 About authors

张娜(1977—),女,副教授,从事计算机视觉与智能信息处理的研究.orcid.org/0000-0001-5131-6417.E-mail:zhangna@zstu.edu.cn , E-mail:zhangna@zstu.edu.cn

摘要

针对单阶段多边框检测(SSD)算法中存在目标定位不准确和小目标检测精度不高的问题,提出基于优化预测定位的单阶段目标检测算法EL-SSD. 通过双向加权特征金字塔将原SSD预测特征图特征融合,对输出特征图进行特征位置信息解码后进行特征通道权重再分配,提升了特征语义信息,捕获了跨通道位置信息. 通过构建分类置信度及额外的定位置信度级联聚类对预测框进行非极大值抑制,提高在检测阶段对选择目标的定位精度. 实验结果表明,EL-SSD算法在PASCAL VOC2007上的平均检测均值达到79.8%,比原SSD算法提高了2.6%. 在COCO数据集上的精度达到29.4%,比原SSD算法提高了3.5%,在检测图片上的目标定位效果及小目标检测效果明显优于SSD, 适用于需要高定位性能的实时应用场景.

关键词: 目标检测 ; 单阶段多边框检测算法 ; 特征融合 ; 非极大值抑制 ; 定位置信度

Abstract

A single-stage object detection algorithm named EL-SSD based on optimizing position prediction was proposed aiming at the problem of inaccurate target positioning and low accuracy of small object detection in the single shot multi-box detector (SSD) algorithm. The prediction feature maps from original SSD were decoded according to feature location information after feature fusion by bi-directional feature pyramid network. Then the weights of feature channels were redistributed. The feature semantic information was improved, and the cross-channel location information was captured. The classification confidence and additional fixed position confidence cascade clustering were constructed to non-maximum suppress prediction bounding box at the detection stage, which improved the positioning accuracy of the selected target. The experimental results showed that the mean average precision value of the EL-SSD on the PASCAL VOC2007 dataset was 79.8%, which was 2.6% higher than that of the original SSD algorithm. The mean average precision value of the EL-SSD on the COCO dataset was 29.4%, which was 3.5% higher than that of the original SSD algorithm. The improved SSD algorithm has a better location performance and small target detection performance, which is suitable for application scenarios that require high localization performance.

Keywords: object detection ; single shot multi-box detector algorithm ; feature fusion ; non-maximum suppression ; localization confidence

PDF (1624KB) 元数据 多维度评价 相关文章 导出 EndNote| Ris| Bibtex  收藏本文

本文引用格式

张娜, 戚旭磊, 包晓安, 吴彪, 涂小妹, 金瑜婷. 基于优化预测定位的单阶段目标检测算法. 浙江大学学报(工学版)[J], 2022, 56(4): 783-794 doi:10.3785/j.issn.1008-973X.2022.04.018

ZHANG Na, QI Xu-lei, BAO Xiao-an, WU Biao, TU Xiao-mei, JIN Yu-ting. Single-stage object detection algorithm based on optimizing position prediction. Journal of Zhejiang University(Engineering Science)[J], 2022, 56(4): 783-794 doi:10.3785/j.issn.1008-973X.2022.04.018

目标检测是图像处理和计算机视觉领域的重要研究方向之一,对安防监控、工业检测、医学图像分析等方面有着重要的研究价值[1]. 近年来,随着深度学习在各个领域的广泛引用,越来越多的目标检测算法被提出[2]. 如今主流的目标检测算法主要分为以下2类. 1)基于候选框生成的双阶段(two stage)方法,例如Ren等[3]提出Faster R-CNN网络,通过利用候选区域生成网络(region proposal network, RPN)提取少量且准确的候选区域,实现模型的端到端训练[4]. 2)基于单阶段回归的单阶段(one-stage)算法,通过在定位、尺度和横纵比上按照一定规则密集采样来检测目标[5],例如Redmon等[6-8]提出的YOLO系列网络,直接通过回归的方式实现目标检测任务.

单阶段检测器仅依赖于单个完全卷积网络(fully convolutional networks, FCN)进行分类与定位[9],只包含一次目标检测过程,所以检测精度较差且定位可能出现较大的偏差. 目前,学术界对单阶段检测方法的改进主要集中在以下2个方面. 1)改变正负样本的选择策略,解决正负样本不均衡问题,例如Lin等[10]提出的RetinaNet使用Focal Loss,给所有负样本赋予权重参加训练,Zhang等[11]提出ATSS来自适应选择正负样本. 2)加入多尺度特征融合,如Lin等[12]提出加入特征金字塔(feature pyramid network,FPN)将不同尺度的特征层进行融合.

本文提出基于优化定位,选择非极大值抑制(optimized positioning selection non-maximum suppression,OPS-NMS);提出基于空间位置解码通道注意力的多尺度融合的强化定位单阶段多边框检测算法(enhance location single shot multi-box detector,EL-SSD),解决上述问题. 本文主要做出以下几点改进. 1)在SSD基础网络结构上加入轻量高效的协调双向多尺度特征融合(coordinate bi-directional fusion network,CBFN)模块,通过加权双向特征金字塔网络(bi-directional feature pyramid network,BiFPN)来反复引用自下而上和自上而下多尺度特征融合,将得到的特征图与原有SSD进行预测和回归的特征图concat融合,增强上下文信息,引入协调注意力特征强化(coordinate enhance attention,CEA)模块,在赋予被预测的特征图通道权重的同时,捕获了特征精确位置编码信息. 2)增加交并比(intersection over union,IoU)置信度预测模块,提出基于IoU置信度和分类置信度的OPS-NMS算法. 使用DIoU(distance-IoU)替换IoU作为抑制冗余预测框的标准,以解决单阶段检测器的分类分数和定位精度之间的不匹配问题.

1. 相关工作

单阶段多边框检测器(single shot multi-box detector,SSD)是高效的单阶段目标检测器[13]. 原始SSD方法将轻量级的VGG网络作为主干网络,截断了基础VGG网络结构中的全连接层,在网络末端添加一系列逐渐减小的卷积特征层,实现了在多尺度映射中检测不同尺度的对象,使用NMS对最终的检测结果进行后处理[14]. SSD直接从平面卷积神经网络特征图检测对象,所以它可以实现对对象实时检测,处理速度比大部分主流对象检测器快. 虽然SSD是从不同尺度的特征层进行预测,但由于卷积神经网络提取的特征随着层数的增加,语义信息越来越强,SSD将不同层级的特征当作相同的级别进行预测,忽视了浅层的细节特征和高层语义特征之间的联系,因此SSD存在巨大的改进空间.

选择SSD作为改进的单阶段检测器,因为SSD提供了简单、速度和精度之间的最佳权衡. 目前,针对SSD的主流改进是通过增加特征融合模块,以增强网络的特征提取能力. 如图1所示,DSSD提出用ResNet-101替换VGG16作为主干网络,在SSD末尾增加反卷积层,引入额外的上下文信息[15]. FSSD增加了额外的多尺度融合特征模块,将不同尺度特征图连接在一起,通过下采样生成新的特征金字塔层[16]. DSOD研究如何从零开始训练对象检测器,设计密集网络结构,以提升参数效率[17]. RefineDet在SSD网络的基础上,采用启发式的两步级联回归,优化了正负样本筛选[18]. 与现有的基于SSD的检测器相比,EL-SSD具有更高的平均检测精度和较快的检测速度,检测效率有了明显的提升.

图 1

图 1   主流的SSD改进网络结构对比

Fig.1   Comparison of popular improved SSD network structure


NMS是计算机视觉中的重要组成部分,当采用平均精度(mean average precision,mAP)作为目标检测的评价指标时,利用贪婪NMS算法能够获得较优的性能,因此在主流的检测器中被广泛使用. 在目标检测中,NMS高效地检测聚类,通过不断检索分类置信度最高的检测框,使用交集-重叠来表示2个边界框之间的内在关联,将大于人工给定IoU阈值的边界框视作冗余检测框删去[19],即贪婪地选取得分最高的结果并删除那些超过阈值的相邻结果. 近年来,对NMS的改进是目标检测的重点之一. Soft-NMS提出连续函数衰减高分边界框的相邻框的置信分数,代替原本贪婪NMS中的直接消除所有较低分数的相邻边界框,有效提高了重叠物体的检测效果[20]. Adaptive-NMS设计动态抑制策略,使阈值随着实例的聚集和遮挡而上升,当实例单独出现时会衰减[21]. 上述对NMS算法的改进忽视了高分置信度边界框定位误差引起的检测效果损失,如图2所示,检测框A分类置信度较高,但由于与真实框的IoU低于检测框B,经过传统NMS筛选后,保留存在定位偏差的检测框A,导致实际网络检测结果目标的位置较真实目标位置偏移较大,影响模型的检测性能. 提出的OPS-NMS通过构建分类置信度及定位置信度级联聚类,择优选取预测框,可以有效地解决上述问题.

图 2

图 2   检测框的预测分类分数及与真实框IoU

Fig.2   Predicted classification scores of bounding boxes and IoU with ground-truth


2. 强化定位单阶段多边框检测算法

针对单阶段目标检测任务中的上下文语义缺失和检测定位框偏差问题,提出多尺度融合优化定位选择网络EL-SSD. 如图3所示,EL-SSD以单阶段多盒检测器为基础,骨干网络选择改进VGG16网络进行特征提取,在网络末端附加4层级联卷积层. 当网络输入大小为300×300的3通道RGB图像时,从左至右会生成一系列逐渐减小的特征图,从中选取6层,分别是Conv4-3、Conv7、Conv8-2、Conv9-2、Conv10-2和Conv11-2. 通过实验额外加入的融合位置注意力双向特征网络模块CBFN,增强对应特征图的特征信息,开展检测,将最终每个特征图生成的检测结果进行综合. 使用提出的位置-分类级联非极大值抑制算法,得到最终的检测结果.

图 3

图 3   EL-SSD网络结构

Fig.3   Network structure of EL-SSD


2.1. CBFN与网络结构

2.1.1. 多尺度融合模块

特征金字塔是用来解决特征图上下文语义缺失的常用办法,主流的基于特征金字塔(FPN-based)的改进算法通常直接将跨尺度融合特征的输出结果作为边框回归和分类预测的特征图[22]. 在通过特征金字塔的过程中,往往采用1×1的卷积层作为降低主干输出特征图Pi的信息通道尺寸,从而丢失通道信息[23]. 例如从高级特征图中通常能提取1 024个信息通道甚至更多,但是通常在特征金字塔的融合过程中被压缩到相比小得多的信息通道数,如256个. 除此以外,特征金字塔网络自上而下的特征融合过程中语义信息会被稀释[24],本文提出的CBFN模块将特征金字塔作为强化原有特征图的语义信息的工具,将通过改进特征金字塔的输出特征图与原来的6个特征图进行concat连接.

与PANet[25]和EfficientDet[26]将特征金字塔作为可堆叠重复模块(repeated blocks)不同,本文将有效的双向跨尺度和加权特征融合特征金字塔作为融合原待检测特征图的工具. 由于加入了额外的卷积层操作和权重计算,影响网络计算效率,选择用深度可分离卷积[27]代替特征金字塔中的传统卷积操作,大大减少了参数运算量,在每次卷积后添加批归一化(batch normalization)和激活函数来加快训练速度. 如图4所示,选择Conv4-3、Conv7、Conv8-2、Conv9-2、Conv10-2和Conv11-2作为特征金字塔的输入特征层(P1~P6),在原有的自上而下网络路径后,添加自下而上的路径融合网络,减少由于单一自上而下路径上采样高分辨率的特征带来的特征信息稀释. 对于原有输入的特征层Pi,先作一次1×1卷积,将Pi的通道数降低至256,得到Piin,保证后续的特征融合过程中特征图通道数相等. 在自上而下的路径中,特征层Pi+1td进行上采样操作,将特征层Pi+1td与输入特征层Piin相加后,得到特征层Pitd. 在自下而上的路径中,为了避免将特征图输入特征金字塔后通道数减少引起的信息损失,将特征层Pi-1dt进行下采样操作,并与特征层Pitd 及特征层Piin 相加,得到特征层Pidt . 由于将多个特征图跨尺度直接相加融合可能会导致混叠效应(aliasing effects),对特征层进行相加融合操作时,为每一个特征层添加权重ω并进行归一化,可以权衡不同分辨率的特征对输出特征做出的贡献,让网络学习每一个输入特征的重要性,可以表示为

图 4

图 4   CBFN网络结构示意图

Fig.4   Schematic diagram of CBFN network structure


${\boldsymbol{P}}_i^{{\rm{dt}}} = {\mathop{\rm Conv}\nolimits} \left( {\frac{{{{\omega '}_1} {\boldsymbol{P}}_i^{{\rm{in}}} + {{\omega '}_2} {\boldsymbol{P}}_i^{{\rm{td}}} + {{\omega '}_3} \cdot {\mathop{\rm Subsampled}\nolimits} \left( {{\boldsymbol{P}}_{i - 1}^{{\rm{dt}}}} \right)}}{{{{\omega '}_1} + {{\omega '}_2} + {{\omega '}_3} + \varepsilon }}} \right), $

$ {\boldsymbol{P}}_i^{{\rm{td}}} = {\mathop{\rm Conv}\nolimits} \left( {\frac{{{\omega _1} {\boldsymbol{P}}_i^{{\rm{in}}} + {\omega _2} \cdot {\mathop{\rm Upsampling}\nolimits} \left( {{\boldsymbol{P}}_{i + 1}^{{\rm{in}}}} \right)}}{{{\omega _{\rm{1}}} + {\omega _2} + \varepsilon }}} \right). $

由于SSD主要是由特征层Conv4-3进行小目标检测,保留自上而下路径中的38×38相同分辨率的特征图用于融合. 对于该路径中的1×1大小的特征图,由于对大目标检测的影响较小,对自上而下路径的顶部进行剪枝操作. 将特征金字塔输出的Pidt输入CEA模块.

2.1.2. CEA模块

CEA模块的结构如图5所示. 该模块将接收到的Pidt 分别与相同分辨率的Pi 特征层concat叠加. 直接将特征层concat叠加,会导致待检测特征图的信息通道数增加;两者的通道信息可能存在不对等问题,加入通道注意力机制机制可以有效地对通道特征权重再分配,如SENet通过简单挤压激励每个2D特征间的映射来建立通道之间的相互依赖关系[28]. EL-SSD主要解决单阶段检测器检测定位效果不佳的问题,选择加入轻量级的协调注意力[29](coordinate attention),在获取通道信息的基础上捕获特征位置信息和通道关系,以增强网络结构的特征表示,具体过程如图6所示.

图 5

图 5   CEA模块网络结构的示意图

Fig.5   Schematic diagram of CEA module network structure


图 6

图 6   CEA模块权重再分配过程的示意图

Fig.6   Schematic diagram of CEA module weight redistribution process


针对上一步concat连接获得的特征图Pinput,假定长、宽和通道数分别为H×W×C,使用2D自适应平均池化空间对每个通道的水平坐标和垂直坐标进行解码. 通过对2个空间方向上的特征聚集,生成方向感知特征图的X长、宽及通道数分别为H、1、CY长、宽及通道数分别为1、WC 来捕获空间方向与通道信息的远程依赖,以提高定位准确性,如下:

$ {{\boldsymbol{X}}_c}\left( h \right) = \frac{1}{W}\sum\limits_{0 \leqslant m \leqslant W} {{\boldsymbol{P}}_c^{{\text{input}}}} \left( {h,m} \right), $

$ {{\boldsymbol{Y}}_c}\left( w \right) = \frac{1}{H}\sum\limits_{0 \leqslant n \leqslant H} {{\boldsymbol{P}}_c^{{\text{input}}}} \left( {n,w} \right). $

式中:c为通道序号,h为此通道上的纵坐标,w为此通道上的横坐标. 在完成空间方向上的分割压缩操作后,对XY进行缩放归一化操作,得到中间特征图Z,如下:

$ {\boldsymbol{Z}} = {F} \left( {{\boldsymbol{X}},{\boldsymbol{Y}}} \right) = \delta \left( {{f_{{\text{BN}}}}\left( {{f_{{\text{ratio}}}}\left( {{f_{{\text{cat}}}}\left( {{\boldsymbol{X}},{\boldsymbol{Y}}.{P} } \right)} \right)} \right)} \right). $

式中:Y.P为对Y 进行维度转换(Permute);fcat为concat连接操作;fratio为根据缩放参数R使用1×1的卷积减低通道数,以减少计算量;fBN为使用批归一化(batch normalization);δ为hard-swish[30]激活函数. 在完成缩放归一化操作后,将Z分割成X′Y′,分别对它们进行激活操作,可以表示为

$ {\boldsymbol{X}}'' = {{F} _{\rm{h}}}\left( {{\boldsymbol{X}}'} \right) = \sigma \left( {{f_{\rm{h}}}\left( {{\boldsymbol{X}}'} \right)} \right), $

$ {\boldsymbol{Y}}'' = {{F} _{\rm{w}}}\left( {{\boldsymbol{Y}}'} \right) = \sigma \left( {{f_{\rm{w}}}\left( {{\boldsymbol{Y}}'.{{{P}}} } \right)} \right). $

式中:fhfw为1×1卷积恢复缩放的通道数操作,σ为sigmoid函数. 将2个得到的空间解码权重图合并,得到最终的权重分配,即

$ {\boldsymbol{P}}_c^{{\text{out}}}\left( {m,n} \right) = {\boldsymbol{P}}_c^{{\text{input}}}\left( {m,n} \right) \times {{\boldsymbol{X}}''_c}\left( m \right) \times {{\boldsymbol{Y}}''_c}\left( n \right). $

对EL-SSD及SSD进行可视化操作后生成的对比特征热力图如图7所示. 可知,EL-SSD显著提升了网络的特征提取能力.

图 7

图 7   同一级别的SSD与EL-SSD检测特征层的热力图

Fig.7   Heat map of same level of SSD and EL-SSD detection feature map


2.2. OPS-NMS算法

基于卷积神经网络的目标检测都依赖于边框回归和非极大值抑制来定位对象. 虽然对预测过程中的类标签概率可以反映分类置信度,但是缺少定位置信度来表示回归得出的边框的定位质量,因此在SSD的检测模块中,额外添加了定位质量预测分支,学习预测候选框和真实框的内在联系. 对于定位质量,IoU-Net提出使用IoU作为预测定位质量的标准[31]。FCOS提出中心度(centerness)预测来抑制低位置质量的预测框[32]。Generalized Focal Loss的实验[33]提出,针对定位质量的预测IoU的效果优于centerness. 本文选择预测IoU作为定位质量的标准. 受到RetinaNet的启发,将分类和回归分别放在2个并行的小型FCN[34]网络中进行预测,在回归网络上添加了额外的IoU预测分支,如图8所示.

图 8

图 8   添加定位置信度预测分支的检测模块

Fig.8   Detection head with localization confidence prediction branch


基于得到的IoU预测分数,提出定位质量分数和分类分数共同引导的OPS-NMS方法,解决了分类置信度和定位精度之间的不对准问题. NMS将分类置信度阈值作为筛选检测框标准,IoU-guided NMS[31]直接使用IoU置信度替换分类置信度作为选取标准,但单一选择分类置信度或者IoU置信度都无法有效地同时表示待检测目标的分类质量和定位质量. IoU-aware RetinaNet[34]提出将IoU分数与分类分数相乘得到质量分数,但定位质量估计和分类分数预测都是独立训练,定位质量估计都是由正样本分配监督,可能会导致负样本产生无法控制的高质量预测图. 图9中,IoUe为IoU的评估值,IoUpred为IoU预测分数。如图9所示,将不可靠的定位质量和预测分数联合,可能会导致高分类分数的检测框被抑制.

图 9

图 9   IoU置信度预测误差的示意图

Fig.9   Schematic diagram of IoU confidence prediction error


本文改进NMS中的选取策略,同时使用IoU分数和分类分数来选取检测框,以增强边界框选择的鲁棒性. 针对同一个目标的多个预测检测框往往聚集在一起,通过实验发现,符合要求的具有高质量的定位预测分数的检测框通常会包围待测目标的真实框,因此将分类置信度作为边界框的排名关键字. 与传统的NMS算法选用设置的IoU阈值来消除其他重叠的检测框不同,本文选择使用DIoU来进行边界框筛选. DIoU在IoU的基础加入2个边界框的中心点之间的归一化距离作为惩罚项,如下:

$ {\text{DIoU}} = \frac{{\left| {{b_{{\text{CAND}}}} \cap {b_j}} \right|}}{{\left| {{b_{{\text{CAND}}}} \cup {b_j}} \right|}} - \frac{{{\rho ^2}\left( {{b_{{\text{CAND}}}},{b_j}} \right)}}{{{\beta ^2}\left( {{b_{{\text{CAND}}}},{b_j}} \right)}}. $

式中:bCAND为OPS-NMS中的比较定位置信度候选检测框,bj为在给定阈值内与bCAND重合的边界框,ρ为取2个边界框中心点之间的欧氏距离操作,β为取最小封闭框的对角线距离操作,如图10(a)所示. 加入DIoU可以有效缓解一些重叠情况下的NMS过度抑制检测框问题,如图10(b)所示,在3种不同的边界框重叠情况下IoU都为0.5,当NMS阈值设为0.5时,检测框B都可能会被抑制,导致具有较高置信度的重叠检测框漏检. 筛选分类置信度最高的边界框通过DIoU筛选出来的边界框集合,选取IoU置信度最高的边界框作为候选框,以消除所有与选定候选框重叠比例大于阈值Ωnms的框,将候选框置信分数s更新为最高的分类置信分数. OPS-NMS算法的具体实现过程见算法1.

图 10

图 10   DIoU效果示意图

Fig.10   Effect diagram of DIoU


算法1 OPS-NMS

输入B={b1 ,···,bn},S={s1 ,···, sn},L={l1,···,ln},Ωnms

B表示一组检测框的集合

S表示检测框对应的分类置信度

L表示检测框定位质量置信度的集合

Ωnms表示置信度阈值

输出:一组带分数的检测框集合D

1: D←ø

2: while B ≠ ø do

3:   bn←arg max S(bj)

4:   BB\{bn}

5:   sS(bn)

6:   bCANDbn

7:   for bjB do

8:   if DIoU(bn, bj) > Ωnms then

9:     if L(bCAND) < L(bj) then

10:     bCANDbj

11:     s←max(s, S(bj))

12:     BB\{bj}

13:    end if

14:   end if

15: end for

16: DD∪{ 〈bCAND , s〉 }

17:end while

18:return D

使用OPS-NMS 解决了分类质量和定位质量不匹配的问题,有效减少了IoU-guided中的低质量定位预测带来的误检,在一定程度上缓解了目标重叠引起的漏检问题. 通过实验表明,本文方法优于传统的NMS算法及其变体,使用OPS-NMS作为后处理器可以提高定位精度及平均检测精度,对于几种不同的目标检测器都有一定的性能提升.

2.3. 损失函数

EL-SSD训练损失函数分为3个部分,如下:

$ {L_{{\text{total}}}} = {L_{{\text{loc}}}} + {L_{{\text{cls}}}} + {L_{{\text{IoU}}}}. $

式中:Lloc为定位损失,Lcls为分类损失,LIoU为IoU置信度预测损失. 与SSD相同,分类部分采用交叉熵损失函数,对代表前景的正样本Pos和代表背景的负样本Neg分别求解交叉熵损失,具体函数表示为

$ \begin{split} &{L_{{\text{cls}}}} = \\ &\frac{1}{{{N_{{\text{Pos}}}}}}\left[ { - \displaystyle\sum\limits_{i \in {\text{Pos}}} {x_{ij}^p{\rm{\ln}} \;\left( {\frac{{\exp \;(c_i^p)}}{{\displaystyle\sum\limits_p {\exp \;(c_i^p)} }}} \right)} - \displaystyle\sum\limits_{i \in {\text{Neg}}} {{\rm{\ln}} } \;\left( {\frac{{\exp \;(c_i^0)}}{{\displaystyle\sum\limits_p {\exp \;(c_i^0)} }}} \right)} \right]. \end{split} $

式中:NPos为正样本个数,xijp为第i个默认框与第p类的第j个真实框匹配指标,cip为第i个默认框预测为第p类的置信度,ci0为第i个默认框预测为背景的置信度. 传统的SSD使用Smooth L1函数作为定位损失函数,将位置信息作为4个相互独立的变量进行训练回归,然而将位置信息作为一个整体进行训练回归,可以有效地加速函数收敛,提高训练的精度和鲁棒性. 选择CIoU Loss函数[35]训练定位回归,如下所示:

$ {L_{{\text{loc}}}} = \frac{{\text{1}}}{{{N_{{\text{Pos}}}}}}\sum\limits_{i \in {\text{Pos}}} {\left( {1 - {\text{Io}}{{\text{U}}_i} + \frac{{{\rho ^2}\left( {{b_i},{b_{{\rm{gt}}}}} \right)}}{{{\beta ^2}\left( {{b_i},{b_{{\rm{gt}}}}} \right)}} + \alpha \nu } \right)} . $

式中:α为定义的平衡参数,

$ \alpha = \frac{\nu }{{\left( {1 - {\text{IoU}}} \right) + \nu }}\text{;} $

v为边界框长宽比一致性的度量,

$ \nu = \frac{4}{{{{{\text{π}}} ^2}}}{\left( {\arctan \frac{{{w_{{\rm{gt}}}}}}{{{h_{{\rm{gt}}}}}} - \arctan \frac{w}{h}} \right)^2}. $

IoU预测部分对正样本预测的IoU分数与回归得到的边界框和真实框之间的IoU使用二元交叉熵损失函数BCE训练,具体公式为

$ {L_{{\text{IoU}}}} = \frac{1}{{{N_{{\text{Pos}}}}}}\sum\limits_{i \in {\text{Pos}}} {{{\rm{BCE}}} } \left( {{\text{IoU}}_i^{{\text{pred}}},{\text{Io}}{{\text{U}}_i}} \right). $

式中:IoUi为预测框和真实框的交并比.

3. 实验分析

3.1. 实验环境配置

测试平台配置如下:CPU为Intel(R) Xeon(R) CPU E5-2650 v2 @ 2.60 GHz,32 GB内存,Ubuntu16.04操作系统,显卡型号为NVIDIA GTX1080Ti. 运行环境Python的版本为3.6,Pytorch版本为1.4.0,CUDA版本为10.1. 选择使用torchvision中的VGG-16作为预训练模型,batch-size设置为32,共设置300个轮次. 每100个轮次分别设置学习率为0.001、0.000 1及0.000 01,选择Adam优化算法更新权重.

3.2. Pascal VOC数据集对比实验

借助主流的目标检测公开数据集PASCAL VOC对EL-SSD模型进行评估,设置预测边界框与真实框之间的IOU评估阈值为0.5,设置CEA模块中的缩放参数R为16,设置非极大值抑制算法中的抑制阈值为0.45. 通过平均检测精度(mAP)、检测速度v评估指标对EL-SSD的训练结果进行评价,将EL-SSD的训练结果与目前主流的目标检测算法进行对比.

Pascal VOC数据集是目标检测的基准之一,提供了上万张包含20类物体标注的图片. 该实验选择VOC2007和VOC2012的训练验证集共16 551张图片作为训练集,测试集选用VOC2007的测试集共4 592张图片.

将提出的EL-SSD的实验结果与表1的经典目标检测算法及SSD的各种改进算法的基础网络结构进行比较,各个网络均未采用多尺度训练和额外的数据增强. EL-SSD将输入图片的分辨率调整至300×300像素后输入特征提取网络,平均精度达到79.8%,较初始SSD算法提高了2.6%,比骨干网络为VGGNet的双阶段网络Faster R-CNN提高了6.6%,比Mask R-CNN[36]和Cascade R-CNN[37]分别提高了2.4%和0.2%. EL-SSD的平均精度较另一单阶段目标检测算法YOLOV2提高了6.1%,较单阶段无锚框的检测算法FCOS及改进算法ATSS分别提高了6.3%和4.6%. 除此以外,在输入相同(相近)分辨率的图片情况下,El-SSD的检测精度优于DSSD、FSSD、ASSD[38]及RetinaNet等基于SSD的后续改进算法,提高了0.4%~1.2%,比RefineDet低了0.2%. EL-SSD检测一张图片需要37 ms,检测速度略低于初始SSD及FSSD,优于DSSD、RetinaNet及RefineDet,达到了检测精度和检测速度的均衡. 如图11所示为EL-SSD和SSD在VOC数据集上20类物体的检测精度对比. 可以发现,EL-SSD在大部分类别中检测效果都有明显的提升. 在目标检测任务中,一般将尺寸小于32×32像素的目标定义为小目标. 针对SSD检测效果较差的小目标物体类别Plant和Bottle,EL-SSD的检测精度分别提高了4.5%和6.6%,本文通过实验分析得出EL-SSD通过CBFN模块和OPS-NMS,有效缓解了由定位不准问题和语义信息的缺失问题引起的小目标检测效果不佳问题. 如表2所示,EL-SSD小目标类别在预测框与真实框的IoU阈值IoUt为0.75和0.95的情况下精度都明显高于SSD,在目标定位效果上有明显的提升.

表 1   VOC2007测试集上平均检测精度的对比

Tab.1  Comparison of mean average precision on VOC2007 test dataset

方法 骨干网络 输入尺寸 GPU mAP/% v/(帧·s−1)
Faster R-CNN[3] VGGNet 1000×600 Titan X 73.2 7.0
Faster R-CNN[3] ResNet-101 1000×600 1080Ti 78.8 2.3
Mask R-CNN[36] ResNet-50 1000×600 1080Ti 77.4 4.2
Cascade R-CNN[37] VGGNet 1000×600 1080Ti 79.6 5.3
YOLOV2[6] Darknet-19 352×352 Titan X 73.7 81.0
RefineDet320[18] VGGNet 320×320 1080Ti 80.0 22.1
FCOS[32] ResNet-50 1333×800 1080Ti 73.5 17.6
ATSS[11] ResNet-50 1333×800 1080Ti 75.2 14.9
RetinaNet400[10] ResNet-101 ~640x400 1080Ti 79.4 12.4
FSSD300[16] VGGNet 300×300 1080Ti 78.8 65.0
SSD300[13] VGGNet 300×300 1080Ti 77.2 42.1
ASSD321[38] ResNet-101 321×321 K40 79.5 11.4
DSSD321[15] ResNet-101 321×321 Titan X 78.6 9.5
EL-SSD300 VGGNet 300×300 1080Ti 79.8 27.0

新窗口打开| 下载CSV


图 11

图 11   VOC2007测试集20类目标检测精度结果的柱状图

Fig.11   Histogram of 20 types of target detection precision results in VOC2007 test dataset


表 2   小目标类别位置预测平均精度的对比

Tab.2  Comparison of mean average precision of location prediction effects for small target categories

%
方法 IoUt = 0.50 IoUt = 0.75 IoUt = 0.95
Plant Bottle Plant Bottle Plant Bottle
SSD 47.5 50.4 17.4 21.1 0.8 0.1
EL-SSD 52.0 56.6 19.6 26.7 2.1 0.9

新窗口打开| 下载CSV


3.3. COCO数据集实验结果评估

为了进一步评估EL-SSD小目标检测精度及定位效果,在COCO数据集上进行实验. COCO数据集是由微软提供的大型的目标检测数据集,具有数据类别多和目标尺寸跨度大的特点. 实验选择使用由115 000张图像组成的COCO2017训练集进行训练,在由5 000张图像组成的COCO2017验证集上进行性能测试,主要评估不同IoU阈值下的平均精度和不同尺寸范围的目标的平均检测精度. 其中,不同IoU阈值下的平均精度可以体现模型的定位效果,高IoU阈值表示测试预测框和真实框重合度的标准更加严格. 如表3所示,EL-SSD在IoUt为0.5~0.95的条件下平均精度达到29.4%,较原SSD提高了3.5%;在IoU阈值为0.5和IoU阈值为0.75的条件下精度分别提高了2.9%和5.2%,说明EL-SSD的定位效果较原SSD有显著的提升. COCO数据集根据目标尺寸的大小,将数据集中的目标分为3类:尺寸小于32×32的为小目标(S),尺寸大于32×32、小于96×96的为中目标(M),尺寸大于96×96的为大目标(L). EL-SSD在中目标和大目标上的平均检测精度较SSD分别提高了5.6%和4.2%,在小目标检测上取得了比SSD更好的检测效果,检测精度提高了4.1%,具体的检测效果如图12所示.

表 3   EL-SSD在COCO数据集上实验结果

Tab.3  Experiment results of EL-SSD on COCO dataset

方法 mAP/% mAP/%
IoUt = 0.5~0.95 IoUt = 0.5 IoUt = 0.75 S M L
SSD 25.9 44.3 25.4 6.2 26.0 41.5
EL-SSD 29.4 47.2 30.6 10.3 31.6 45.7

新窗口打开| 下载CSV


图 12

图 12   COCO数据集检测效果的对比

Fig.12   Comparison of detection results on COCO dataset


3.4. 消融实验

由于EL-SSD由多个改进部分组成,验证不同改进部分对最终性能的有效性. 基线网络是具有300×300输入大小及主干网络为部分VGG-16的原始SSD检测器,实验数据集为Pascal VOC数据集.

为了验证CBFN模块的有效性,开展3组实验,如表4的第3、6、7列所示. CBFN可以有效地提高单阶段检测器的检测效率和鲁棒性. 当原始SSD单独加入提出CBFN模块中单一的改进FPN时,mAP只提升了0.5%,效果逊色于传统FPN,可能是由于使用了深度可分离卷积构建特征金字塔,因此在特征融合的过程中损失了部分特征信息. 若加入CEA模块,则可以有效地避免信息损耗. 实验结果表明,mAP提高了1.7%,可知完整的CBFN模块具有更好的检测效果.

表 4   EL-SSD在VOC2007测试集上消融实验结果

Tab.4  Ablation experiment results of EL-SSD on VOC2007 test dataset

mAP/% +FPN +CBFN
(无 CEA)
+CEA +OPS-NMS
(无 DIoU)
+DIoU
77.6
77.8
78.0
78.6
78.6
77.7
78.9
79.5
79.8

新窗口打开| 下载CSV


分别在原始SSD、添加FPN的SSD及添加CBFN的SSD这3种情况下,测试使用DIoU阈值的OPS-NMS和使用IoU阈值的OPS-NMS,结果如表3所示. 可见,加入OPS-NMS可以提高0.4%~0.6%的mAP,设置DIoU可以提高OPS-NMS算法的检测效率. 仅凭平均精度mAP评估指标不能说明OPS-NMS获得的定位效果,因此在0.75的重叠阈值下测量SSD使用NMS、IoU-guided NMS及OPS-NMS的情况下的平均精度来评估定位效果. 改变3种NMS算法中的超参数抑制阈值α,以比较这3种算法的特征. 如图13所示,当α阈值属于[0.43,0.48]时,OPS-NMS的效果较IoU-guided NMS及传统NMS更优. 在实验过程中,基于定位置信度排序的IoU-guided NMS在阈值为0.46时的效果甚至低于传统NMS,主要是因为在选取边界框时过于依赖定位置信度,忽视分类置信度对边界框评估的重要性. 如图14所示,错误预测的高IoU置信分数、低分类置信度的边界框可能会导致IoU-guided NMS将正确预测类别的边界框抑制,从而引起误检. OPS-NMS通过分类置信度优先来选取高定位置信度预测框,有效避免了该问题. 图14中,OPS-NMS在检测重叠目标时的效果明显优于传统NMS及IoU-guided NMS.

图 13

图 13   在[0.43, 0.48]区间下3种NMS的定位精度折线图

Fig.13   Line graph of positioning accuracy of three NMS algorithms in range of [0.43, 0.48]


图 14

图 14   SSD使用不同NMS的检测结果对比

Fig.14   Comparison of test results of SSD using different NMS


4. 结 语

本文针对单阶段目标检测器定位效果不佳和小目标检测精度低的问题,设计基于SSD的改进算法:EL-SSD. 与传统的单阶段目标检测算法相比,EL-SSD通过跨尺度融合及坐标信息解码,提高了网络特征提取的能力,改善了预测结果定位存在偏差的问题,从而在一定程度上改善了小目标检测效果. 本文提出的OPS-NMS算法可以在不增加额外训练成本的情况下替换传统的NMS算法,有效解决了选取预测框过程中存在的定位误差问题,一定程度上缓解了目标重合带来的漏检问题. 实验结果表明,EL-SSD在PASCAL VOC2007数据集上的mAP提高了2.6%,在COCO数据集上的精度提高了3.5%,检测速度达到27 帧/s,可以满足摄像头25帧/s的实时检测需求. EL-SSD的定位效果明显优于原算法,在高定位精度需求的实时检测应用场景下较传统的单阶段算法具有明显的优势.

本文提出的算法存在不足,例如受到特征提取网络的图片输入分辨率限制造成的检测图片信息损失问题、定位置信度预测回归的误差问题以及分类过程中正、负样本数量不平衡问题等,针对小目标的检测能力及对目标定位的精度具有很大的改进空间. 在接下来的研究中,将会尝试使用ResNeXt作为骨干网络,修改网络的输入图片分辨率,针对检测过程中的分类部分设计新的损失函数,提升算法的检测精度和鲁棒性.

参考文献

高文, 汤洋, 朱明

复杂背景下目标检测的级联分类器算法研究

[J]. 物理学报, 2014, 63 (9): 156- 164

[本文引用: 1]

GAO Wen, TANG Yang, ZHU Ming

Study on the cascade classifier in target detection under complex background

[J]. Acta Physica Sinica, 2014, 63 (9): 156- 164

[本文引用: 1]

王浩, 单文静, 方宝富

基于多层上下文卷积神经网络的目标检测算法

[J]. 模式识别与人工智能, 2020, 33 (2): 113- 120

[本文引用: 1]

WANG Hao, SHAN Wen-jing, FANG Bao-fu

Multi-layers context convolutional neural network for object detection

[J]. Pattern Recognition and Artificial Intelligence, 2020, 33 (2): 113- 120

[本文引用: 1]

REN S Q, HE K M, GIRSHICK R, et al

Faster R-CNN: towards real-time object detection with region proposal networks

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2015, 39 (6): 1137- 1149

[本文引用: 3]

尉婉青, 禹晶, 柏鳗晏, 等

SSD与时空特征融合的视频目标检测

[J]. 中国图象图形学报, 2021, 26 (3): 542- 555

DOI:10.11834/jig.200020      [本文引用: 1]

WEI Wan-qing, YU Jing, BAI Man-yan, et al

Video object detection using fusion of SSD and spatiotemporal features

[J]. Journal of Image and Graphics, 2021, 26 (3): 542- 555

DOI:10.11834/jig.200020      [本文引用: 1]

徐利锋, 黄海帆, 丁维龙, 等

基于改进DenseNet的水果小目标检测

[J]. 浙江大学学报: 工学版, 2021, 55 (2): 377- 385

[本文引用: 1]

XU Li-feng, HUANG Hai-fan, DING Wei-long, et al

Detection of small fruit target based on improved DenseNet

[J]. Journal of Zhejiang University: Engineering Science, 2021, 55 (2): 377- 385

[本文引用: 1]

REDMON J, DIVVALA S, GIRSHICK R, et al. You only look once: unified, real-time object detection [C] // IEEE Conference on Computer Vision and Pattern Recognition. Washington: IEEE, 2016: 779–788.

[本文引用: 2]

REDMON J, FARHADI A. YOLO9000: better, faster, stronger [C]// IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 6517-6525.

REDMON J, FARHADI A. YOLOv3: an incremental improvement [EB/OL]. (2018-08-08). https://arxiv.org/pdf/1804.02767.pdf.

[本文引用: 1]

SHELHAMER E, LONG J, DARRELL T

Fully convolutional networks for semantic segmentation

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017, 39 (4): 640- 651

DOI:10.1109/TPAMI.2016.2572683      [本文引用: 1]

LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection [C]// IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 2999-3007.

[本文引用: 2]

ZHANG S F, CHI C, YAO Y Q, el al. Bridging the gap between anchor-based and anchor-free detection via adaptive training sample selection [C]// IEEE Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 9756-9765.

[本文引用: 2]

LIN T Y, DOLLAR P, GIRSGICK, et al. Feature pyramid networks for object detection [C]// IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 936-944.

[本文引用: 1]

LIU W, ANGUELOV D, ERHAN D, et al. SSD: single shot multibox detector [C]// European Conference on Computer Vision. Amsterdam: Springer, 2016: 21–37.

[本文引用: 2]

郑浦, 白宏阳, 李伟, 等

复杂背景下的小目标检测算法

[J]. 浙江大学学报: 工学版, 2020, 54 (9): 1777- 1784

[本文引用: 1]

ZHENG Pu, BAI Hong-yang, LI Wei, et al

Small target detection algorithm in complex background

[J]. Journal of Zhejiang University: Engineering Science, 2020, 54 (9): 1777- 1784

[本文引用: 1]

FU C Y, LIU W, RANGA A, et al. DSSD: deconvolutional single shot detector [EB/OL]. (2017-01-23). https://arxiv.org/pdf/1701.06659.pdf.

[本文引用: 2]

LI Z X, ZHOU F Q. FSSD: feature fusion single shot multibox detector [EB/OL]. (2017-12-04). https://arxiv.org/pdf/1712.00960.pdf.

[本文引用: 2]

SHEN Z Q, LIU Z, LI J G, et al. DSOD: learning deeply supervised object detectors from Scratch [C]// IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 1937-1945.

[本文引用: 1]

ZHANG S F, WEN L Y, BIAN X, et al. Single-shot refinement neural network for object detection [C]// IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 4203-4212.

[本文引用: 2]

HE Y X, ZHU C C, WANG J R, et al. Bounding box regression with uncertainty for accurate object detection [C]// IEEE Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 2883-2892.

[本文引用: 1]

BODLA N, SINGH B, CHELLAPPA R, et al. Soft-NMS: improving object detection with one line of code [C]// IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 5562-5570.

[本文引用: 1]

LIU S T, HUANG D, WANG Y H. Adaptive NMS: refining pedestrian detection in a crowd [C]// IEEE Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 6452-6461.

[本文引用: 1]

LUO Y H, CAO X, ZHANG J T, et al. CE-FPN: enhancing channel information for object detection [EB/OL]. (2021-03-09). https://arxiv.org/pdf/2103.10643.pdf.

[本文引用: 1]

PANG J M, CHEN K, SHI J P, et al. Libra R-CNN: towards balanced learning for object detection [C]// IEEE Conference on Computer Vision and Pattern Recognition. Long Beach: IEEE, 2019: 821-830.

[本文引用: 1]

GUO C X, FAN B, ZHANG Q, et al. AugFPN: improving multi-scale feature learning for object detection [C]// IEEE Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 12592-12601.

[本文引用: 1]

WANG K X, LIEW J H, ZHOU D Q, et al. PANet: few-shot image semantic segmentation with prototype alignment [C]// IEEE International Conference on Computer Vision. Seoul: IEEE, 2019: 9196-9205.

[本文引用: 1]

TAN X M, PANG R M, LE Q V. EfficientDet: scalable and efficient object detection [C]// IEEE Conference on Computer Vision and Pattern Recognition. Seattle: IEEE, 2020: 10778-10787.

[本文引用: 1]

CHOLLET F. Xception: deep learning with depthwise separable convolutions [C]// IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017: 1800-1807.

[本文引用: 1]

HE J, SHEN L, ALBANIE S, et al

Squeeze-and-excitation networks

[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020, 42 (8): 2011- 2023

DOI:10.1109/TPAMI.2019.2913372      [本文引用: 1]

HOU Q B, ZHOU D Q, FENG J S, et al. Coordinate attention for efficient mobile network design [C]//IEEE International Conference on Computer Vision. [S. l.]: IEEE, 2021: 13708-13717.

[本文引用: 1]

HOWARD A, SANDLER M, CHEN B, et al. Searching for MobileNetV3 [C]// IEEE International Conference on Computer Vision. Seoul: IEEE, 2019: 1314-1324.

[本文引用: 1]

JIANG B R, LUO R X, MAO J Y, et al. Acquisition of localization confidence for accurate object detection [C]// European Conference on Computer Vision. Munich: Springer, 2018: 816-832.

[本文引用: 2]

TIAN Z, SHEN C H, CHEN H, et al. FCOS: fully convolutional one-stage object detection [C]// IEEE International Conference on Computer Vision. Seoul: IEEE, 2019: 9626-9635.

[本文引用: 2]

LI X, WANG W H, WU L J, et al

Generalized focal loss: learning qualified and distributed bounding boxes for dense object detection

[J]. Advances in Neural Information Processing Systems, 2020, 33: 21002- 21012

[本文引用: 1]

WU S K, LI X P, WANG X G

IoU-aware single-stage object detector for accurate localization

[J]. Image and Vision Computing, 2020, 97: 103911

[本文引用: 2]

ZHENG Z, WANG P, LIU W, et al. Distance-IoU Loss: faster and better learning for bounding box regression[C]// AAAI Conference on Artificial Intelligence. New York: AAAI, 2020: 12993-13000.

[本文引用: 1]

HE K M, GKIOXARI G, DOLLÁR P, et al. Mask R-CNN [C]// IEEE International Conference on Computer Vision. Venice: IEEE, 2017: 2980-2988.

[本文引用: 2]

CAI Z W, VASCONCELOS N. Cascade R-CNN: delving into high quality object detection [C]// IEEE Conference on Computer Vision and Pattern Recognition. Salt Lake City: IEEE, 2018: 6154-6162.

[本文引用: 2]

YI J R, WU P X, METAXAS D N

ASSD: attentive single shot multibox detector

[J]. Computer Vision and Image Understanding, 2019, 189: 102827

[本文引用: 2]

/