基于CNN级联特征增强的通用目标检测方法

2022-05-23 07:25张业星潘秋羽
计算机工程与设计 2022年5期
关键词:级联语义建模

张业星,陈 敏,潘秋羽

(中国电建集团华东勘测设计研究院有限公司 浙江华东工程数字技术有限公司,浙江 杭州 310000)

0 引 言

图1 一阶段与二阶段方法对比

随着深度学习应用研究的井喷式发展,与计算机视觉相关的任务需求也在日益增多。通用目标检测作为一项结合了目标分类与定位的基础视觉任务,其目的在于区分图像中的复杂背景与潜在目标,并对每一个潜在目标预测其所属的类别(Label)与位置(Bounding Box)。作为目标跟踪、目标重识别等高级视觉任务的理论研究基础,目标检测任务对图像内容表达、图像信息理解等应用领域也有着深远影响,越来越受到国内外研究学者的重视。随着近些年机器视觉理论与特征建模技术的蓬勃发展,基于卷积神经网络(convolutional neural networks,CNN)的通用目标检测方法逐渐取代了传统的检测方法,在精度和速度上都实现了巨大的突破。现阶段依赖CNN的检测方法主要可以分为两类,第一类是利用回归的方式直接在特征图上预测出目标类别与位置信息的一阶段方法,其中代表性算法有YOLO系列[1-3]、SSD系列[4-6]等;第二类是先在特征图上进行候选区域(region proposal,RP)生成,然后再利用RP有针对性地进行类别和位置信息预测的二阶段方法,代表性算法有RCNN系列[7-9]等。如图1所示,通过对比两类方法发现,无论是一阶段还是二阶段的检测方法,其首要步骤都是对输入的图像进行特征提取,进而得到含有丰富语义的抽象特征集合。因此,本文做出了基于统计的预测,CNN生成特征的好坏对于分类器和回归器的学习过程尤为关键,这将直接决定模型表现的上限,而检测的算法只是在尽可能逼近这个上限。

1 研究现状

近些年,有越来越多的学者开始针对CNN的级联特征进行探索,以期获得更具计算机视角下的语义特征来增强模型的表达力和泛化力。其中FPN[10]针对Faster RCNN[8]中单一尺度特征图预测缺少底层细节信息的问题,设计了自顶向下的融合链接,弥补了底层特征图缺少的强语义信息,提升了对小目标的检测效果;RSSD[11]算法针对原SSD算法中同一目标易被多个边框检测到的现象,提出了Rainbow Concat结构,增加了分类网络中不同特征层级之间的关联性;PoolNet[12]针对FPN[10]中融合链接带来的高层抽象语义被稀释问题,设计了GGM和FAM减少抽象语义流失,改进传统特征金字塔在显著性检测方面的应用。

综上这些方法[10-12]都对图像的特征空间进行了建模,并利用多尺度特征融合对顶层强语义特征或底层弱语义特征进行弥补,提高模型表达力,这无疑表明CNN级联特征的增强对于目标检测任务而言是至关重要的。虽然这些方法一定程度上改善了之前仅使用单一尺度特征图进行预测带来的精度低、鲁棒性差等问题,但由于其方法在建模过程中忽略了信息的逐层衰减,致使模型难以有效适应复杂场景下的多尺度检测任务。因此,本文在此基础上构建了全新的特征增强模块(feature enhancement module,FEM),在弥补图像全局信息的同时,增强了网络级联特征的表达力。本文所提出特征网络的结构如图2所示。

图2 特征提取网络

网络首先通过CNN级联对输入图像进行高维度特征提取,然后利用自顶向下链接将Backbone每阶段的输出进行融合建模,构建特征金字塔,最后再通过对其进行特征增强处理,生成含有丰富语义的最终特征用于后续的目标检测和边框回归。

2 相关工作

