论文解读-Hybrid Task Cascade for Instance Segmentation

摘要:

Cascade是一个经典但功能强大的架构,可以提高各种任务的性能。然而,如何在实例分割中引入级联仍然是一个悬而未决的问题。级联R-CNN和掩模R-CNN的简单组合只能带来有限的增益。在探索一种更有效的方法时,我们发现一个成功的实例分割级联的关键是充分利用检测和分割之间的相互关系。在这项工作中,我们提出了一个新的框架,混合任务级联(HTC),它在两个重要方面有所不同:(1)它不是单独对这两个任务进行级联细化,而是将它们交织在一起进行联合多阶段处理;(2)采用全卷积分支提供空间上下文,有助于区分硬前景和杂乱背景。总体而言,该框架可以逐步学习更多的判别特征,同时在每个阶段将互补特征整合在一起。在MSCOCO数据集上,单个HTC比强级联掩模R-CNN基线分别获得38.4%和1.5%的改进。此外,我们的整体系统在测试挑战分割上实现了48.6个掩码AP,在COCO 2018挑战目标检测任务中排名第一。

1.引言

  1. Cascade R-CNN[5]提出了一种多阶段的目标检测架构,并取得了令人满意的结果。

    Cascade R-CNN的成功可以归因于两个关键方面:                                                                (1)预测的逐步细化和(2)训练分布的自适应处理。

  2. 与bbox AP相比,直接组合Cascade R-CNN和Mask R-CNN[18]在Mask AP方面的增益有限。具体而言,bbox AP提高了3.5%,Mask AP提高了1.2%,如表1所示。造成这种巨大差距的一个重要原因是不同阶段掩模分支之间的信息流不优。后期阶段的掩码分支只受益于更好的本地化边界框,而没有直接连接。

  3. 混合任务级联(HTC)关键思想是通过在每个阶段结合级联和多任务来改善信息流,并利用空间环境来进一步提高准确性。具体来说,我们设计了一个级联管道进行逐步细化。在每个阶段,边界盒回归和掩码预测都以多任务的方式结合起来。此外,在不同阶段的掩模分支之间引入了直接连接——每个阶段的掩模特征将被嵌入并馈送到下一个阶段,如图2所示。整体设计加强了任务之间和阶段之间的信息流,从而在每个阶段进行更好的细化,并对所有任务进行更准确的预测。

  4. 对于目标检测,场景上下文也提供了有用的线索,例如推断类别、尺度等。为了利用这种情况,我们合并了一个执行像素级内容分割的全卷积分支。这个分支不仅编码来自前景实例的上下文信息,还编码来自背景区域的上下文信息,从而补充了边界框和实例掩码。我们的研究表明,利用空间背景有助于学习更具辨别性的特征。

  5. HTC易于实现,可以端对端进行培训。在具有挑战性的COCO数据集上,它的掩模AP分别比mask R-CNN和Cascade mask R-CNN基线高2.6%和1.4%。结合更好的主干和其他常见组件,如可变形卷积、多尺度训练和测试、模型集成,我们在测试开发数据集上实现了49.0的掩码AP,比2017年COCO挑战赛的获胜方法[28]高出2.3%。

  6. 主要研究成果如下:(1)提出了混合任务级联(Hybrid Task Cascade, HTC),该方法通过将检测和分割特征交织在一起,进行联合多阶段处理,有效地将级联集成到实例分割中。它在COCO测试开发和测试挑战上达到了最先进的性能。(2)通过区分前景目标和背景干扰,证明空间背景有利于实例分割。(3)我们对各种组件和设计进行了广泛的研究,为进一步研究目标检测和实例分割提供了参考和帮助。

 

