CVPR 2022 | SharpContour:一种基于轮廓变形 实现高效准确实例分割的边缘细化方法

原文链接:https://www.techbeat.net/article-info?id=3828
作者:Xy

​本文分享 GAP-Lab 团队在 CVPR 2022 的工作。

fig1.png

论文链接:https://arxiv.org/abs/2203.13312
项目主页:https://xyzhang17.github.io/SharpContour/

一、实例分割边缘细化

目前实例分割任务的挑战在于如何提高物体边缘附近区域的分割质量。实例分割模型按照分割结果表达方式来区分可以分为基于掩膜生成和轮廓变形两类。针对该任务目前存在的挑战,许多基于掩膜生成的边缘细化方法被提出。

尽管这些方法实现了较高的优化效果,但是这些方法存在以下的问题:

  1. 一些方法在提升物体边缘分割质量的时候忽略了效率并引入很多额外的计算成本,如 Boundary Patch Refinement[5];
  2. 另一些方法考虑了效率但仅能用来优化基于掩膜生成的实例分割模型因而忽略了通用性,如 RefineMask[6];

理想的边缘细化方法应该同时满足 3 个要求:准确,高效,通用性强

基于轮廓变形的实例分割方法具有效率高和通用性强的优点(基于掩膜成的实例分割模型得到分割掩膜可以很容易的抽出轮廓并使用基于轮廓变形的方法继续优化)。但是这类方法具有倾向于生成过于光滑的轮廓的缺点,这个现象在存在尖角的区域会非常明显。我们发现 2 个原因导致了这个现象:

  1. 现有的基于轮廓变形的模型在预测某个顶点变形量的时候会考虑相邻顶点的影响,抑制了拟合尖角区域的能力;
  2. 现有的基于轮廓变形的模型在训练的时候会添加正则项来在实现最小化变形量预测错误的同时保持一定光滑性,但这种做法会使某一顶点的影响连锁传递到轮廓上所有顶点,因此抑制了拟合尖角区域的能力。

因此为了得到一种精确,高效,通用性强的实例分割边缘细化方法,我们提出了 SharpContour。由于采用了基于轮廓变形的设计并尽量避免了两个上述提到的导致这类方法生成过于光滑轮廓的问题,SharpContour 同时满足了对于实例分割边缘细化方法的三个要求。

SharpContour 通过提出一个离散的基于分类任务计算顶点变形量而非直接回归每个顶点的变形量的轮廓变形方法来解决轮廓变形类方法生成过于光滑的轮廓的问题。具体来说:

  1. SharpContour 首先提出了一个实例相关的点分类器 IPC(instance-aware point classifier)来预测任意像素与目标实例轮廓的内外相对关系:IPC同时使用与被预测点位置相关的细粒特征和包含目标实例特征信息的动态参数来预测这种内外相对关系因而即使在实现困难场景中(如两个实例互相遮挡的情况)也可以实现高精度预测;同时 IPC 结构简单并只额外引入非常少的参数因而保证了高效率;
  2. SharpContour 依赖所提出的 IPC提出了一种新的离散的基于分类任务的顶点变形量预测方法并采用了迭代变形的方式:这种变形量预测方法可以独立的预测每个顶点的变形量因而避免了顶点间的相互影响;这种变形量预测方法基于实例尺寸以及顶点当前位置与实例轮廓的相对关系控制变形量大小同时采用迭代变形的方式以保证高精度;
  3. SharpContour可以用来改善基于掩膜生成和轮廓变形两类实例分割模型的边缘质量因此保证了高通用性。下图展示了使用 SharpContour 优化两类分割模型分割结果的边缘质量:上面行:A 是 Mask R-CNN[1](基于掩膜生成的分割模型)的分割结果,B 是 SharpContour 优化后的结果;下面行 :C 是 DANCE[2]( 基 于 轮 廓 变 形 的 分 割 模 型 ) 的分割 结 果 ,D 是SharpContour 优化后的结果。

fig2.png

SharpContour 使用 AP 和 Boundary AP[4] 两个评估指标在两个 benchmark(COCO 和 CityScapes)验证了有效性,详细结果见后边的实验分析。

二、轮廓变形

fig3.png

上图展示了SharpContour的轮廓变形过程。当SharpContour从现有分个模型的分割结果中获得初始轮廓后,将使用提出的基于分类任务轮廓变形的方式完成边缘细化。该轮廓变形方法主要有以下几个步骤:

  1. 获取轮廓上各顶点的法线方向(Normal Direction);
  2. 使用 IPC (记为 φ \varphi φ )判断各顶点相对于目标实例轮廓的内/外状态进而决定沿着正/负法线的变形方向 d i \mathbf{d}_{\mathbf{i}} di (Moving Direction) ;
  3. 确定变形方向上采样点的步长 s i s_{i} sis (Moving Step);
  4. 确定变形的步数 m m m (Step Number),步数或者是预先定义的单次变形最 大步数或者是到达 flipping point的步数,flipping point 是指某一顶点 在其变形方向上内/外状态第一次发生变化的点;
  5. 计算顶点变形长度(Estimating Offsets)并完成变形;

