Interactive Object Segmentation with Inside-Outside Guidance-内外引导下的交互式目标分割(IOG论文部分解读)

Interactive Object Segmentation with Inside-Outside Guidance

内外引导下的交互式目标分割(IOG论文部分解读)

github源码:
https://github.com/shiyinzhang/Inside-Outside-Guidance
文章地址:
http://openaccess.thecvf.com/content_CVPR_2020/papers/Zhang_Interactive_Object_Segmentation_With_Inside-Outside_Guidance_CVPR_2020_paper.pdf

摘要

本文探讨了如何在最大限度地降低人机交互成本的同时,获取精确的目标对象实例分割掩码。为了实现这一目标,我们在这项工作中提出了一种内-外引导方法(IOG)。具体来说,我们在物体中心附近点击一个内点,在包围目标物体的包围框的对称角位置(左上角和右下角或右上角和左下角)点击两个外部点。这个结果总共有一个前景点击和四个背景点击进行分割。我们的IOG的优点有四方面:1)两个外部点可以帮助从其他物体或背景中去除干扰因素;2)内点可以帮助消除边界框中不相关的区域;3)内点和外部点的定义更加人性化,减少了在标记一些极端样本时而引起的目标检测混乱,如Dextr中出现的现象;4)我们的算法支持更多的点击注释以进行进一步的修正。尽管我们的IOG很简单,但它不仅在几个流行的基准上实现了最先进的性能,而且在不同的领域(如街头场景、空中图像和医学图像)也显示出强大的泛化能力,无需重新调整。此外,我们还提出了一种简单的两阶段解决方案,使我们的IOG能够从现有数据集(如ImageNet和Open Image)的现成绑定框中产生高质量的实例分段掩码,展示我们的IOG作为注释工具的优越性。

1.导言

在过去的几年中,我们目睹了语义和实例分割的迅速发展。
图1.(A)Dextr的用户输入[46]。(B)使用IOG算法的用户输入。(C)IOG框架概览。

图1.(A)Dextr的用户输入[46]。(B)使用IOG算法的用户输入。©IOG框架概览。

成功的分割模型通常建立在大量高质量训练数据的基础上。无论如何,创建像素级训练数据来构建这些模型的过程通常是昂贵、费力和耗时的。因此,交互式分割,通过提供一些用户输入,如边框[66,52,64]或点击[67,38,45,37],使人工注释器快速提取感兴趣的对象,似乎是一种吸引人的、有效的减少注释难度的方法。最近,Maninis等人探讨了使用对象的极值点进行交互式图像分割dextr(最左、最右、最上、最下像素点)。尽管它的优越性,比如快速的交互注释速度和高的分割质量,能够支撑他跨越不同的应用领域。然而,我们认为,极端的点击模式也带来了一些问题:1)注释极端点需要用户注意去完全点击对象边界,这通常比普通的点击设置时间长得多,而IOG使得用户可以在对象区域的任何内部和外部单击;2)当多个极值点出现在同一个空间位置(a1)或目标对象之中包含不需要进行分割的背景时(a2),注释过程可能会引起混淆;同时,处理上述问题以及支持考虑到交互过程的有效性和人性化,提出了IOG算法,只需要三个点就可以完成交互过程,内点通常位于对象实例的中心附近,而外部点则可以在包围目标实例(左上角和右下角或右上、右下角和左下角像素)的任何对称角位置单击。图1(B)显示了我们建议的标记方案的两个例子。类似于[46],我们的IOG在从输入图像裁剪到包含上下文之前,将生成的包围框放松了几个像素。这将导致总共一个前景和四个背景点击(两个陈腐的外部点和两个基于边界框的附加推断点),然后将它们编码为前台/背景定位热图,并与裁剪后的图像连接,以训练分割网络。我们的IOG概述如图1©所示。
我们的IOG策略不仅提高了注释速度,通过减少[46]引起的混乱,但也自然地支持在错误的重新定义的附加点的注释,以进一步重新进行目标掩码的优化。我们在Pascal[20]、GrabCut[52]和Coco[41]上进行了广泛的扩展,以证明我们的IOG作为一个注释工具的有效性。特别是,只给了三分,我们的IOG达到93.2%的Miou分数在帕斯卡,这是新的国家-最先进的。我们的IOG进一步提高到94.4%,当第4次点击是添加互动校正。
此外,我们还证明了我们的模型是一般化的。