2.相关工作 

  1. 实例分割:

    实例分割是一项在像素级定位图像中感兴趣的对象的任务,其中分割的对象通常由蒙版表示。该任务与目标检测和语义分割密切相关[30,22]。因此,该任务的现有方法大致分为两类,即基于检测的和基于分割的。

    基于检测的方法利用传统的检测器生成边界框或区域建议,然后预测边界框内的目标掩码。这些方法中有很多是基于CNN的,包括DeepMask[36]、SharpMask[37]和InstanceFCN[10]。MNC[11]将实例分割作为一个由实例定位、掩码预测和对象分类三个子任务组成的流水线,以级联的方式对整个网络进行端到端的训练。在最近的一项工作中,FCIS[23]扩展了InstanceFCN,并提出了一种完全卷积的实例分割方法。mask - rcnn[18]在Faster R-CNN[39]的基础上增加了一个额外的分支来获得像素级掩码预测,这表明一个简单的管道可以产生很好的结果。PANet[28]在FPN[24]中除了自顶向下的路径外,还增加了一条自底向上的路径,以方便信息的流动。MaskLab[7]通过结合语义和方向预测生成实例感知掩码。                                                                                                                                        基于分割的方法首先在图像上获得像素级分割映射,然后从中识别对象实例。沿着这个思路,Zhang等人 [46, 45] 提出根据局部patches 预测实例标签,并将局部结果与马尔可夫随机场(MRF)集成。Arnab和Torr [1]使用条件随机场(CRF)来识别实例。Bai和Urtasun [2]提出了一种替代方法,将分水岭变换和深度学习相结合,生成能量图,然后通过分割分水岭变换的输出来得到实例。其他方法包括桥接类别级别和实例级别分割[42],学习边界感知的掩模表示[17],以及使用一系列神经网络来处理不同的子分组问题[27]。

桥接类别级别:桥接类别级别和实例级别分割是一种用于实例分割的方法,它旨在将类别级别的分割结果转换为实例级别的分割结果。这种方法通常涉及到对类别级别分割结果进行后处理,例如通过聚类或分割分割区域来识别不同的实例。这种方法的优点是可以利用类别级别分割的信息来提高实例级别分割的准确性,同时也可以减少计算成本。

分水岭变换:分水岭变换是一种用于图像分割的方法,它基于图像中的灰度值和梯度信息来将图像分割成不同的区域。在分水岭变换中,图像被视为一个地形图,其中灰度值表示高度,梯度表示地形的坡度。通过在地形图上模拟水流,可以将图像分割成不同的区域,其中每个区域都被视为一个水池。分水岭变换通常用于分割具有复杂形状和纹理的目标,例如细胞、细胞核和血管等。在实例分割中,分水岭变换可以用于将像素分割成不同的实例,从而实现像素级别的分割。

马尔可夫随机场是一种用于描述一组随机变量之间关系的数学模型。它基于马尔可夫性质,即给定当前状态,未来状态的概率只依赖于当前状态,而不受过去状态的影响。在图像处理中,MRF经常用于对像素之间的关系进行建模。图像中相邻像素之间的关联性可以通过MRF进行表达。例如,如果一幅图像中相邻的像素颜色相似,MRF可以帮助模型理解这种相似性。

条件随机场是一种无向图模型,用于建模条件概率分布。它通常用于标注和分割问题,其中给定观测数据,CRF能够对标签序列进行建模。在自然语言处理和计算机视觉中,CRF常用于序列标注任务。例如,在命名实体识别中,给定一句话(观测数据),CRF可以帮助确定每个词的标签(实体类型)。关键特点是,CRF允许引入观测变量和标签变量,并通过最大化条件概率来学习它们之间的关系。这使得CRF能够考虑观测数据和标签之间的复杂依赖关系。

2.多阶段目标检测

