目标检测的多尺度定位提升算法

2021-07-01 13:21江雨泽赵光辉
西安电子科技大学学报 2021年3期
关键词:复原主干尺度

王 平,江雨泽,赵光辉

(1.天津航天中为数据系统科技有限公司,天津 300301;2.西安电子科技大学 人工智能学院,陕西 西安 710071)

近年来,深度学习在图像检测领域获得了较大进展[1-2],其中一阶段检测网络由于其实时性被越来越多的应用在目标检测任务中。目标检测由识别和定位两个任务组成,大多数一阶段网络都使用较大的降采样因子来增强对物体的识别分类能力,但是过大的降采样因子也会给定位任务带来全局噪声,从而降低物体的定位精度,这种情况在目标密集的情况下尤为明显[3-5]。

为了解决传统一阶段网络定位不准的问题,大量的研究人员开始探索模型结构中降采样因子和目标定位之间的矛盾关系。该问题主要表现为降采样因子会给目标定位带来全局噪声,通过降低这些全局噪声或者增大原始定位信息的权重来提升目标的定位精度。

目前,已经有一些算法通过对降采样因子进行处理来提升检测网络的整体检测精度。文献[6-7]采用改进后的残差网络(Residual Net ResNet)模型设计了一种新的“瓶颈(Bottleneck)”结构,每个阶段的输出都会与上一个阶段的残差值进行叠加,将之前每一层的原始信息直接传递到后层,变相增大了原始定位信息的权重。YOLOv3[3]使用了上采样操作和多尺度特征图联合的方法来提升网络的检测精度,从而降低了降采样带来的噪声强度。文献[4]构建了锚框细化模块(Anchor Refinement Module,ARM)和目标检测模块(Object Detection Module,ODM)模块,将目标的位置信息和类别信息进行有效整合,降低了降采样因子的干扰。

文章基于一阶段检测网络结构提出了一种新的降采样因子使用方案,其将目标定位和目标识别这两个部分在网络结构上用两个支路进行分离,在目标识别支路中继续大量使用降采样因子,而在目标定位支路上使用跳连接的方式来增强原始定位信息的权重,从而增强了网络整体的检测精度。

1 网络模型结构的设计

网络的整体结构如图1所示。多尺度定位提升网络基于一个主干网络,从两条支路分别产生固定数量的锚框和所属的类别分数。多尺度定位提升网络将目标的定位任务和识别任务分离,分别由坐标复原单元和多尺度分类单元完成。坐标复原单元在传统一阶段网络结构的基础上进行了创新,减少了多次降采样带来的全局环境噪声,最大限度地保留了目标的坐标信息。多尺度分类单元从主干网络(如VGG-16)中提取目标特征,采用多层金字塔结构[8-11]以最大化地提取出目标的语意信息,并且使用坐标复原单元输出的目标坐标作为目标识别的初始化坐标,提升了目标识别的精度。下面将详细介绍多尺度定位提升网络中的这两个核心单元。

图1 网络整体结构图

1.1 坐标复原单元

文章为目标定位任务专门设计了坐标复原单元,提取图片中多个目标位置信息,它和目标识别任务分离,防止过多的下采样给目标定位带来不必要的全局噪声。

在图像分割领域,每一个像素点的所属类别以及位置都能够被解释。为了能够准确地提取目标的位置信息,参考了图像分割中经典的网络设计,即在主干网络后添加多层反卷积结构,使用它来保留图像中的多个目标在空间上的位置信息;并且为了再尽量保证网络精简的情况下保留网络浅层更多的细节信息,文中的网络直接将每一层特征图的结果与上一个并联结构的特征图结果进行元素叠加。为了在保证网络实时性的前提下进一步更好地提取目标的坐标信息,网络将每一级中尺寸最大的特征图和下一级中尺寸最小的特征图之间建立的直连通道(图2中的底部支线),将原始主干网络中的特征直接引入到后端,保留更多原图中的细节信息,以提升目标定位精度。直连通道使用3×3像素大小、步长为2像素的卷积核来将最底层的特征图尺寸调整为和最高层特征图相同的尺寸,并且在中间加入线性整流激活函数(Rectified Linear Unit,ReLU)来降低网络的训练难度。坐标复原单元的网络结构如图2所示。