多维特征信息的融合互补可以增强图像特征空间的表达能力。底层特征图的分辨率偏大,但感受野过小,每个像元关注的多为潜在对象的微观特征如纹理、线条;顶层特征图的分辨率很小,但感受野较大,每个像元通过网络级联可以将细节信息抽象为更具机器视角的宏观特征如轮廓、形状。传统的FPN和FSSD[6]等链式特征融合方法只针对单一方向缺失的语义信息进行了弥补,忽略了语义信息来源的多方向性,如图3(a)所示,FPN模型中自顶向下链接的设计虽然弥补了特征金字塔中各个层级的顶层宏观信息,但由于链接的单向性,使得顶层特征图并未得到较低层微观信息的补充;又比如图3(b)中的FSSD模型,虽然先融合各个层级的信息去构建底层的基础特征层,并依靠自底向上链接去级联生成新的特征金字塔,但因为级联路径也是单向的,使得底层的特征图无法获得较高层宏观信息的弥补。

图3 FPN与FSSD融合模块

本文针对上述问题,对传统的链式融合结构进行了改进,通过在特征融合阶段引入FEM来加强CNN级联所得特征图的表达力;除此之外,还利用特征金字塔各层级特征图间的二次融合,减少了特征图语义间的噪声,构建具有更强表达力的特征空间,从而更好地表达原图像的全局信息;最后,本文设计了消融实验将未使用FEM和使用FEM的模型进行对比,印证了改进后方法的有效性。

2.1 特征增强模块(FEM)

高层语义特征有助于学习目标的类别信息,但是过于粗糙,不利于宏观定位;底层特征有助于学习目标的位置信息,但语义太弱,不利于模型分类,这两种特征对于目标检测任务都尤为重要。传统的多尺度融合检测方法在建模时引入了纵向融合链接来构造特征金字塔,但由于融合链接的单向性,使得金字塔中的各层级特征只能获得单方向的语义信息弥补,影响后续目标分类和边框回归任务的性能。基于此,本文方法对CNN的级联特征进行了增强,构建FEM实现多方向语义信息的弥补,补充融合路径中被不断稀释的宏观信息和微观信息。FEM的详细结构如图4所示。

图4 特征增强模块

FEM建模的样本空间中共计有5个尺度的特征图,即 {752,382,192,102,52} 分别对应特征金字塔 {P3,P4,P5,P6,P7} 中的每个层级,其通道维度都为256。该模块的建模严格遵循了按通道拼接(Channel Concat)的融合方式,涉及到的计算方式一共有3种,其中方向向下的黑色曲线代表双线性插值上采样,方向向上的灰色曲线代表卷积核尺寸为3,宽高方向步长为2的卷积操作,虚线代表f(x)=x的网络恒等映射。

模块首先将 {P3,P4,P5,P6,P7} 中的每个样本按照通道维度进行分割,得到4个尺度为W×H×64的特征图;然后将这4个分割后的特征图分别进行上采样或下采样变换,生成除自身尺度以外的其它4个特征层级的尺度,最后通过Concat操作,将变换后的4个W×H×64的特征图与经过恒等映射(identity mapping,IM)得到的原始特征 {P3,P4,P5,P6,P7} 按通道进行拼接,重构富含各个层级信息的增强特征 {F3,F4,F5,F6,F7}。 FEM最终输出的特征图尺度为W×H×512, 其中W与H属于集合 {752,382,192,102,52}, 整个过层涉及到的计算公式如下所示

Pi_a,Pi_b,Pi_c,Pi_d=Split{Pi},i∈{3,4,5,6,7}F3=Concat{P3,B*1(P4_a),B*2(P5_b),B*3(P6_c),B*4(P7_d)}F4=Concat{P4,B*1(P5_a),B*2(P6_b),B*3(P7_c),C*1(P3_d)}F5=Concat{P5,B*1(P6_a),B*2(P7_b),C*2(P3_c),C*1(P4_d)}F6=Concat{P6,B*1(P7_a),C*3(P3_b),C*2(P4_c),B*1(P5_d)}F7=Concat{P7,C*4(P3_a),C*3(P4_b),C*2(P5_c),C*1(P6_d)}

上述公式中的Split操作代表对所选特征图进行通道分割;Concat操作代表对所选特征图进行通道拼接;B*i(X) 代表对特征图X进行i次宽高方向步长为2的双线性插值上采样;C*i(Y) 代表对特征图Y进行j次卷积核尺寸为3,宽高方向步长为2的卷积下采样,且保持特征深度为64不变。如此一来,FEM能够对CNN级联金字塔的各尺度特征进行建模,利用顶层宏观特征和底层微观特征的互补来构建融合特征,使得增强后的特征图对原图像的全局信息更敏感。