过去几年在目标检测方面取得了显著的进展。主流的目标检测框架通常分为两种类型,单级检测器[29,38,25]和两级检测器[39,12,18,32]。近年来,多阶段检测框架成为一种日益流行的目标检测范式。多区域CNN[14]采用了一种迭代定位机制,在盒子评分和位置细化之间交替进行。AttractioNet[15]引入了一个Attend & Refine模块来迭代地更新边界框位置。CRAFT[44]在RPN[39]和Fast RCNN[16]中加入了级联结构,以提高提议和检测结果的质量。io - net[20]执行渐进式边界框细化(即使没有显式地呈现级联结构)。级联结构也用于排除容易的负样本。例如,CC-Net[31]拒绝浅层的简单roi。Li等[21]提出在多分辨率下操作以拒绝简单样本。在所有使用级联结构的作品中,cascade R-CNN[5]可能与我们的作品最相关。级联R-CNN包括多个阶段,其中每个阶段的输出被馈送到下一个更高质量的细化。此外,每个阶段的训练数据都是通过增加IoU阈值来采样的,这本质上处理了不同的训练分布。

虽然提出的框架也采用级联结构,但在几个重要方面有所不同。首先,在每个阶段将检测、掩码预测、语义分割等多个任务结合起来,形成一个联合的多阶段处理流水线。通过这种方式,每个阶段的细化都受益于这些任务之间的相互关系。此外,上下文信息通过额外的分支来进行内容分割,并添加方向路径以允许直接信息流跨阶段。

3.Hybrid Task Cascade

在这项工作中,我们发现成功的实例分割级联的关键在于充分利用检测和分割之间的相互关系。

混合任务级联(HTC)独特之处:

(1)它将边界盒回归和掩码预测交叉执行,而不是并行执行。(2)采用直接路径,将前一阶段的掩码特征馈送到当前阶段,加强掩码分支之间的信息流。(3)通过增加一个额外的语义分割分支,并将其与盒子分支和掩码分支融合,以探索更多的上下文信息。总体而言,对框架体系结构的这些更改有效地改善了信息流,不仅是跨阶段的信息流,还包括任务之间的信息流。

 

3.1 多任务级联

(1)Cascade Mask R-CNN

如图1a:The pipeline is formulated as:

x表示骨干网的CNN特征,x box t和x mask t表示由x和输入roi导出的box和mask特征。这些特征将用于后续的盒子预测和掩模预测。P(·)是池化算子,例如RoI Align或RoI池化,它们用于将不同大小的RoIs映射到固定大小的特征图上。Bt和Mt表示第t阶段的盒头和掩码头,rt和Mt表示相应的盒预测和掩码预测。它们是模型对输入图像中实例位置和形状的预测结果。通过结合级联细化的优点以及边界盒和掩码预测之间的相互好处,与单独的mask R-CNN和Cascade R-CNN相比,该设计改进了盒AP。然而,掩码预测的效果并不理想。 

(2)Interleaved Execution. 

上述设计的一个缺点是,每个阶段的两个分支在训练期间并行执行,都将前一阶段的边界框预测作为输入。因此,这两个分支在一个阶段内不会直接交互。

为了解决这个问题,我们探索了一种改进的设计,它将盒和掩模分支交叉在一起,如图1b所示。交错执行表示为:

 通过这种方式,掩码分支可以利用更新的边界框预测。我们发现这样可以提高性能。

(3)Mask Information Flow.

在上面的设计中,每个阶段的掩码预测都是纯粹基于ROI特征x和框预测rt,不同阶段的掩码分支之间没有直接的信息流,阻碍了掩码预测精度的进一步提高。

为了更好地设计掩码信息流,我们首先回顾Cascade R-CNN中级联盒分支的设计[5]。重要的一点是箱形支路的输入特性是由前级和主干网的输出共同决定的。遵循类似的原则,我们通过将前一阶段的掩码特征馈送到当前阶段来引入掩码分支之间的信息流,如图1c所示。对于掩码分支之间的直接路径,管道可以写成:

其中m−t−1表示Mt−1的中间特征,我们用它作为阶段t−1的掩模表示。F是结合当前阶段和前一阶段特征的函数。这个信息流使得逐步细化掩码成为可能,而不是在逐步细化的边界框上预测掩码。

(4)Implementation.