图2 坐标复原单元网络结构图

坐标复原单元的神经网络层参数如图3所示。其中,C表示特征层的通道数,S表示特征层的长宽尺寸,C通道数改变时表示使用1×1像素大小的卷积核对特征层的通道数进行修正,S特征层尺寸翻倍表示使用3×3像素大小的卷积核对特征层进行反卷积操作,S特征层尺寸减半表示使用3×3像素大小的卷积核对特征层进行降采样操作,有加号的圆形标志表示将两个特征层进行元素相加操作。

图3 坐标复原单元网络层参数图

1.2 多尺度分类单元

针对目标识别问题,设计了多尺度分类单元,调用了主干网络中的多层特征图信息,包含了目标的细节特征和抽象特征,对不同大小的目标均有较强的适应性。为了最大限度地保留小目标的识别能力,网络使用了多层金字塔结构[8];为了让多尺度分类单元对不同类别的目标具有更强的分类能力,网络在每一次反卷积操作前都添加了额外的卷积层以及ReLU激活。对第3个特征图进行了特殊处理,将其和主干网络第3层的特征图进行级联操作,在不修改特征图元素数值的情况下增加了特征图的通道数。需要注意的是,在训练过程中,网络将坐标复原单元生成的目标坐标信息通过非极大值抑制方法进行筛选,并后将筛选过后的目标坐标信息传递给多尺度分类单元中相对应的特征图,作为多尺度分类单元锚框的默认初始值,再由多尺度分类单元通过数据集进一步回归出锚框的4个有关目标的偏移量(Δw,Δh,Δx,Δy)。具体网络结构如图4所示。多尺度分类单元的神经网络层参数如图5所示。

图4 多尺度分类单元网络结构图

图5 多尺度分类单元网络层参数图

2 训练和推理

2.1 主干网络

主干网络为VGG-16,当它的网络结构也有很强的适应能力时,ResNet[6]、ResNext[7]和Inception等流行的主干网络都可以作为它的主干网络。在训练网络模型时,使用的主干网络VGG-16在ILSVRC CLS-LOC数据集上经过预先训练,这么做能够让MLE有更好的模型初始化结果,加快网络训练速度,增强网络综合性能。此外,还对VGG-16网络进行了适当的修改,删除了原先在VGG-16中的FC 6和FC 7两层全链接网络,转而使用两层卷积层Conv 6和Conv 7来代替。之后还在Conv 7的后面添加了两个3×3的卷积层,并且在这两个卷积层后面都额外加上了ReLU激活。

2.2 位置回归网络

在坐标复原单元LRU中,设计了一种底层特征图到高层特征图的直连结构。由于底层特征到高层特征的特征图大小不同,它采用了多层3×3像素大小、步长为2像素的卷积核来统一这两个特征图的大小和维度,并将它们进行元素相加以获得最终的特征向量。在实验的过程中使用了多种形式的卷积核。实验表明,3×3像素大小、步长为2像素的卷积核的最终效果最好。

2.3 锚框的设计

为了让网络能够对不同尺寸的物体都有较好的适应性,设计了3种长宽比的锚框,分别为1∶1、1∶2和1∶3,并且将这些锚框均匀地平铺在由主干网络生成的4种特征图中的每一个元素中,之后特征图中的每一个元素就能够根据自己所处的层数以及锚框的长宽比来生成默认候选框。文中使用VGG16作为主干网络,其中,conv4_3处的特征图每一个元素对应的默认候选框的变长即为输入图像大小的1/8。假设输入图像的边长为n,那么第i层特征图上的锚框基础大小即为m(m=n/(8i)),其大小就分别为(m,m)、(4m/3,2m/3)、(2m/3,4m/3)、(3m/2,m/2)和(m/2,3m/2)。在训练的过程中,网络根据重叠比例来确定锚框和目标位置的关联程度,确保将每一个目标绑定到与其重叠最大那个锚框上,并后将剩余的锚框绑定到和剩余的锚框集合中重叠比例最大的目标上,如果锚框的重叠比例小于0.5,那么就不将它与任何目标绑定,转而将其标定为负样本。网络平均精度在不同锚框长宽组合下的实验结果如表1所示。

