Sequential Grouping Networks for Instance Segmentation论文阅读
该论文提出了一种顺序分组网络(SGN)用于实例分割任务。该方法通过一系列分步网络解决更易处理的小步骤问题,具体包括:1)预测断点,2)将断点集群成线段,3)将线段集群成连接组件,4)合并碎片实例。网络结构包括预测断点网络、线段集群网络(LineNet)和实例合并网络(MergerNet)。实验结果表明,该方法在Cityscapes和PASCAL VOC数据集上表现优异,显著超越现有方法,尤其是在具有挑战性的场景中。此外,文章还探讨了语义分割模型对实例分割的影响,并通过对比不同方法验证了网络的高效性。该方法在处理复杂场景和小物体分割时表现出色,但在语义分割错误和小物体分割方面仍有改进空间。
论文链接:http://www.cs.utoronto.ca/~fidler/papers/sgn_iccv17.pdf
一、简介
该研究引入了SGN,旨在实现实例分割目标。为了逐步构建目标,SGN采用了多层神经网络结构,每个网络都专注于逐步提升语义复杂度。通过实验验证,SGN在Cityscapes和PASCAL VOC数据集上的性能超越了现有最优方法。
二、背景
实例分割任务综合运用了物体检测与语义分割的技术,为图片中的每个物体生成像素级别的掩膜。该任务整合了这两个任务的核心问题,要求我们将这些像素聚合成连续的组件。不同场景之间的遮挡问题以及多样化的对象特征显著提升了任务的难度。例如,Cityscapes数据集的AP指标仅为20%[1,7],这一指标尚不足以满足实际需求。
三、相关工作
大多数实例分割方法将该任务划分为两个阶段:首先,通过目标检测获取目标框及其类别信息;其次,在此基础之上对目标框内的像素进行前景与背景的标注[2,3,4,5,6;15,16,1,29,30]。此外,还有些方法利用RNN预测目标实例的多边形边界。在[7,8;41,40]中,他们实现了对大图像片的全面提取,并训练一个CNN模型,使其在图像片内进行实例标签预测,随后通过密集条件随机场获得全图连贯标签。在[9,10;33,31]中,他们采用RNN模型在每个时间步长生成一个object mask,但因RNN在时间步数较大时通常表现欠佳,导致这些方法难以扩展到复杂场景。最近,[11;3]开发了一种卷积神经网络,用于预测分水岭变换的能量,其复杂度不受场景中物体数量的影响。
四、论文思路
在这篇论文中,作者将实例分割任务分成许多个更易处理的小步骤,论文使用一系列神经网络通过集群方法一步步的将简单的部件组合成物体。特别的,第一个网络通过预测水平和垂直的物体断点来沿着图像的行和列聚集像素,接下来这些断点被用来创造线分割;通过发掘两个方向的信息,第二个网络将水平和垂直的线聚集到联通的部件上;最终,第三个网络将这些部件聚集成实例,从而解决了由于遮挡引起的物体分裂问题。因为这种序列结构,该网络被命名为SGN(Sequential Grouping Net-
works)。
网络结构
文章借鉴了[11,12;3,18]的方法,使用了语义分割去辨别前景像素。论文将实例分割看做是由断点构成分割线,然后进一步被组合成部件,进一步生成完整实例的一个过程。网络结构如下图1所示:

论文随后阐述了四个关键步骤:首先,它涉及Breakpoint的预测;其次,将Breakpoints划分为线段;随后,将线条归类为连通组件;最后,实现了碎片化实例的融合。
4.1预测断点
(1)断点预测算法
文章将基本单元定义为断点像素位置,在固定方向上,这些断点标记了物体的起始或结束位置。在横向扫描时,从左到右一行一行地遍历图像,每当新实例出现时,记录该变化点作为起点,并统计起点数量。同样地,纵向扫描时自上而下进行,遇到实例间边界时标记为起点,遇到实例与背景边界时标记为终点。值得注意的是,该方法与传统的边界检测不同之处在于,它能够编码从前景到背景的变化方向信息。论文引入了两个标签:实例内部标签和背景标签,通过这两个标签的使用,可以更精确地预测端点(end-point),使预测结果更加锋利(sharper)。如图1所示,图像中的每个像素点都被标记为四个类型之一:起点、终点、实例内部点或背景点。
(2)断点预测网络结构
文章设计了一个基于卷积神经网络(CNN)的像素级标注模型,其架构如图2(a)所示:

由图可知,当输入原图后,经过一系列特征提取步骤,成功生成两个分别对应于水平和垂直方向的像素标注特征图,这些特征图的尺寸与原图保持一致。该网络基于DeepLab-LargeFOV[13;5]架构,并采用了改进的VGG16[14;35]结构,相较于传统的FCN[15;27]网络,改造成全卷积设计。具体而言,为了精确捕获位置信息,移除了pool4和pool5层;通过在conv5-6层采用带空洞率的卷积操作,有效扩大了感受野。此外,文章进一步通过将低层次特征连接到高层网络,以更有效地捕获丰富的细节信息。
4.2将断点集群成分割线
由于卷积神经网络的输出跨越多个连续像素的断点,文章通过形态学运算符构建了一个像素宽度的边界。进一步利用语义分割预测图中的边界来扩展断点集合,从而确保所有边界都不会被遗漏。接下来,生成水平分割线。为了生成水平分割线,文章在每行从左到右进行遍历,每当遇到一个起点像素,就启动一个新的线段;每当遇到一个新的起点像素或一个终点像素时,就终止当前的线段。该过程如图3(a)所示。

当生成竖直方向上的分割线时,自上而下遵循同样的步骤。例如,如图3(a)所示,如果某个实例内部存在错误的终点像素,使用这种方法将不可避免地导致错误的产生。为了解决这一问题,文章进一步在反方向上扩展了现有的分割线,如图3(b)所示。具体而言,文章通过计算起点像素的连续数目来区分实例之间的起点像素,然后,文章翻转了除双起点像素外的所有起终点像素属性(起点像素->终点像素;终点像素->起点像素;双起点像素:保持不变),并在反方向上生成分割线。这个过程生成了构造完整实例所必需的补充线段(如图3(b)中橙色线段所示)。
4.3将线段集群成内部联连通的实例部件
(1)集群部件算法
文章使用水平线作为基本元素,并且递归地去决定是否要将下一个线段合并到一个已存的部件中。因为线段的数量远小于图片中像素的数目,所以这是一个高效的过程。这个合并过程是由一个无记忆的循环网络完成的,文章称该网络为LineNet。LineNet自上而下的扫描图片并且序列化地决定是否要将一个新的线段合并到一个已存的附近实例中去。下图4(a)给出了一个示例:

图4 集成部件示例
在图4(a)中,Ok表示已存在的实例,而Sk则表示分割线。
(2)集群部件网络结构
基于图4(a)的情况,LineNet以少量线段作为上下文环境信息,其中一部分线段位于Si之上,它们代表已合并实例的历史信息;另一部分线段位于Si之下,它们代表未来可能被合并的部分。文章限定水平上线文信息为包含候选实例Ok和线段Si的最小间隔,如图4(a)中所示的红色虚线框。为了使红色虚线窗口以Si为水平中心,文章进行了pad补零处理,并调整了窗口尺寸,使其在水平方向上具有固定宽度。
LineNet的输入包含9个通道,其中第一个通道为布尔映射,其中像素属于Si或Ok;第二个通道包含Ok中部分像素,这些像素与Si中的主要像素具有相同的语义类别;第三个通道为布尔映射,显示Ok中像素与Si共享相同垂直线段。这些线段如图4(c-f)所示。此外,其他6个通道则展示了水平和垂直方向上内部像素与起终点像素的概率分布。LineNet是一个小型网络,由两个共享的全连接层和具有sigmoid激活函数的分类器组成。每个语义类别的输出表示将该行与候选实例合并的概率。
(3)学习机制
通过使用标准交叉熵损失对LineNet进行训练,当某一线上的大部分像素与该实例属于同一ground-truth实例时,该线将被整合到该已存在的实例中。
4.4合并碎片实例
(1)合并算法
很多实例是由不止一个部件组成的,比如下图5(a)中的车被一个杆子分成了两部分。这种问题在街景中常见。

为了应对上述碎片化实例问题,文章开发了一个MergerNet,该网络能够整合这些碎片式的实例部件,形成最终的目标实例集合。现有实例分割算法难以应对这种碎片化问题[11,17;ok,26],而本文提出的方法则可有效解决此类问题。
文章选择包含约100个像素的碎片实例作为合并候选,随后对这些候选实例按照尺寸排序。在此基础上,采用无记忆的循环网络来决定是否进行合并操作。若发生合并,则需重新计算邻居集,并重复上述过程。
(2)MergerNet网络结构设计
(3)学习机制
五、实验评估
该研究在PASCAL VOC数据集和Cityscapes数据集上进行了实验研究,重点分析了Cityscapes数据集中的具有挑战性的实验结果。
Cityscapes数据集介绍
评估机制
在初始化conv1至conv5参数时,文章采用了基于ImageNet预训练的VGG16模型,而其他层则采用了随机初始化。分别采用学习率10-5(基于预训练模型)、10-2和10^-3对断点预测网络、LineNet和MergerNet进行训练。采用动量随机梯度下降法进行训练,并使用多项式衰减策略调整学习率。对断点预测网络进行了40,000次迭代训练,其他网络则进行了20,000次迭代。文章通过保持正样本和负样本数量一致的方式,对mini-batch训练样本进行抽样,以缓解类别分布不均衡对LineNet和MergerNet的影响。文章去除了小实例,并利用语义分割中的语义分数对{train, bus, car, truck}类别进行了排序预测。其余类别的得分设为1。在Cityscapes实验中,文章采用了PSPNet的语义分割预测方法;而对于PASCAL VOC数据集,则采用了LRR模型的语义分割图。文章还通过消融实验研究了语义分割质量对结果的影响。
与最佳网络对比