根据上面的讨论,我们提出一个简单的实现如下所示。

 在本实现中,我们采用反卷积层前的RoI特征作为掩码表示m_{t-1}^{-},其空间大小为14×14。在阶段t,我们需要转发所有前面的掩码头与当前阶段的roi来计算m_{t-1}^{-}

其中,M_{t}^{-}表示掩码头Mt的特征变换分量,由4个连续的3×3卷积层组成,如图2所示。然后将变换后的特征m_{t-1}^{-}嵌入到1 × 1卷积层Gt中,以便与汇集的骨干特征x掩码t对齐。最后,通过元素求和将Gt(m_{t-1}^{-})加到x_{t}^{mask}上。有了这个桥,相邻的遮罩分支被引入直接的互动。不同阶段的掩码特征不再是孤立的,都通过反向传播得到监督。

3.2 Spatial Contexts from Segmentation

为了进一步帮助从杂乱的背景中区分前景,我们使用空间上下文作为有效的线索。我们增加了一个分支来预测整个图像的逐像素语义分割,该分支采用全卷积架构,与其他分支联合训练,如图1d所示。语义分割特征是对现有盒和掩码特征的强大补充,因此我们将它们结合在一起以获得更好的预测:

 其中S为语义分段头。在上述公式中,每个阶段的盒头和掩码头不仅以从主干提取的感兴趣区域特征作为输入,而且还利用了语义特征,在杂乱的背景下具有更强的辨别能力。

(1)Semantic Segmentation Branch.

具体而言,基于特征金字塔的输出构建语义分割分支S[24]。请注意,对于语义分割,单个级别的特征可能无法提供足够的判别能力。因此,我们的设计包含了多个层次的功能。除了中级特征之外,我们还结合了具有全局信息的高级特征和具有局部信息的低级特征,以获得更好的特征表示。

图3显示了这个分支的体系结构。特征金字塔的每一层首先通过1 × 1的卷积层对齐到一个公共表示空间。然后,低级特征图被上采样,高级特征图被下采样到相同的空间尺度,其中步幅被设置为8。我们从经验上发现,这个设置足以对整个图像进行精细的像素级预测。转换后的不同层次的特征映射通过元素和进行融合。此外,我们在其上增加了四个卷积层,以进一步弥合语义差距。最后,我们简单地采用卷积层来预测逐像素分割图。总的来说,我们尽量保持语义分割分支的设计简单明了。

(2)Fusing Contexts Feature into Main Framework.

众所周知,密切相关任务的联合训练可以改善特征表示,并为原始任务带来性能提升。在这里,我们建议将语义特征与盒/掩码特征融合在一起,以允许不同分支之间更多的交互。通过这种方式,语义分支直接有助于使用编码的空间上下文预测边界框和掩码。按照标准实践,给定RoI,我们使用RoIAlign从相应级别的特征金字塔输出中提取一个小的(例如,7 × 7或14 × 14)特征补丁作为表示。同时,我们还在语义分支的特征图上应用RoIAlign,得到形状相同的特征patch,然后通过元素求和将两个分支的特征组合起来。

3.3 Learning

由于上述所有模块都是可微分的,因此混合任务级联(HTC)可以以端到端的方式进行训练。在每个阶段t,盒子头预测所有采样roi的分类得分ct和回归偏移rt。掩码头预测正roi的逐像素掩码mt。语义分支预测一个完整的图像语义分割图。整体损失函数采用多任务学习的形式:

其中,L_{bbox}^{t}为阶段t时边界盒预测的损失,其定义与Cascade R-CNN[5]相同,并结合Lcls和Lreg两个术语,分别用于分类和边界盒回归。L_{mask}^{t}为第t阶段掩码预测的损失,采用mask R-CNN[18]中的二值交叉熵形式。Lseg是交叉熵形式的语义分割损失。系数αt和β用来平衡不同阶段和任务的贡献。我们遵循Cascade R-CNN中的超参数设置[5]。除非另有说明,否则我们设α = [1,0.5,0.25],默认T = 3, β = 1。