表1 网络平均精度在不同锚框长宽比组合下的实验结果

由表1可知,当使用前3种和全4种长宽比的锚框时,检测效果最好,平均精度均为82.5%。为了尽可能地降低网络中锚框长宽比参数的数量,加快网络的运算速度,选择3种锚框比,分别为1∶1、1∶2和1∶3。

2.4 损失函数

文中使用了类似于区域侯选网络[5]中设计的多尺度损失函数来对网络进行权重更新,但是在它的基础上进行了适当的修改。具体函数为

L({ri},{mi},{bi})=

(1)

上式左侧是网络更新的最终损失值。其中,i表示一张图片中的第i个锚框;NLRU和NMCU分别表示属于坐标复原单元和多尺度分类单元模块的特征图集合中的元素总个数;LLRU和LMCU是用于计算定位损失的交叉熵损失函数,而[Ti≥1]表示只计算被绑定为是正样本的锚框,如果特征图中的第i个元素对应的是原图中的背景而不是目标,那么它就不参加定位损失函数的计算;Li和Mi分别表示LRU和MCU中特征图集合的第i个元素预测的对象的坐标;Pi表示MCU中特征图集合第i个元素预测目标的具体类别的置信度;PMCU表示多类置信度的Softmax损失函数。

2.5 训练细节

在训练网络时使用了两块NVIDIA 1080 Ti,每一个图形处理器中的Batch-Size[9](批训练大小)为16张,两个图形处理器的总Batch-Size大小为32张。文中使用的主干网络VGG-16在ILSVRC CLS-LOC数据集上预先训练完成。然后使用具有0.9动量和0.000 5权重衰减的随机梯度下降算法对整个网络进行微调,并且将初始学习率设置为0.002;在训练圈数为150、200、250时,将学习率设置调整为0.001、0.000 5和0.000 05;训练到300圈时停止。

3 仿真实验及对比分析

实验在PASCAL VOC 2007上进行。这里使用Pytorch 1.1框架搭建网络,使用NVIDIA 1 080Ti显卡在Ubuntu 16.04系统上进行测试。

3.1 PASCAL VOC2007

文中的网络模型在VOC 2007和VOC 2012数据集上进行训练,用VOC 2007测试集测试。使用两块NVIDIA 1080Ti显卡,每一块显卡的批处理容量为16,两块显卡的总容量即为32。接下来将比文章提出的网络与现有网络进行对比,结果如表2所示。在输入尺寸为512×512像素大小的情况下,文章提出的网络实现了82.5%的平均精度,超过了现有的一阶段方法,如ASSD[2]、DSSD[1]、YOLOv3[3]、RefineDet[4]等。同时,文章的算法在保证一阶段网络实时性的情况下,也超越了一些计算时间较长的二阶段网络(如MR-CNN[5]、CoupleNet[9])。

表2 多种网络在PASCAL VOC 2007数据集下的实验结果

结合现实场景下的海面船只检测问题,网络的实际检测效果如图6所示。

图6 海面舰船检测效果图

4 结束语

文章为一阶段网络模型的搭建提供了另一种思路,它将目标检测中的识别和定位作为两个独立的任务来解决。坐标复原单元旨在处理目标定位任务,通过在大尺度和小尺度特征图之间建立直连通道来改善目标定位精度。多尺度分类单元用来负责目标识别任务,它在金字塔结构的基础上添加了特征融合机制,增强了网络对图像语义信息的提取,并且用坐标复原单元输出的目标坐标作为多尺度分类单元来识别目标的初始化坐标,降低了网络的训练难度。提出的网络以端到端的方式进行训练,可以适应多种主干网络结构。

对PASCAL VOC 2007数据集进行的实验证明了笔者提出的网络在保证实时性的情况下,获得了较其他一阶段网络乃至一些二阶段网络更高的检测精度。

猜你喜欢
复原主干尺度
温陈华:唐宋甲胄复原第一人
环境史衰败论叙事的正误及其评判尺度
抓主干,简化简单句
矮砧密植苹果园动态修剪效果好
一起来做颈椎操吧
发掘及复原恐龙化石
宇宙的尺度
9
寓美于物理力学主干知识的复习
室外雕塑的尺度