除此之外,我们还提出了一个简单的两阶段解决方案,使我们的IOG能够从现成的数据集中获取精确的实例分割掩码,这些数据集带有绑定框注释,例如ImageNet[53]和开放的IM-age[35],而不需要任何人机交互。最后,我们通过重新注释推出了Pixel-ImageNet。
它是一个具有0.615M实例分割的数据集,使用了我们的IOG采集了ImageNet的掩码[53]。我们希望这项工作能能够有效地帮助未来的研究人员收集大规模像素级注解。

3.方法

3.1.内外引导

我们的IOG人机交互点击过程包括三个点:内部点击(内点),定位大致位于目标中心,然后在任何对称的角位置(左上角或右下角或左上角和左下角)进行两次外部点击(外部点),形成一个几乎紧密的包围感兴趣的目标的边界框。
图2.IOG引导分割的过程

图2.IOG引导分割的过程
(a)使用垂直和水平的引导线协助用户单击将物体包裹起来的想象中的盒子。
(b)当用户移动光标时,在图像中上生成一个边界框。
©在目标对象的中心位置附近放置内部单击。
(d)边界框在裁剪前放松几个像素以此增加容错率。内部点击(红色)与四个外部点击(两个点击的角和两个自动推断的角)(蓝色)构成我们的内外引导,以此分别确定编码的前景和背景区域。
(e)我们的方法支持更多的单击注释,以进一步对分割结果进行优化。

(图2)这样,两次外部点击,加上基于生成边界框的另外两次推断,提供了“外部”引导(表示背景区域),而内部单击则提供了“内部”引导(指示前景区域),从而给出了内外引导(IOG)的名称。

外部引导:
外部引导是由包围物体的包围框的角决定的。不管怎么说,调查表明在数据集ImageNet上绘制一个紧凑型的边界框平均耗时[55]为25.5s[53]。这是由于假想边界框和目标物体的角落总有差异带来的困难[49]。因此,通常需要几个调整,以确保产生的边界框是紧凑的。同时,使用一些简单的提示来表示边界框的位置,例如使用水平和垂直向导线使框在单击时可见,给人绘制边界框的负担可以大大减轻,如图2(A)-(B)所示。此外,在我们的情况下,我们不一定需要一个十分紧凑而精确的边界框,在绘制的过程中一个粗略的边界框也是符合要求的。在我们的用户调查中,在引导线的帮助下我们绘制一个边框通常需要6.7秒。

内部引导:
内部引导被表述为一个位于对象中心周围的内部单击操作,目的是区分分割目标,因为在同一个边界框中可能有多个对象。为了模拟人工注释器的点击,我们建议在离对象边界最远的位置取内点。特别地,让O表示属于对象的像素,我们首先基于欧式距离变换计算一个距离图D的。如下:
欧氏距离计算

Di指D在像素位置i处的值,dist(i,j)表示像素i与j位置之间的欧氏距离。
然后,在位置k=arg max∀i∈O Di处取得内点的模拟点。抽样的有效性在第4.5节通过与从真实用户收集的实际内部点击比较而证实。请注意注释内点的速度非常快,在我们的用户研究中大约只需要1.5秒。

单击表示:
我们使用与Dextr[46]相同的单击表示,通过以2D高斯圆周点击为中心,为前景和背景点击创建两个独立的热图。由此产生的热图与rgb输入映像相串联,形成网络的5通道输入。类似于[46],边界框是首先进行几个像素的放大,通过裁剪将焦点放在感兴趣的对象上(图2(D))。
与现有的基于点击的[67,46]和边界框[66]交互式分割方法相比,我们提出的IOG在这两个领域中都是最好的:(Ⅰ)灵活性:注释的三个点被编码为前景和背景之后,我们的IOG支持附加点击注释以进一步校正(图2(E));(Ⅱ)包含更多信息:我们的方法编码包含更多与目标相关的信息,包括背景的硬性位置和目标的大致尺寸。

3.2.分割网络

在这里,我们讨论我们的分割网络的结构。
我们使用了一个基于DeepLabv 3+[12]的ResNet-50[26]网络为出发点,我们已经观察到了良好的分割性能(在PASCAL上的90.0%IOU),证明了我们的提议IOG的有效性。然而,对分割质量的仔细检查发现,分割错误大多发生在对象边界上,如图3所示。简单地用一个更深的网络(如ResNet-101)复制主干网只会带来边际的改进(图6右方的Vanilla IOG),这意味着必须做出一些网络体系结构的改进,才能够避免网络沿对象边界进行不准确的分割。
图3.从分割误差的角度进行定性比较。