根据上述流程,对于一个顶点 x i \mathbf{x}_{\mathrm{i}} xi ,其变形后的位置 x i ′ \mathbf{x}_{\mathrm{i}}' xi 可以表示为:

x i = x i + m s i d i \mathbf{x}_{\mathbf{i}}=\mathbf{x}_{\mathbf{i}}+m s_{i} \mathbf{d}_{\mathbf{i}} xi=xi+msidi

步长 s i s_{i} si 则由如下公式确定:

s i = λ A ∣ φ ( x i ) − 0.5 ∣ s_{i}=\lambda \sqrt{\mathrm{A}}\left|\varphi\left(\mathbf{x}_{\mathbf{i}}\right)-0.5\right| si=λA φ(xi)0.5

其中 λ \lambda λ 是经验系数, A \mathrm{A} A 是目标框的面积, φ ( x i ) \varphi\left(\mathbf{x}_{\mathbf{i}}\right) φ(xi) 是IPC判断的相对内外关系不确定度,可以用来适应性的调整步长,详见IPC部分。

下图展示了SharpContour通过迭代变形的方式完成边缘细化的整个过程。

7aiq502wi6.gif

设计 IPC的目的是用来预测任意像素与目标实例轮廓相对内外关系。IPC(记为 φ \varphi φ ) 同时使用与被预测点位置相关的细粒特征 f i c f_{{i}}^{c} fic 和与目标实例相关的动态参数 θ \theta θ 来预测这种内外相对关系。与被预测点位置相关的细粒特征 f i c f_{{i}}^{c} fic 通过级联被预测点在高分辨率特征图上的细粒特征 f i f_{{i}} fi (例如在对 Mask R-CNN 做边缘细化时,我们选用 1/4 分辨率的特征图抽取该特征)与其相对坐标 c i \mathbf{c}_{i} ci 得到 ( f i c = [ f i ; c i ] ) \left(f_{{i}}^{c}=\left[f_{{i}} ; \mathbf{c}_{i}\right]\right) (fic=[fi;ci]) ,这样的特征保证了 IPC 可以捕捉到被预测点足够的细节信息;与目标实例相关的动态参数 \theta 则通过网络动态生成(类似CondInst[3]),与目标实例关联的策略可以使 IPC 区分被预测像素与目标实例轮廓的内外关系而动态参数的设计进一步加强了这种能力。因此,对于任意像素 x i \mathbf{x}_{\mathbf{i}} xi , IPC 可以表示为:

φ ( x i ) = φ θ ( [ f i ; c i ] ) \varphi\left(\mathbf{x}_{\mathbf{i}}\right)=\varphi_{\theta}\left(\left[f_{i} ; \mathbf{c}_{i}\right]\right) φ(xi)=φθ([fi;ci])

在试验中,IPC通常由3层全连接层构成(使用动态预测参数),前两个全连接层使用ReLU作为激活函数,最后一个全连接层使用Sigmoid作为激活函数,因此IPC只引入了非常小的额外计算成本。

三、使用SharpContour进行边缘细化

在训练过程中,我们在Ground Truth轮廓周围随机采样选取像素来训练IPC来使其更加稳定。为了平衡正负样本,我们使用了动态调整 aa 的Focal Loss作为这部分的损失函数,其可以表示为:

