SharpContour论文精读

SharpContour是一种基于轮廓的实例分割边界细化方法,旨在提高深度学习实例分割的准确性,同时保持高效和通用性。通过限制顶点沿法线方向的移动和使用Instance-awarePointClassifier(IPC),该方法能够在不影响效率的情况下优化边界。IPC根据实例边界动态预测顶点状态,以确定边界细节。实验表明,SharpContour相比其他回归方法,如Reg.1和Reg.2,提供了更好的效果,并且在联合训练中表现更优。

SharpContour: A Contour-based Boundary Refinement Approach for Efficient and Accurate Instance Segmentation

论文链接:[2203.13312] SharpContour: A Contour-based Boundary Refinement Approach for Efficient and Accurate Instance Segmentation (arxiv.org)

代码链接:无

1. 背景和动机

实例分割是计算机视觉中的一个重要任务,它旨在识别并分割图像中的每个目标实例。近年来,基于深度学习的实例分割方法取得了显著的进展,但是在边界区域的分割质量仍然不尽如人意,导致实例分割的准确性和鲁棒性受到限制。

为了提高边界区域的分割质量,近些年出现了一些边界细化的方案,本文指出一个好的边界细化方案应该需要满足以下三个基本要求:准确、高效以及通用

然而目前效果最好的方案均无法同时满足以上三个要求:

由于Contour-Based方案天然具有高效和通用性,并且易于用于mask-based方案后(从Mask中提取Contour是很直接的)。因此,本文基于Contour提出了一种新的BoundaryRefine方案,名为SharpContour,其同时具有准确、高效以及通用的优点。SharpContour将一个Coarse Contour作为输入,并独立地对各个顶点进行变形,以达到Refine的效果。

  • 为了避免由于“独立性”而带来的artifacts,本文限制了每个顶点的移动方向——法线方向,同时以循环的方式进行迭代,使得整个优化过程更加稳定。
  • 为了平衡高效性和准确性,本文不是直接对顶点的offset进行回归,而是对一些离散的点进行分类,来决定最终的目标位置。具体的:
    • 在移动方向上采样一些点,并将这些点进行分类,分为inner和outer两类,以此来获取其flipping position(顶点在沿着移动方向移动到某个位置后状态发生反转的位置,具体见后文说明),用于确定边界。
    • 这里的分类器担任一个至关重要的角色,因此,本文进行了特殊设计——Instance-aware Point Classifier (IPC):
      • IPC可以根据不同的InstanceBoundary去预测一个顶点的inner或outer的状态,并以一个概率分数的形式来表示
      • 为了提高准确性,IPC需要具有以下两个重要特征:
        • Instance Aware:对于同一点来说,针对不同的InstanceBoundary,其可能是具有不同的状态,因此,IPC需要对Instance有所感知,本文是通过基于各个实例动态生成IPC参数的方式来实现的。
        • Boundary Details:IPC需要能够捕获Boundary Details,因此,IPC的输入特征来自于高分辨率的细粒度特征。
      • 基于IPC的输出,便可以确定在优化过程中如何移动各个顶点:
        • 移动距离:通过目标的尺寸(可以根据CoarseMask大致确定)以及IPC输出的概率分数来共同决定。
        • 移动方向:按照前文所说,是通过inner、outer状态来确定。

2. 具体方案

Contour Evolution of SharpContour

2.1 Contour Evolution

对于一个远离边缘的顶点 x i x_i xi来说,在Evolution过程中的一次迭代可以表达为:
x i ′ = x i + m s i d i x_i^{\prime}=x_i+m s_i d_i xi=xi+msidi
其中, d i d_i di表示移动方向, s i s_i si表示移动步长, m m m则是步数。

  • 移动方向

对于每一个顶点 x i x_i xi,IPC φ ( x i ) \varphi\left(x_i\right) φ(xi)会输出一个范围为 [ 0 , 1 ] [0,1] [0,1]的标量,用于指示该顶点是位于outside(例如 φ ( x i ) = 1 \varphi\left(x_i\right)=1 φ(xi)=1)还是inside(例如 φ ( x i ) = 0 \varphi\left(x_i\right)=0 φ(xi)=0),如果 φ ( x

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值