王 梅,胡晓杰
(沈阳理工大学 信息科学与工程学院,沈阳 110159)
目标检测作为计算机视觉中重要的研究内容之一,应用领域广泛,在人脸识别、自动驾驶等方面取得了很大的突破[1-4]。目标检测算法主要分为一阶段检测算法和二阶段检测算法。一阶段检测算法不需要产生候选区域,可直接给出物体的类别和位置,比较典型的算法有单阶段多框检测器(Single Shot MultiBox Detector,SSD)[5]、基于全卷积网络的一阶段检测(Fully Convolutional One-Stage,FCOS)[6-8]等,其优势是速度比较快。二阶段检测算法首先需要产生候选区域,然后对候选区域进行目标的分类与定位,典型算法有空间金字塔池化网络(Spatial Pyramid Pooling Network,SPP-Net)[9]、更快的区域选择卷积神经网络(Faster Region Convolutional Neural Network,Faster R-CNN)[10-11]等,其优势是检测精度较高。
在现实场景中,细长物体非常常见,如滑雪板、雪橇、牙刷、棒球棒等,但对于这类物体的检测由于其特殊的形状很难达到满意的检测效果。
基于锚框的目标检测算法,如Faster R-CNN、SSD等,锚框的大小、数量以及纵横比等因素都会影响细长形状物体的检测,会降低细长物体的泛化能力。相比之下,基于无锚框的FCOS算法不依赖于预先定义好的锚框,对任意几何形状的物体定位均具有较好的灵活性[12],更能适应细长目标。FCOS能通过中心度有效抑制远离目标中心点的预测框,可以更好地标定细长目标。此外,该算法还可避免锚框中的复杂运算,同时在训练过程中节省内存的占用,更有利于细长物体的检测。因此,本文采用FCOS作为细长物体检测的基础网络。
为进一步提升细长物体的检测精度,增强细长目标的特征提取能力,减少语义信息的丢失,提出改进FCOS的细长物体检测方法。改进内容包括如下几点:
(1)将骨干网中的卷积替换为可变形卷积[13-14],以适应细长物体的特征;
(2)设计增强的特征金字塔网络的特征融合模块(Enhanced Feature Pyramid Network,EFPN),以增强特征提取能力,减少信息丢失;
(3)在中心度中使用细长物体的细长度抑制低质量的检测框[15]。
Tian Z等[6]提出了FCOS算法,采用逐像素预测的方式检测目标,无需锚框,避免了关于锚框的复杂运算。FCOS网络结构如图1所示。FCOS网络主要包括三个部分:残差网络(Residual Neural Network,ResNet)[16]的特征提取骨干;物体检测的特征金字塔网络(Feature Pyramid Network,FPN)[17-18];FCOS检测头部。
FCOS使用骨干网络提取图像中的特征,产生不同尺度的特征图C3、C4、C5;输入到FPN特征金字塔中进行上采样、下采样特征融合,得到特征图P3、P4、P5、P6、P7;将上述P3~P7传入FCOS检测头进行逐像素的分类与回归。
检测头包括3个输出分支。第一个输出是分类分支,图1中H和W表示特征图的高度和宽度,C表示类别数。
图1 FCOS网络结构
第二个输出是中心度分支,用于减少远离目标中心点的预测,抑制低质量的检测框,从而通过非极大值抑制方法过滤掉一些低质量的预测框。中心度c*计算公式为
(1)
式中l*、t*、r*、b*分别为某点到边界框的左、上、右、下的距离。
第三个输出是回归分支,FCOS对特征图中的每一个位置对应到原图的边界框都会进行回归操作,若点落在真实框内则为正样本,否则为负样本。正样本回归计算为
(2)
为有效提升细长目标的检测精度,根据细长物体的特征,对FCOS网络进行了改进,改进后的网络结构如图2所示。下文分别对FCOS的骨干网络、特征融合网络以及检测头相关改进进行阐述。
图2 本文网络结构
FCOS的骨干网络ResNet使用卷积提取特征。对细长物体来说,由于卷积固定的几何结构和采样点限制了物体的几何形变,使卷积对细长物体采样时只能局限在固定的采样位置,难以适应细长物体的特殊形状。本文在ResNet骨干网络中使用3×3可变形卷积替换生成C3、C4、C5阶段的3×3卷积,以产生可变形的特征图D3、D4、D5。
相比于普通卷积,可变形卷积额外增加了偏移量,根据原始采样点的位置进行偏移操作得到可变形卷积的采样点。可变形卷积的结构如图3所示,通过增加一个额外的分支学习二维的偏移量,其偏移量是由普通卷积操作得到,再经过训练进行反向传播不断学习、调整采样点以适应细长目标。
图3 可变形卷积结构
将骨干网络中产生的可变形特征图输入到FPN进行特征融合,虽然该种方式丰富了浅层特征图中的语义信息,但在细长目标检测时,由于网络较深,在进行自上而下的传递时依旧会导致信息丢失严重,定位信息也没有得到有效传递,增加了定位的难度。因此,设计EFPN特征融合模块。EFPN充分结合了具有全局特征关联性的压缩与激发网络(Squeeze-and-Excitation Networks,SENet)[19-20]以及具备增加感受野、降低计算量、捕获多尺度信息的空洞卷积(Dilated Convolution,DC)[21],有效实现自上而下与自下而上的特征融合,从而更准确地提取细长物体的特征。EFPN的结构如图4所示。
图4 EFPN特征融合的结构
虽然卷积神经网络在目标检测方面发挥了重大的作用,但其只能捕捉到局部区域,却忽略了全局像素点之间的关联信息,同时在向下传递的过程中易丢失语义信息。因此,为增强语义信息以及特征提取的能力,将可变形特征图D3、D4、D5输入到SENet获取全局信息的关联程度(图4)。SENet是卷积神经网络中具有代表性的通道注意力方法,主要分为三个步骤:首先利用全局平均池化对通道处理,得到通道的全局特征z;然后为每个特征通道生成权重并获得通道之间的依赖关系,得到s;最后利用通道权值与原特征图相乘,将权值加权到原图得到最终特征图xc。计算公式为
(3)
s=F2(z,W′)=σ(W2δ(W1z))
(4)
xc=F3(uc,sc)=sc·uc
(5)
式中:Winput和Hinput分别代表输入特征图的宽度和高度;uc为每个通道c的特征图;δ为ReLU激活函数;W′为整体权重;W1、W2分别为全连接操作的权重;σ为Sigmoid激活函数;sc表示通道的权值。
通过SENet对细长物体施加注意力并以学习的方式自动获取图片中每个特征通道的重要程度,捕获全局信息避免信息的丢失,从而集中于图片中重要的细长目标,抑制不重要的背景信息。利用自上而下的特征融合,形成了一个具有全局特征的不同尺度的通道注意力特征图S3、S4、S5,进一步增强了语义特征(图4)。
为进一步减少语义信息丢失、增大感受野以及增强细长物体特征融合的能力,在S3、S4、S5的基础上再采用DC处理(图4)。DC与标准卷积的结构如图5所示,图中r为扩张率。
图5 标准卷积与DC
由图5可见,与标准卷积相比,在卷积核大小相同的情况下,DC增加了扩张率,以此获取不同大小的感受野。虽然增大池化、卷积核等都能扩大感受野,但增大池化会带来信息损失,增大卷积核会导致计算量增加。DC能够在不损失信息、不增加计算量的前提下,加大感受野,使得每个卷积的输出都包含较大范围的信息,同时获得细长物体中不同尺度的信息,增强细长物体的特征融合能力及特征识别能力。
在不增加计算成本的同时添加额外的边,以融合更多的细长目标特征,即在同一尺度的输入节点到输出节点之间加一个跳跃连接,如图4中D5到DC的弧线所示,直接使用骨干原始提取的可变形特征进行融合。为了增强对语义信息和定位信息的传递,并增强特征融合的能力,以自下而上方式,对不同感受野的特征进行融合,最终生成具有丰富的细长物体特征信息的P3、P4、P5、P6、P7特征图。
在FCOS检测头的部分,中心度是有效无锚框检测的关键,通过使用预定义的中心度分数重新加权抑制远离对象中心的虚假预测。由于细长物体的长宽比例极大,在细长物体长边上的衰减较慢而在短边上的衰减较快,导致定位细长物体的训练不足。因此,根据细长物体的细长度即短边和长边的比值,调整中心度的计算为
(6)
s=min(w,h)/max(w,h)
(7)
式中:s为物体的细长度;w和h分别代表细长物体最小矩形框的宽和高。
使用从COCO数据集中提取的细长类物体作为本文的数据集,如滑雪板、牙刷、棒球棒等,其中训练集25424张图片,验证集1077张图片,实验在训练集上训练并在验证集上评估。
对于评估指标,本文使用标准的COCO评估指标评估本文细长物体检测的准确性。其中,交并比IOU用来衡量预测框与目标的实际位置的准确度;AP为平均精度;AP50和AP75分别表示IOU阈值为0.5和0.75时的AP值;APS、APM和APL代表小目标、中等目标和大目标的AP值,规定小目标为目标面积小于32×32的物体,中等目标为面积大于32×32且小于96×96的物体,大目标为面积大于96×96的物体。
实验环境采用Ubuntu16.04操作系统,GPU为NVIDIA GeForce GTX2080Ti,使用Python 3.7版本,深度学习框架为Pytorch 1.4.0。
实验使用ResNet101作为骨干网络,并使用在大规模的分层图像数据集ImageNet[22]上训练好的ResNet101模型作为预训练权重进行微调,其他部分使用随机初始化进行训练,使用随机梯度下降的学习策略训练24轮,初始学习率为0.01,在第12轮时进行衰减,一次训练样本数为2,权重衰减设置为0.0001,动量设置为0.9。
本文在细长物体数据集上将FCOS作为基础网络进行消融实验,以研究不同的组件对细长物体检测的有效性。如表1所示,通过在基础网络FCOS中依次添加可变形卷积、EFPN以及改进的中心度后,精度值AP逐渐上升。具体来说,在骨干网络将卷积替换成可变形卷积,在不同IOU阈值以及不同尺寸下的指标均有所提升,平均精度AP值提升了1.1%,检测结果更加准确,体现出对细长物体具有更强的适应性,从而验证可变形卷积的有效性;添加EFPN后,也有效提升了检测精度,AP值提升了1.3%,并且在其他条件下的AP值也有提升,特征提取更准确,证明了EFPN的效果;改进的中心度将检测精度AP提升到31.7%,其他各项指标均有所提升。
表1 在细长物体数据集检测中不同模块对检测效果的影响 %
实验证明,各模块的指标对细长目标检测均有一定的提升,表明了本文方法的有效性。
以ResNet101作为骨干网络进行实验,表2给出了改进后的FCOS检测算法与基于锚框的Faster R-CNN以及FCOS算法在细长目标数据集中检测效果的对比结果,目的是为了验证本文算法在细长物体检测中的有效性。
由表2可见,在细长目标数据集中,由于Faster R-CNN 中锚框固定尺寸等限制导致Faster R-CNN上检测精度较低,AP值为24.8%。相比之下,基于无锚框的FCOS不依赖于预先定义好的锚框,对任意几何形状的物体定位具有较好的灵活性,更能适应细长目标,FCOS算法的AP值为28.4%,检测结果优于Faster R-CNN检测算法。改进后的FCOS充分考虑到了细长目标的特征提取和语义信息的完整性,进而在不同IOU阈值以及不同尺寸下的指标均有明显提升,AP值提升到31.7%,相比FCOS,AP值提升了3.3%,可见改进后的FCOS有较大的优势。
表2 改进后FCOS与其他算法的细长物体检测效果对比 %
对比实验结果表明,基于改进FCOS的细长物体检测算法提升了检测精度,进而验证了该算法对细长目标的有效性。
设计了一种基于改进FCOS的细长目标检测算法,通过在骨干网络中将卷积替换为可变形卷积,使其能够自适应地调整采样点以适应细长目标;通过提出EFPN能够有效地获取细长目标的上下文全局信息并对不同感受野进行有效融合,从而增强细长目标的语义信息与特征识别能力;通过改进中心度,更高效地抑制虚假预测。实验结果表明,上述方法在FCOS的基础上提升了细长目标检测的精度,验证了本文算法对细长物体检测的有效性。