该研究探讨了语义分割对实例分割方法的影响。该研究对比分析了基于Resnet-101的PSPNet和基于VGG-16的LRR模型在性能上的差异。具体数据和对比结果如表3所示:

通过LRR可以预期得到一个合理的效果,然而采用PSP则能够实现更优的结果。采用MergerNet后,结果会变得更好。需要注意的是,LineNet和MergerNet并未对LRR进行微调。
尺寸的影响
小物体相对大物体来讲更难检测,如下图7所示:

LineNet接收的context信息基于历史行数h和未来行数f的设置,如表4所示。

结果显示,对LineNet模型而言,f参数的权重具有更大的权重意义。在实验设计中综合考虑了AP和MWCov两个指标后,研究采用了h1f5的配置方案。
该研究将LineNet与其两种启发式变体进行了对比分析。第一种方法基于PSP框架,通过从PSP中提取垂直和水平断点以及类边界的并集,并将其细化至单像素宽度以生成实例边界图。在PSP的语义分割图中,前景区域的实例边界被设定为0,而相连的组件则被识别为推断出的实例。该方法在去除非目标物体和执行分数分配等后处理步骤后,其性能表现与原方法一致,因此被命名为'con-com'。第二种方法则直接基于分割线之间的关系进行判断,计算的值包括IoU、与其他线段重叠的比率,以及在重叠区域中连接它们的垂直线段的比率。如果这些计算值之和超过预设阈值,则将相邻的分割线合并。该策略无需任何训练过程,具体实现细节可参见表6。

由上表可见,就平均而言,启发式方法优于con-com方法,这表明了使用分割线的优势;而LineNet超越了上述两种方法,这证明了在执行集群时使用网络的优势;con-com方法在car和truck实例上表现优异,但在motorcycle和person实例上表现欠佳,这表明相比具有复杂轮廓的实例,引入边界信息对紧凑且小巧形状的实例更为有益。然而,文章提出的方法在所有这些实例上均表现良好,并成功修复断点图中的错误(如反向扩展分割线)。
参数设置对MergerNet性能的影响

该研究在下图6中展示了其方法在Cityscapes val评估指标下的中间步骤分析。

可以看出,文章的方法对不同尺寸、类别和截断程度的物体均产生了高质量的断点、实例内部区域、分割线和最终结果。在训练集上,MergerNet在上图6和下图9(b)的表现都很出色。请注意注意,IoU高于0.5的预测会被分配到与其对应的真实标签相同的颜色。

失败的情况
文章的方法在语义分割图存在错误时容易可能失误,如上图9(b)所示,火车的一部分被PSP错误分类,所以火车被错误分割成两部分。文章的方法还有可能会遗漏小的物体,比如上图9(e)和(f)中的一些人。除此之外,当很多复杂的实例彼此接近时,文章对他们的最终集群结果可能会如上图9(g)和(h)所示。MergerNet有时候也会聚集不同的实例,如上图9(a)所示的两个亮绿色的车。
在Pascal Voc上的结果
文章也在PASCAL VOC2012上进行了实验,这个数据集包含20类,文章在验证集上与最佳网络进行了对比,文章用的LRR模型是在MS COCO数据集上预训练过的。如下表5所示,文章方法在APtavg上超越了DIN1.1个百分点,并且在IoU大于0.6时,文章方法性能更优,这个结果证明了文章方法产生的mask的质量。

六、总结
该文章提出了一种顺序分组网络(SGN),该网络被用于对象实例分割任务。该文章的方法采用了多个简单的网络模块,每个模块均专注于解决更复杂的分组问题。首先,该文章将对象断点转换为线段,随后将这些线段分组为连接的组件。最后,这些连接的组件被进一步分组,形成完整的对象。实验结果表明,该方法在具有挑战性的Cityscapes数据集上显著优于现有方法,并且在PASCAL VOC数据集上表现优异。未来的工作中,作者计划进一步完善该框架,使其能够实现端到端的可训练性。