L I P C = { − α ( 1 − y ^ i ) γ log ⁡ ( y ^ i ) , y i = 1 − ( 1 − α ) ( y ^ i ) γ log ⁡ ( 1 − y ^ i ) , y i = 0 L_{I P C}=\left\{\begin{array}{cc} -\alpha\left(1-\hat{y}_{i}\right)^{\gamma} \log \left(\hat{y}_{i}\right), & y_{i}=1 \\ -(1-\alpha)\left(\hat{y}_{i}\right)^{\gamma} \log \left(1-\hat{y}_{i}\right), & y_{i}=0 \end{array}\right. LIPC={α(1y^i)γlog(y^i),(1α)(y^i)γlog(1y^i),yi=1yi=0

在推理过程中, SharpContour需要三个输入:初始轮廓、细粒度特征和动态参数。通常SharpContour从粗分割结果中获得初始轮廓,然后通过迭代变形进行边缘细化。

四、实验分析

我们在两个benchmark(COCO和CityScapes)上面将SharpContour与基于掩膜生成和轮廓变形的方法连在一起验证了其有效性,并使用了AP和Boundary AP[4]两种评价指标评估:

  1. 在COCO上,使用SharpContour改善轮廓变形类实例分割方法DANCE[2]的边缘质量可以实现了1.5 AP和3.2 Boundary AP[4]的提升;使用SharpContour改善掩膜生成类实例分割方法Mask R-CNN[1]和CondInst[3]可以分别带来 2.3, 2.2 AP和3.4, 3.3 Boundary AP[4]的提升,需要提到的是SharpContour也可以用来改善其他边缘细化方法的分割结果,例如SharpContour也改善边缘细化方法RefineMask[6]的分割结果并依然可以带来0.5 AP和1.1 Boundary AP[4]的提升,详细结果下表:
    fig4.png视觉结果见下图,上面行是SharpContour改善DANCE[2]的结果,下面行是SharpContour改善Mask R-CNN[1]的结果。对于每个例子,左边是初始分割结果,右边是SharpContour优化后的结果:

fig5.png

  1. 在CityScapes上,使用SharpContour改善掩膜生成类实例分割方法Mask R-CNN[1]可以带来3.9 AP提升,数值结果详见下表:
    fig6.png
    视觉结果见下图,对于每个例子,左边是Mask R-CNN[1]的分割结果,右边是SharpContour优化后的结果:
    fig7.png
  2. 如下图所示,SharpContour即使在困难度较高的区域也可以实现较好的边缘细化效果,对于每个例子,左边是RefineMask[6]的优化结果,右边是SharpContour的优化结果。
    fig8.png

五、消融实验

该部分实验使用的模型为Mask R-CNN[1],benchmark为COCO。

  1. 基于回归设计的模型: 在最终确定当前设计之前,我们尝试过两种基于回归设计的方法:
  • Reg.1: 直接回归变形向量,
  • Reg.2: 直接回归法线方向的变形量,

结果如下表所示,这两种设计都只能轻微提高精度。
在这里插入图片描述

  1. 变形次数的影响: 变形次数的影响如下表,可以看到随着变形次数的增加SharpContour可以持续提高精度但是提升幅度逐渐减小。
    在这里插入图片描述

  2. 变形参数的影响: \lambdaλ 为经验参数,M为法线方向采样点数量,N为轮廓上顶点数量,M,N的增加都会降低效率,如下表所示,当前参数(M=10, N=128)可以最好的实现精度与效率的平衡。
    在这里插入图片描述

  3. 适应性步长的影响: 如下表所示,引入适应性步长可以提高预测精度。
    在这里插入图片描述

六、总结

我们提出了SharpContour,一种基于轮廓变形的实例分割边缘细化方法。基于所发现导致基于轮廓变形的实例分割方法生成过于光滑轮廓的问题,SharpContour基于提出了IPC并依赖其设计了新的轮廓变形方法。实验证明,SharpContour确实在继承了基于轮廓变形的实例分割方法高效通用性强的优点的同时实现了较高的精度。因而SharpContour实现了对于实例分割边缘细化方法准确高效高通用性的要求。

参考

[1] Kaiming He, Georgia Gkioxari, Piotr Doll´ar, and Ross Girshick. Mask r-cnn. In Proceedings of the IEEE international conference on computer vision, pages 2961–2969, 2017.

[2] Zichen Liu, Jun Hao Liew, Xiangyu Chen, and Jiashi Feng. Dance: A deep attentive contour model for efficient instance segmentation. In Proceedings of the IEEE/CVF Winter Conference on Applications of Computer Vision, pages 345–354, 2021.

[3] Zhi Tian, Chunhua Shen, and Hao Chen. Conditional convolutions for instance segmentation. arXiv preprint arXiv:2003.05664, 2020.

[4] Bowen Cheng, Ross Girshick, Piotr Doll´ar, Alexander C Berg, and Alexander Kirillov. Boundary iou: Improving object-centric image segmentation evaluation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 15334–15342, 2021.

[5] Chufeng Tang, Hang Chen, Xiao Li, Jianmin Li, Zhaoxiang Zhang, and Xiaolin Hu. Look closer to segment better: Boundary patch refinement for instance segmentation. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 13926–13935, 2021.

[6] Gang Zhang, Xin Lu, Jingru Tan, Jianmin Li, Zhaoxiang Zhang, Quanquan Li, and Xiaolin Hu. Refinemask: Towards high-quality instance segmentation with fine-grained features. In Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition, pages 6861–6869, 2021.

-The End-

关于我“门”

将门是一家以专注于发掘、加速及投资技术驱动型创业公司的新型创投机构,旗下涵盖将门创新服务、将门-TechBeat技术社区以及将门创投基金。

将门成立于2015年底,创始团队由微软创投在中国的创始团队原班人马构建而成,曾为微软优选和深度孵化了126家创新的技术型创业公司。

如果您是技术领域的初创企业,不仅想获得投资,还希望获得一系列持续性、有价值的投后服务,欢迎发送或者推荐项目给我“门”:

bp@thejiangmen.com

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值