一种优化多种视觉任务模型的神经网络模块
2021-09-22赵钊龚霁程
赵钊 龚霁程
(上海西井信息科技有限公司研发部 上海市 200050)
1 引言
近年来,目标检测[1-6]和实例分割[7-9]已经成为一个充满挑战性且十分热门的研究领域。文献[7]通过Mask R-CNN首次将两个任务整合到同一个框架中,并且在这两个任务上均取得了较好的结果。在此基础上,文献[10]又提出了Cascade R-CNN架构。其相对简单且直观的设计思路使得它很容易应用于大多数两阶段模型,如Faster R-CNN[11]、R-FCN[12]、FPN[13]、Mask R-CNN[7]和GCNet[14]。因为以上所有模型的检测模块在根据这个设计级联之后,其性能都会有较为明显的提升,级联模型已经成为一种广泛使用的架构设计优化思路。该优化思路之所以应用广泛,可以归结为以下两点原因:
(1)多阶段检测产生高质量的检测结果;
(2)避免了训练时的过拟合和推理时的质量不匹配问题。
然而,多阶段目标检测[15,16]架构仍有许多可以被改进的方面。首先,级联的方法是基于多套不同参数的回归模块构建的,这使得具有超过三个阶段的级联模型代价高昂。因为这将使模型拥有过多的参数。考虑到大多数级联模型重复添加检测模块会大幅增加模型复杂度,因此绝大部分的基于级联思路的检测模型通常只级联3次。另一个问题是,级联模型所执行的检测迭代步长是固定的。例如,一个三级级联模型在训练和测试次数上都只能进行最多三个阶段的检测。这使得模型严重缺乏平衡精度和速度的灵活性。
为了解决这些问题,本文提出了一个基于注意力机制的卷积长短时记忆模块(A-ConvLSTM)。该模块可以有效的应用于各种多阶段目标检测或分割的网络模型。其主要思想同样是受到级联模块的设计思路启发,即对候选框进行多步的迭代以产生更加精确的检测框。由于LSTM[17,18]层可以通过其结构内的门单元、记忆单元和状态单元来适应每步迭代阶段的框的分布,因此模型不再需要为每一步迭代定义单独的检测模块。另外,ConvLSTM的隐藏层作为特征编码用来计算空间维度注意力掩码(spatial-wise attention masks)和通道维度注意力掩码(channel- wise attention vectors),以增强输入特征的重要区域和通道。
本文提出的模块可以很容易地与不同的检测模型进行集成,并且在所有任务上都取得了较明显的效果提升。具体来说,提出的模块被集成在两阶段检测模型FPN和其对应的分割网络上。为了简化表述,后续分别称这两个模型为R-FPN和Mask R-FPN。此外,为了进一步提高检测框的质量,一种两步回归机制也被提出。
本研究的贡献可以归纳为:
(1)提出了一种基于注意力机制的卷积长短时记忆(Attentional Convolution Long Short Term Memory A-ConvLSTM)模块。该模块比Cascade Mask R-CNN能够更好地进行多阶段回归、分类和分割掩码预测[9]。此外,该模块还可以与常用的多种检测模型进行自然集成。
(2)基于A-ConvLSTM检测模块,每一步迭代回归被进一步分解为两步回归的机制。通过对比实验验证,改进后的回归模块比标准的回归模块可以带来更高的检测框精度。
(3)为了验证提出的方法,模型在COCO[19]和Pascal VOC[20]数据集上进行了大量的实验。对于两阶段回归的R-FPN,模型使用最先进的ResNet-50-FPN作为主干网络,得到了43.0%的mAP和38.3%的分割AP。通过使用ResNeXt-101-FPN作为主干网络,模型在COCO数据集上得到了已知最优的48.1%的mAP和41.9%的分割AP。
2 相关文献
两阶段和多阶段目标检测两阶段网络最初由R-CNN[22]和Fast R-CNN[3]提出并推广。之后,Faster R-CNN[10]通过引入候选框生成网络(Region Proposal Network RPN)对其结构进行了进一步的改进。该项工作使得两阶段的目标检测模型可以通过端到端的训练进行整体的参数学习。此外,文献[23,24]提出了通过可变形卷积(Deformable Convolution)来增加各卷积核的感受野,以此来增强模型对大尺寸物体在空间位置相聚较远的特征上的整合和学习。
近年来,为了提高目标检测模型的精度,许多学者提出了多阶段网络的概念。AttractioNet[25]提出了卷积细化模块(convolutional refining module),该模块能够递归地细化边框。Cascade R-CNN[9]在FPN[12]检测模块之后再级联两个相同结构不同参数的检测模块,从而构建了三阶段检测模型。该模型同样也得到了更高质量的检测结果。文献[26]的作者引入了一个模型框架,在该模型框架中,候选框将通过特定的卷积层进行多步迭代回归。由此可见,多步迭代的级联检测方法已经成为一种被广泛使用的提高模型性能的技术。采用相似方法的还有如GCNet[13]和HTC[27]等。
实例分割实例分割的主要任务是对输入图像进行像素级的分类。最典型的模型时基于检测方法的Mask-RCNN[6]。该方法在Faster-RCNN上增加了一个像素分割的分支,并提出了利用关键区域像素对齐(RoIAlign)来改善分割边缘粗糙的问题。为了提高底层信息的利用率,加快特征信息的在前向推理时的传播速度,PANet[28]在FPN[12]后面增加了一条连接底层和上层特征输出的路径,并在全部的特征层上进行自适应池化(adaptive pooling)来统一特征尺度。HTC[27]通过交替执行检测框的回归过程和基于检测框中间结果的掩分割码预测过程,来优化级联和迭代过程。作者还将不同阶段的掩码连接起来,建立不同阶段之间的掩码信息流,同时还在实例分割框架中引入语义分割,以获得更好的空间上下文信息。与上述思路不同的是,MaskR-FCN的猜想假设基于模型可以通过增强每个阶段的特征表示来进一步优化分割的掩码预测。
3 主要方法
图1:A-ConvLSTM的基本结构图
图2:R-FPN模型的架构
本研究旨在给出完整的A-ConvLSTM模块的定义。同时,通过将其自然的集成在多种目标检测和实例分割的框架中,展示该模块为多种视觉任务模型带来的精度提升。
3.1 A-ConvLSTM模块
在文献[27]中,作者引入了掩码信息流传播架构来共享前一步迭代的掩码特征,获得了较好的分割掩码AP。文献[26]的作者建议使用特定的卷积层来递归的进行候选框的回归,而不是级联多个检测模块。在本研究中,A-ConvLSTM模块被提出,该模块能够:
(1)很好的适配并应在用基于多步迭代的视觉任务模型上;
(2)在所有的迭代步骤间实现信息流传到;
(3)通过A-ConvLSTM的隐藏层状态,模型可以解码出注意力权重掩码来增强输入特征的空间和通道信息。
图1展示了本文所提出的模块的结构。对于步骤t,Ft表示A-ConvLSTM层h的输入特征,编码后的隐藏状态被记为a:
其中,ct表示单元状态,T表示最大的迭代步骤。
得到隐藏状态后,模块通过创建空间注意力掩码来进行空间信息解码。随后,模型将这些解码的信息用于回归和分类。具体来说,每个隐藏状态都将通过MLP层g全连接到一个一维向量然后该向量通过Sigmoid函数变换后得到注意力权重。最后,通过在注意力权重上加上一个偏移值来控制权重数值的范围。注意力权重将被应用到输入特征Ft+1上,以增强重要特征空间区域。具体来说,以上过程可以形式的表示为:
其中,σ表示Sigmoid函数,表示哈达玛(hadamard)乘积。模型希望模型忽略不重要的区域,而更多地关注感兴趣的区域。因此,实验中偏移值bias被设为0.5,这样注意力值就被限定在0.5到1.5之间。此时,输入特征将在数值上被有效的放大或抑制。
3.2 R-FPN优化目标检测
在本节中,本文提出的模块将被集成到目标检测模型中。具体来说,模型使用FPN作为基础网络架构,而其中的回归分支将被替换为A-ConvLSTM层。在每一步的迭代中,模型将复用A-ConvLSTM层和分类分支的权重。另外,A-ConvLSTM的输入是从RoI池化层输出的RoI特征随后,该特征被输入到全连接层,来预测候选框的偏移量。图2显示的是本文提出的与FPN框架集成的模型的总体结构。RPN首先预测候选框,随后模型对候选框中心进行平移和变换。每一阶段,ConvLSTM的输出将被用于生成注意力权重并作用在下一步迭代输入的特征。图2中Bn表示每个阶段的边框,Cn表示每个阶段的分类结果,P表示候选框对应的池化特征。在第一个检测阶段之前,单元状态初始化为零。随着每一步的而迭代,这些状态将被传递和更新到每个检测阶段。模型的回归损失函数定义为:
其中,t表示检测阶段,xi表示第i个候选框的RoI特征,ci表示对应的单元状态。gi表示第i个候选框的真值框。在第一步迭代之后,RoI特征通过前一步解码的注意力掩码来进行进一步增强或减弱。
两步回归法大多数两阶段和多阶段模型[9-11]在一个回归阶段会直接预测了对应于原始锚定框的4个坐标偏移。但是,在大多数情况下,锚框的中心与检测目标的中心尚未对齐,而此时锚定框对应的特征值可能无法覆盖整个目标。在这样的情况下,这些模型的检测框可能无法回归到较优的位置。因此,本文提出了一种新的两步回归法来解决这一问题。该方法将原来单一的回归过程解耦为两个步骤:在第一步中,预测锚定框中心坐标偏移量,并将锚定框平移到新位置。在第二步中,模型根据新的锚定框位置对应的感受野特征去预测检测框的长宽修正值。
两步迭代中的回归特征选择由于基础网络架构FPN包含来自不同层次的多个分辨率尺度特征。模型被设计选择高层特征进行中心平移,因为这样的特征包含更多的全局信息。相对的,模型选择低层特征进行高度和宽度修正预测,应为这样的特征包含更丰富的边界细节信息。因此,原始的RoI公式被修改为:
表1:COCO数据集上的目标检测结果,*表示没采用两步检测回归法
表2:COCO数据集上的分割掩码预测结果
表3:级联模块和A-ConvLSTM模块的参数量对比
其中,k0为候选框应归属的目标层,wh表示候选框的宽度和高度。当预测锚定框的中心偏移时,m=150,当预测宽度和高度变换时,m=224。直观上看,m=150比m=224的k值更高,特征层次更深。
高层特征通常具有较大的感受野和较高的抽象水平,这有利于边框中心回归。另一方面,低层特征包含了更多的目标纹理和轮廓的细节,这有利于框形状的回归。通过整合不同层次的特征,提出的模型可以执行高质量的边框回归。
3.3 Mask R-FPN优化分割掩码预测
A-ConvLSTM模块也可以应用于实例分割任务。模型对FPN的分割掩码预测的分支进行了扩展。具体做法是在分割掩码预测卷积层后插入一个A-ConvLSTM层,其余的结构保持不变。在每个回归阶段之后,模型再次利用A-ConvLSTM中的隐藏状态来计算一个空间注意力掩码。然后,将掩码与输入的候选框特征相乘,并将整个分割预测过程重复t次。整个过程可以看作是图1中所示结构的扩展。在这种情况下,候选框的重要区域将获得更多权重。模型取每次迭代步骤中分割掩码logit的平均值作为最终的预测。
为了减少计算开销,模型仅将最后阶段的候选框用作掩码预测分支的输入,而不使用所有回归阶段的候选框。实验结果表明,该方法能够进行更高质量的分割掩码预测。
4 实现细节
作为对比实验的基线模型选择了Cascade Mask R-CNN,它是通过Tensorpack[32,33]来实现的。本文中的模型使用相同的框架来实现两阶段模型,以确保公平的实验对比。输入图像的短边调整为800像素,长边调整为不超过1333像素。模型使用8个GUP进行训练,同时固定了批归一化的可学习参数。初始学习率设置为0.005,并在180k和240k迭代时降低0.1倍。R-FPN有3个平移步骤和3个转换步骤,相当于3此标准的单步回归。训练期间的IoU阈值设置为{0.5,0.5,0.6,0.6,0.7,0.7}。实验中使用的唯一的图像增强方法是水平翻转(horizontally flipping)。在测试时,Cascade Mask R-CNN和本文中模型的NMS阈值都设置为0.5。
5 实验分析
5.1 数据集和评估指标
基础数据集模型在COCO和Pascal VOC数据集上进行了大量实验。本文提出的R-FPN和Mask R-FPN模型在COCO训练集上(约118k张图片)进行训练,并在验证集(约5k张图片)和测试集(约20k张图片)上进行了评估了。
评估指标实验使用业界标准的目标检测评估指标,不同交并比(Intersection of Union IoU)阈值下的平均精度(Average Precision AP)来平度评估每个模型的性能。为了方便表示,此处简记AP@IoU X。其中X是IoU的阈值参数,实验中X设置为0.5到0.95,步长间隔为0.05。另外,实验还对不同尺寸下的目标物的AP进行了统计。实验中,目标物的尺寸被设置为小(面积小于32个平方像素)、中(面积大于32个平方像素,小于96个平方像素)和大(面积大于96个平方像素)目标。
5.2 与先进模型的比较
图3:边框回归可视化的注意力掩码
图4:回归过程示意图
R-FPN的结果本节将对FPN与目前已知的几个最高精度的模型进行比较。表1显示了COCO数据集上检测框的精度统计结果。
基于ResNet-50-FPN的主干网络,实验展示了多种具有代表性的模型结果。同时,根据相同的实验配置,对本文提出的模型进行了结果比较。可以看到,与基准模型Cascade Mask R-CNN相比,R-FPN的整体AP比前者高出1.7%。值得注意的是,带有语义分割分支的HTC模型的检测框 AP可以达到43.6%。然而,包括R-FPN在内的所有其他模型都是只通过两个任务,即目标检测任务和实力分割任务,进行协同学习的。本文认为通过这样添加额外协同训练任务的模型会通过更多的带有信息的标签给模型的训练带来精度上的提升。因此,为了进行公平的比较,实验中的HTC模型被去掉了语义分割的分支而只保留了检测和实例分割的分支。在这样的模型结构下,用完全相同的实验配置进行模型训练和测试,得到的AP精度为表中的43.0%。据目前可查的数据显示,在单尺度输入图片的训练和测试下,基于ResNet-50-FPN主干网络的R-FPN达到的43.0%AP 是目前已知能达到的最高检测精度。此外,R-FCN相较于Cascade Mask R-CNN在AP75和APS都提高了1.3%,这同样表明本文所提出的模型能够进行更高质量的检测框回归,并且能够很好地处理更具有挑战性的目标(小目标和高精度检测框需求的目标)。
另一个基于ResNeXt-101-FPN[33]主干网络的R-FPN,不需要使用任何其他的数据增强技术。与PANet和HTC等最先进的方法相比,48.1%的整体AP和明显高于其他模型的AP75和APL说明R-FPN在大型主干网络下同样具有明显的精度优势。
Mask R-FPN的结果为了进一步验证本文提出的模块对提高视觉任务模型精度的通用性和有效性。本文同时进行了对实例分割任务的实验分析,相关结果如表2所示。为了进行公平的对比,基于相同的原因分析,实验中HTC模型的训练同样也不包含的语义分割的分支。可以看到,基于主干网络ResNet-50-FPN的Mask R-FPN的分割掩码预测AP比基准模型Cascade Mask R-CNN高出1.8%,比HTC高出0.9%。同时,大物体的掩码APL同时也比另外者分别高出3.2%和0.3%。最后,Mask R-FPN的AP75和APs相对于HTC分别高出了1.0%和0.3%。
一个基于更大的主干网络ResNeXt-101-FPN的Mask R-FCN在分割掩码预测上的AP达到41.9%,是所有已知方法中最高的。同时,除了APL之外,本文提出的模型在几乎所有指标上都有约0.5%的提升。值得注意的是,在APs上的提高是显著的1.7%。
5.3 相关性研究
在这一小结,为了验证所提出的模块,A-ConvLSTM,的关键部分的有效性,本文进行了大量的相关性实验。
A-ConvLSTM参数表3统计了三阶段Cascade R-CNN模型与R-FPN模型的回归模块的参数量。对于A-ConvLSTM层的超参数配置如下:RoI特征被编码成形状为7*7*256的三维特征图,然后将其解码为长度为4的向量表示边框回归结果。可以看到A-ConvLSTM相对于三阶段Cascade R-CNN的回归模块的参数量小了一个数量级。
注意力掩码的可视化通过可视化处理,可以直观的观察每个回归迭代步骤的注意力掩码的空间分步如图3所示。可以看到,注意力掩码通过逐步迭代,逐渐被细化到潜在的检测框边缘位置。这表明回归模块对这些区域特征给予了更多的关注。
两步回归图4显对比了标准的回归机制与本文提出的两步回归机制之间的区别,红色框表示真值框,蓝色框表示候选框,黄色框表示最终检测框,阴影区表示特征的感受野。其中图4(b)和图4 (c)表示标准回归步骤。图4 (d),图4 (e)和图4 (f)表示两步回归过程,第一步预测较大感受野的中心平移,第二步则预测较小感受野下的高度和宽度修正通过在平移和变换中使用不同层次的特征,回归模块可以获得必要的特征感受野。具体来说,更深层次的特征包含更大的特征感受野,有利于中心平移;而低层次的特征则有利于边框尺寸的回归。结果表明,两步法回归的边框的精度高于标准的回归机制得到的结果。
6 结语
本文介绍了一种基于注意力的长短时计以网络模块A-ConvLSTM。该模块可灵活简洁的应用于多种目标检测和分割框架。基于大量的实验对比和分析,可以看到基于该模块的(Mask)R-FPN模型达到了目前已知最高的43.0%的目标检测AP以及38.3%的分割掩码AP。以ResNeXt-101为主干网络,该模型在这两个任务上进一步实现了48.1%和41.9%的AP。这充分证明了本文所提出模块的有效性和可迁移性。另外,通过对迭代步长的自定义调整,该模块可进一步实现对推理精度和速度的有效平衡。
然而,研究结果显示当迭代步骤超过4步时,AP值的提高有所放缓直至第5或6步收敛。更具体地说,在每个迭代步骤过后模型的AP75都会增加,而AP50会开始减少。经过研究,可以发现大多数级联/多步骤模型都会观察到相似的情况[35]。这一现象类似于残差神经网络[36](ResNet)被设计解决的问题的初衷:当深度神经网络层数达到一定深度时,模型精度很难提高。因此,通过解决以上问题,有理由相信本研究还有进一步的改进空间。同时,虽然在检测和分割上展现了A-ConvLSTM模块的带来的性能提升,该模块仍可以被扩展到更多的视觉任务模型上去,从而进一步验证其通用性和有效性。