图3.从分割误差的角度进行定性比较。请注意,当使用DeepLabv 3+[12]作为主网络时,分割误差主要发生在对象边界处,而我们的coarse-fine结构能够产生精确的边界。

在这项工作中,我们建议采用coarse-fine的网络设计去解决上述问题(图4)。特别是,我们采用了一种类似于[14]的级联结构,它最初是为人类姿态估计任务而提出的。具体的分割网络由两个子网络组成。第一个子网络,coarseNet采用类似fpn的设计[40],它通过横向连接逐步将来自较深层的图像分割信息与来自浅层的浅层信息融合。与[14]不同,我们还在最深层附加了金字塔场景解析(PSP)模块[68],以丰富全局上下文信息的表示。第二个子网络FineNet获得从CoarseNet中给出的粗略预测,目的是恢复缺失的边界细节。这是通过一种多尺度的融合结构来实现的,该结构通过上采样和级联操作将CoarseNet中的不同级别的信息融合在一起。类似于[14],我们还在更深的层上应用了更多的卷积块,以更好地在准确性和高效性之间进行权衡。我们建议把读者阅读参考文献以获得关于更多细节的基本资料。请注意,我们没有声称网络设计中有任何新奇之处。相反,我们的贡献在于发现coarse-fine结构对于获得更精确的分割掩码是必要的,而堆叠更多的层则并不能满足我们对精度的需求。我们相信其他coarse-fine结构也可能起作用,我们把它作为未来的工作留下。
图4.网络体系结构。

图4.网络体系结构。(A)-(B)我们的分割网络采用了类似于[14]的coarse-fine结构,并通过金字塔场景解析模块[68]对全局上下文信息进行增强。©我们还在PSP模块之前附加了一个轻量级分支,以接受人机交互中的额外点击输入。

网络结构分析:
首先看PSP部分(a),有两个类金字塔结构,第一个金字塔结构进行一个的卷积块的叠加,用于生成不同层次的提取特征图。具体的卷积过程作者使用了Resnet作为它的主干网络。最后一层卷积结束后,将每一层卷积中生成特征图进行上采样后取到相同大小,然后加权求和并和改进网络分支©输入的增加点击结合,生成全局性的特征图(Global context)。将这个全局特征图输入第二个金字塔结构,第二个金字塔结构每一层都是一个上采样操作,目的是再次结合一号金字塔中逐层输出的不同维度的特征图,在每一次上采样过程中,都会将结果与一号中相应层输出的特征图进行加权求和。然后,将二号金字塔的每一层输出输入Finenet(b)部分,(b)中的每一个小块都代表一个bottleneck结构,bottleneck是一个简单卷积和激活函数叠加的结构,主要用于降低数据维度提取深层特征。每层的特征图经过多个或一个bottleneck后,再进行多次(如图中4×↑表示4次上采样)的上采样操作,达到初始尺寸后进行加权求和,得到最终的预测结果图。

训练和测试:
我们的分割网络使用了端到端的训练方式,使用了交叉熵损失函数。此外,我们还将CoarseNet的每一级别的侧损失作为深度监督的一种形式[14]。在推理过程中,通过对最终网络的预测进行简单的阈值化就能得到分割掩码。由于我们的方法不涉及任何后处理,所以它非常快,在Nvidia GeForce GTX 1080 GPU环境中,在ResNet-101主干网络上的前向信息传播,通常只需要20 ms。因此,它非常适合于实际的交互式图像分割应用。

3.3.超过三下点击

虽然我们的IOG方法只需要三次点击就可以执行分割,我们的框架还支持端口交互添加新的前景和背景点击,以便在用户不满足当前分割输出的情况下进一步进行处理。为此,我们在psp模块之前配置一个轻量级分支,以接收编码所有前景和背景单击的双通道高斯热图(图4©)。我们发现这个设置不仅比在分割网络开始时修改输入更好,而且运行速度更快,因为编码器的特征图只需要计算一次。
在训练过程中,我们采用迭代训练策略来模拟交互过程,其中用户为修正引入了在错误区域的一个附加点击。更具体的是,一个初始的分割掩码只需三次点击就能够获得。然后在最大错误区域的中心加上一次新的点击,并进行第二次前向传播。4.3节的结果表明,这种迭代训练策略是必要的。

4.实验

4.1.实施细节

模拟内外点:我们使用ground truth掩码产生内外点进行训练。
表一
表二
表三
表1.基于pascal和grabcut数据集,达到特定精确度所需要的点击数以及在四次点击后所能达到的精确度的对比,*表示我们的IOG所达到的IOU效果只使用了3次点击。
表2.最先进的Dextr和我们的IOG在泛化能力方面的比较。
表3.消融研究中每个组分的重要性