4. Experiments

4.1 Datasets and Evaluation Metrics

数据集。我们在具有挑战性的COCO数据集上进行了实验[26]。我们在2017train (115k张图像)的分割上训练我们的模型,并在2017val和2017test-dev上报告结果。典型的实例注释用于监督盒和掩码分支,语义分支由COCO-stuff[4]注释监督。

评价指标。我们报告了标准的coco风格的平均精度(AP)度量,它在IoU阈值上从0.5到0.95平均AP,间隔为0.05。框AP和掩码AP都被评估。对于掩膜AP,我们还报告了AP50, AP75(不同IoU阈值的AP)和APS, APM, APL(不同尺度的AP)。运行时是在单个TITAN Xp GPU上测量的。

4.2  Implementation Details

在所有的实验中,我们都采用三级级联。所有骨干网均采用FPN。为了公平比较,Mask R-CNN和Cascade R-CNN用PyTorch[33]和mmdetection[6]重新实现,性能略高于原论文报道。我们使用16个GPU(每个GPU一张图像)进行20个epoch的检测器训练,初始学习率为0.02,在16和19个epoch后分别降低了0.1。在不改变宽高比的情况下,将图像的长边缘和短边缘分别调整为1333和800。

在推理过程中,对象建议由不同阶段的盒头逐步细化。将多个阶段的分类分数进行汇总,如Cascade R-CNN。掩码分支仅应用于分数高于阈值(默认为0.001)的检测框。

4.3. Benchmarking Results

我们将HTC与表1中COCO数据集上最先进的实例分割方法进行了比较。我们还评估了第1节中描述的级联掩模R-CNN,作为我们方法的强大基线。与Mask R-CNN相比,朴素级联基线在box AP和Mask AP方面分别获得了3.5%和1.2%的增益。值得注意的是,该基线已经高于最先进的实例分割方法PANet[28]。我们的HTC在不同的主干上实现了持续的改进,证明了它的有效性。它对ResNet-50、ResNet-101和ResNeXt-101分别实现了1.5%、1.3%和1.1%的增益。

4.4. Ablation Study

Component-wise Analysis.首先,我们研究了框架中主要组件的作用。“交错”表示bbox和mask分支的交错执行,“Mask Info”表示掩码分支信息流,“Semantic”表示引入语义分割分支。从表2中,我们可以了解到交错执行将掩码AP略微提高了0.2%。掩码信息流进一步提高了0.6%,语义分割分支提高了0.6%。

Effectiveness of Interleaved Branch Execution.在第3.1节中,我们设计了交错分支执行,以便在训练期间从更新的边界框中受益于掩码分支。为了研究该策略的有效性,我们将其与传统的Mask R-CNN和Cascade Mask R-CNN并行执行管道进行了比较。如表3所示,交错执行在两种方法上都优于并行执行,分别提高了0.5%和0.2%。

Effectiveness of Mask Information Flow. 我们研究了引入的掩码信息流如何通过比较各阶段的性能来帮助掩码预测。不涉及语义分割分支,以排除可能的干扰。从表4中我们发现,引入掩码信息流大大提高了第二阶段的掩码AP。如果没有遮罩分支之间的直接连接,第二阶段只受益于更好的本地化边界框,因此改进是有限的(0.8%)。对于掩模信息流,增益更显著(1.5%),因为它使每个阶段都知道前一阶段的特征。与Cascade R-CNN类似,第3阶段的性能并不优于第2阶段,但它有助于集成结果。

Effectiveness of Semantic Feature Fusion.我们通过引入语义分割分支来利用上下文特征,并融合不同分支的特征。多任务学习被认为是有益的,这里我们研究语义特征融合的必要性。我们训练了不同的模型,将语义特征与box或mask或两者融合,结果如表5所示。简单地添加一个完整的图像分割任务实现了0.6%的改进,主要是由于额外的监督。特征融合也有助于进一步的增益,例如:将语义特征与框和掩码分支融合带来额外的0.4%增益,这表明互补信息提高了框和掩码分支的特征区分能力。