2.2 消融实验

为了衡量FEM的设计对最终预测的影响,本小节设计了消融实验进行验证。实验Backbone为残差网络ResNet-50[13],训练、测试数据集为PASCAL VOC[14],训练采用的损失函数为Multibox Loss,测试时IoU阈值为0.5。实验结果见表1,其中baseline算法为未使用FEM的融合建模方法。

表1 消融实验结果对比

由表1可知,本文方法所提出的FEM是一个正向积极的改进,该模块在mAP为82.7%的baseline方法上取得了最高2.3%的提升。除此之外,本文实验还对FEM中IM恒等映射带来的mAP提示进行了单独评估,IM的设计借鉴了Shortcut Connection的思想,其作用在于增加神经网络中信息间的流动并保留尽可能多的初始信息用于后续的目标分类和边框回归。总的来说,本文方法利用FEM对传统CNN的级联过程进行特征建模,促使特征空间中各个层级的语义信息得到弥补,达到增强特征表达力的目的,最终使模型对于复杂场景进行预测时更鲁棒。

表2 不同IoU阈值下的方法对比

可以发现,在各个IoU阈值情况下本文方法都带来了可观的mAP提升,最高情况是当IoU=0.7时,提升幅度为3.6个百分点,如图5所示,这在一定程度上反映了FEM对于模型精准定位起到了不错的效果。

图5 实验结果对比

3 实验分析

3.1 实验环境

本文实验所使用的软硬件环境为LINUX 64-bit Ubuntu 16.04操作系统,Intel®Xeon®Platinum 8163 CPU 2.5 GHz处理器,NVIDIA Tesla V100 32 GB GPU。实验程序基于了Pytorch[15]深度学习框架。

3.2 模型调优

3.2.1 参数共享

本文算法采用了one stage的检测流程,选取了ResNet-50作为特征提取网络。通过在FEM建模完成的增强特征后添加cls-branch与reg-branch两个平行分支来进行目标类别置信度和坐标偏移量的预测。两个分支都由4个卷积核尺寸等于3,输出维度等于512,且经过ReLu非线性激活的卷积层组成子网头部。本文实验为了加快训练时模型的收敛速度和降低过拟合风险,所以对网络的参数数量进行了控制,通过让各个预测模块中的cls-branch与reg-branch头部共享网络参数,使其除了最后一层输出维度之外的其它部分完全相同。预测网络的结构如图6所示,其中W、H属于集合 {752,382,192,102,52}, 代表当前层级中特征图的宽度和高度,K代表待检测的类别总数(前景类别数加背景),A代表了锚点框的数量。

图6 预测网络结构

3.2.2 锚点框聚类

传统的目标检测算法为了将模型预测的精度最大化,通常在训练阶段会使用人为设计的多尺度、多横纵比锚点框,使得回归后的边框能尽可能包含各个大小的目标尺寸,但这样却会带来两个问题:

(1)人为设计的锚点框尺寸没有对当前数据的分布进行分析,难以利用到大数据的优势;

(2)大量针对锚点框的计算会使模型在训练阶段难以收敛,且在推理阶段速度变慢。

针对上述问题,本文实验基于CNN级联网络具有轻易捕捉尺度空间信息的优势,为了压缩模型的计算时长,仅设计了单一尺度的锚点框,对于纵横比的选取,则采用k=3的kmeans算法对数据集的真实坐标进行聚类,如此一来在避免主观设定的同时,还减少了模型计算量。

3.2.3 正负样本平衡

正负样本间的失衡是通用目标检测算法(尤其是one stage检测算法)中普遍存在的问题。由于待检测的图像中经常是背景负样本数量远多于前景正样本数量,这将使得以总体分类准确率为学习目标的分类子网过多的去关注多数类样本,降低少数类样本的分类性能,导致模型在训练阶段被大量背景样本主导,从而难以收敛到优质解,给分类器造成性能瓶颈。针对此问题,本文方法引入了OHEM机制,首先将全部的负样本按照损失大小进行遍历,然后选取正样本3倍数量的负样本进行损失统计,最后仅针对这些统计好的部分损失进行反向传播并更新网络权重。

