Deep Snake for Real-Time Instance Segmentation

摘要

提出了circular convolution, 相比图卷积,可以更好的学习轮廓的cycle-graph结构。是个二阶实例分割,分为initial contour proposal和contour deformation两步,可以处理检测误差。1080Ti上,512x512输入的速度为32.3fps。

好奇图像中的实例数对速度没影响么?而且这篇文章提出来的圆环卷积,采用特征选取的方式,导致没法用推理引擎进行加速,也就无法部署到端上。

Learning-based snake algorithm

在这里插入图片描述
在这里插入图片描述
三个部分:backbone + fusion block + prediction head。
backbone部分由8个“CirConv-Bn-ReLU"组成。

Deep snake for instance segmentation

在这里插入图片描述

initial contour proposal

取检测框四条边的中心点,得到diamond contour;deep snake用这个“钻石轮廓”做为输入,输出四个偏置,得到extreme points, 分别是物体的最左/右/上/下四个点。以每个extreme point为中心点,外扩1/4边长,遇到框的边缘既停止,然后两两相连,得到Octagon Contour。也就是contour deformation部分的初始输入轮廓。

contour deformation

从最top的extreme point x 1 e x x_1^{ex} x1ex开始,在初始轮廓上,均匀取N(N=128)个点。训练时的真值轮廓也是如此,在轮廓上均匀采样N个点,最接近 x 1 e x x_1^{ex} x1ex的点作为起始点。直接一次性回归初全部点的偏置是极具挑战的,尤其是对远离物体的点。所以deep snake采用迭代deformation的方式,降低问题难度。最大迭代3次。每次迭代输出N个点的offset,不断接近真实轮廓位置。

Multi-component detection

有些物体因为遮挡被分成了多段。但它这里提出来的分别检测再归并mask的解决方案有点扯淡呢。

Training strategy

4个极点用l1损失监督。
L e x = 1 4 ∑ i = 1 4 l 1 ( x ^ i e x − x i e x ) L_{ex} = \frac{1}{4}\sum_{i=1}^{4}l_1(\hat{x}_i^{ex} - x_i^{ex}) Lex=41i=14l1(x^iexxiex)
N个轮廓点也用l1损失监督。
L i t e r = 1 N ∑ i = 1 N l 1 ( x ^ i − x i g t ) L_{iter} = \frac{1}{N}\sum_{i=1}^{N}l_1(\hat{x}_i - x_i^{gt}) Liter=N1i=1Nl1(x^ixigt)
检测器用的是CenterNet。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值