Influence of Loss Weight. 引入了新的超参数β,因为我们在联合训练中多了一个任务。我们为语义分支测试了不同的损失权重,如表6所示。结果表明,该方法对损失量不敏感

4.5. Extensions on HTC

与去年的获奖作品相比,我们提出的HTC实现了49.0的掩模AP和2.3%的绝对改进。在这里,我们列出了用于获得性能的所有步骤和附加模块。每个组件带来的逐步增益如表7所示。

HTC基线。ResNet-50基线达到38.2掩码AP。

DCN.我们在主干的最后阶段(res5)采用可变形卷积[13]。

DCN是指Deformable Convolutional Networks,即可变形卷积网络。这是一种用于目标检测和图像分割任务的卷积神经网络结构,旨在提高模型对目标形变和姿态变化的适应能力。可变形卷积网络通过引入可学习的偏移量,允许卷积核在空间维度上进行灵活的变形,从而更好地捕捉目标的局部特征和结构信息。

SyncBN。同步批处理归一化[34,28]用于主干和头部。

多尺度的训练。我们采用多尺度训练。在每次迭代中,从[400,1400]中随机抽取短边尺度;,长边的比例尺固定为1600。

SENet-154。除了ResNet-50,我们尝试了不同的主干结构,其中SENet-154 [19] 在它们中表现出最佳的单一模型性能。

GA-RPN。我们使用GA-RPN[41]生成的建议对训练好的检测器进行微调,其召回率比RPN高近10%。

多尺度测试。我们在测试时使用了5种尺度和水平翻转,并对结果进行了汇总。测试尺度为(600,900),(800,1200),(1000,1500),(1200,1800),(1400,2100)。

Ensemble 我们使用了五个网络的集合:SENet-154 [19], ResNeXt-101 [43] 64x4d, ResNeXt-101 32x8d, DPN-107 [9], FishNet[40]。

4.6. Extensive Study on Common Modules

我们还对一些用于检测和分割的组件进行了广泛的研究。组件经常在不同的条件下进行比较,比如主干、代码库等。在这里,我们提供了一个具有最先进的对象检测和实例分割框架的统一环境,以研究广泛组件的功能。我们集成了几个为检测和分割设计的常见模块,并在相同的设置下对它们进行评估,结果显示在表8中。由于我们的经验和资源的限制,一些实现和集成方法可能不是最优的,值得进一步研究。代码将作为测试更多组件的基准发布。

ASPP。我们采用来自语义分割领域的Atrous Spatial Pyramid Pooling(ASPP)[8] 模块,以在多个尺度上捕获更多的图像上下文。我们在FPN之后附加了一个ASPP模块

PAFPN。我们测试来自PANet [28] 的PAFPN模块。与原始实现的区别在于,我们不使用同步批标准化(Synchronized BatchNorm)。 

GCN. 我们在语义分割分支中采用了Global Convolutional Network (GCN)[35]。

PreciseRoIPooling。我们用Precise RoI Pooling [20] 替换了HTC中的RoI align层。

SoftNMS。我们将SoftNMS [3] 应用于框的结果。

5. Conclusion

我们提出了混合任务级联(HTC),一种新的用于实例分割的级联架构。该算法将盒子分支和掩码分支相互交织,进行联合多阶段处理,并采用语义分割分支提供空间上下文。该框架逐步完善掩码预测,并在每个阶段将互补特征集成在一起。在MSCOCO数据集上,该方法比强级联掩模R-CNN基线改进了1.5%。值得注意的是,我们的整个系统在test-challenge数据集上实现了48.6的掩码AP,在test-dev数据集上实现了49.0的掩码AP。

有不理解的可以继续看这篇文章实例分割的进阶三级跳:从 Mask R-CNN 到 Hybrid Task Cascade - 知乎

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值