3.3 参数设置

本文实验训练时的参数设置如下:

(1)初始学习率lr=0.0005;

(2)最大迭代次数maxiter=50 000;

(3)学习率衰减尺度deciter=40 000;

(4)批处理数量batchsize=24;

(5)非极大值抑制阈值[16]nmsthresh=0.45;

(6)优化动量参数momentum=0.9。

3.4 训练过程

本文实验采用了端到端的训练方法,训练过程如下所述:

(1)骨干网ResNet-50使用了Image Net[17]的预训练参数进行初始化,其它网络参数则使用了N(0,0.1) 的正态分布函数进行初始化;

(2)将网络随机获取的每个批次的输入图像以二分之一的概率进行水平翻转,以增强模型泛化能力;

(3)将输入图像转换成像素矩阵,并按照均值参数means=[0.485,0.456,0.406], 标准差参数stds=[0.229,0.224,0.225] 进行归一化预处理;

(4)将预处理完的图像张量的分辨率进行标准化,固定为Backbone的输入大小,即宽高皆为600;

(5)当模型训练迭代到40 000次后,对学习率大小进行衰减控制,系数取值为0.1;

(6)采用momentum=0.9的随机梯度下降算法对损失函数进行优化,直至达到最大迭代次数或损失收敛。

3.5 实验结果

为了将本文方法与其它SOTA检测算法的mAP进行量化对比,现将实验结果与传统特征融合建模方法FPN[10]、DSSD[5]、FSSD[6]、RSSD[11]进行比较,实验中IoU阈值设定为0.5。由表3可知,本文方法在使用较浅Backbone的同时仍然取得了最高的mAP值,这主要得力于FEM的设计能够有效缓解传统链式融合带来的长路径语义稀释问题,并通过对特征金字塔进行通道建模,增强CNN级联特征的表达力,使模型在复杂场景下的检测效果得到提升。

图7展现了本文方法在PASCAL VOC 2007测试数据集中的部分检测样例,可以发现在使用了FEM后,检测模型能够对截断、重叠、阴影、遮挡等复杂场景更加鲁棒。

表3 算法mAP值对比

图7 VOC 2007目标检测样例

4 结束语

传统依赖CNN的目标检测算法[5,6,10,11]大都利用了融合建模方法对不同层级的语义特征进行补充,但由于网络的级联太长,信息在融合路径中的传递被逐渐地稀释,使得模型在针对复杂场景进行检测时不够鲁棒。基于此,本文设计了FEM对CNN级联特征进行增强。首先对底层特征图进行复用,利用自顶向下链接构建过度特征;然后对过度特征进行通道建模,生成适用于多尺度检测的全局特征;最后通过两个平行的CNN结构分别计算得到目标的类别和坐标。经过实验验证,并在公共数据集PASCAL VOC 2007上进行测试,本文方法取得了85.0%的mAP值,在baseline的基础上取得了最高2.3%的提升。实验结果表明,FEM能够在保留图像原始语义信息不被破坏的同时去重构富含全局描述的多尺度特征空间,这对于后续分类器与回归器的学习是十分有利的。但是,由于本文方法对各层级特征图进行了严格建模,计算量颇大,导致模型的推理速度有所降低,使得本文方法并不适用于实时性要求很高的场合。因此,下一步的研究工作主要集中在保留现有预测精度的同时,对算法的时间复杂度进行优化,取得预测速度和预测精度之间的平衡。

猜你喜欢
级联语义建模
真实场景水下语义分割方法及数据集
铀浓缩厂级联系统核安全分析
联想等效,拓展建模——以“带电小球在等效场中做圆周运动”为例
求距求值方程建模
语言与语义
富集中间组分同位素的级联
—— “T”级联
基于PSS/E的风电场建模与动态分析
“吃+NP”的语义生成机制研究
汉语依凭介词的语义范畴
三元组辐射场的建模与仿真