对于外部点,我们选取groundtruth的边界框并放松10个像素,以模拟一个真实用户提供的宽松的边界。对于内部点,我们采样的点击是离对象边界最远的,并应用随机扰动。干扰的影响将在4.5节中研究。

训练和测试细节:(略)

4.2.与state of art比较

4.3.消融研究

IOG各部分的有效性:
我们在Pascal VOC Val集上进行了消融实验,验证了我们的分割网络中各成分的有效性。特别是,我们定量地证明了各种设计选择的合理性,包括不同的主干网络(ResNet-50 vs.ResNet-101)、不同数量的训练图像(Pascal-1K vs Pascal-10K)、包含用于全局上下文信息的PSP模块(上下文)、FineNet和使用侧损失进行训练。如表3所示,在ResNet-50和Pascal-1K设置下,“Context”、“FineNet”和“侧损失”分别可使性能提高0.4%、0.8%和1.0%。当从SBD(PASCAL-10K)增加附加标签时,性能可从91.6%进一步提高到92.8%.FI-Nally,当我们重新用ResNet-101放置主干网时,我们获得了最先进的性能(93.2%)。
交互式refinement的迭代训练:
在前面的部分,我们已经演示了当只提供3次点击时,我们的IOG在默认设置下的有效性。接下来,我们将探索当用户没有对结果满意,并希望附加单击进行注释以进行进一步更正的情况。

图5
图5.Pascal[20]、Pascal-Context[47]、CoCo[41]和CoCo-Stuff的实例分割结果[6]。每个实例都具有在输入图像上叠加模拟的内外点和相应的分割掩码。
图六
图6.(左)交互式改进的迭代训练效果。“早期”和“晚期”分别表示将输入点击添加到网络的开始层或中间层。“iter”表示迭代训练(3.3节),而“+”表示对更大的数据集(Pascal-10k)的训练。(右)IOG方法与极值点方法dextr的比较。

特别的,我们逐步添加一个新的点击,位于最大错误区域的中心位置,类似于[67,45]。图6(左)总结了结果。我们可以看到:1)如果不进行迭代训练,额外的点击不会给refinement带来性能上的提高,这说明了迭代训练对于交互式改进网络的重要性;2)在分割网络的中间层增加点击比在网络开始时修改输入更有效(第3.3节)。一个有趣的现象是,在没有迭代训练的情况下将点击添加到模型的开头会导致性能下降。一个可能的原因是内部点总是位于目标周围,而新增加的修正点击通常分布在目标边界附近,这就混淆了经过训练的模型,损害了性能。一些交互式refinement的质量示例可以在图7中找到。

IOG方法和极值点方法对比:
我们研究的是与Dextr中使用的极值点方法相比,我们的IOG方法的性能。为了公平比较,我们使用了我们发布的代码和重新训练Dextr使用DeepLabv 3+[12]全卷积结构在PASCAL-1K上的训练结果进行对比试验。所有的模型都只是在imagenet上进行预训练[53]。我们使用三种不同的骨干进行实验,即ResNet-34、ResNet-50和ResNet-101验证了该方法的鲁棒性。如图6所示(右),我们建议的IOG方法一致地优于给定相同网络结构(Vanilla IOG与Dextr)的极值点方法。当使用coarse-fine网络结构(第3.2节)时,我们可以看到,我们的IOG方法远远超越了基本性能要求。有趣的是,我们的IOG以ResNet-34为主干网络的版本超过了使用ResNet-101的最先进的Dextr,证明了所提议的IOG方法超越极值点方法的真实性。
图7.交互式修正网络。

图7.交互式修正网络。我们提议的IOG支持交互式添加新的点击,以进一步重新优化。

4.4.跨域评价
4.5.更多讨论

5.结论

我们提出了一种简单而有效的内外引导(IOG)方法,以最小化标记成本。所提议的IOG只需要用户的三个点,即在对象中心附近的一个内点和两个外部点,它们构成一个包围目标对象的边界框。此外,我们的方法支持交互注释的添加点,以进一步纠正。尽管简单,但广泛的实验表明,我们的模型能够很好地跨不同的数据集和领域进行推广,从而证明了它作为一个注释工具的优势。

时间关系目前是不完整的版本,有很多不足之处,后期会继续完善!具体细节请参考原论文!

  • 22
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值