(CVPR2020 Oral)用于实时实例分割的Deep Snake方法

CVPR 2020 Oral Paper,用于实时实例分割的DeepSnake方法,论文采用一组连续有序的点组成物体轮廓,使得参数量大大降低更接近与目标检测中bounding box的参数量,也适用于文字与细胞的分割。该方法的基本思路是用深度学习方法改进传统snake方法【“Kass, Michael, Andrew Witkin, and Demetri Terzopoulos. Snakes: Active contour models.In IJCV, 1988.”】的优化过程,最终在多个数据集上取得了较好的效果。

在这里插入图片描述

  实例分割以Mask RCNN方法最为经典,其通过对Faster RCNN目标检测方法的调整,采用先检测再分割的思路完成实例分割任务,即先得到实例的bounding box,然后在检测框中进行逐像素分类,这种方法的精度依赖于检测框的精度,并且为了降低计算量,逐像素分类之前会先将图像进行缩放,完成逐像素分类之后再通过上采样过程恢复图像尺寸,这种方法不仅会损害分割任务的精度,同时增加了时间延迟,也不能较好地处理文字和细胞的分割。

  本文采用一组连续的有序点组成的物体轮廓来表征实例的形状,如下图所示,这样的好处在于参数量大大降低更接近与目标检测中bounding box的参数量,也适用于文字与细胞的分割。实际上这种方法就是传统的snake方法的一种优化,传统snake方法以一个初始的预设轮廓为输入,将各节点坐标作为变量,通过最小化目标函数的方法优化目标节点坐标,其中最小化函数通常由将轮廓拉向图像目标位置的image term和约束实例轮廓形状的contour term两部分组成,但是优化过程易受离群点干扰,易收敛到局部最优点,本文就是用了Deep Learning的方法优化这个过程。
在这里插入图片描述

  实际上这个过程已经有实现的方法,即自动化标注领域的Curve GCN[“Fast Interactive Object Annotation with Curve-GCN”]方法:预设初始contour → \rightarrow 对图片提取特征图 → \rightarrow 使用图卷积神经网络处理每个节点的特征 → \rightarrow 为每个节点预测一个offset。但是这种方法将contour视为一般化的图,忽略了contour的独特的拓扑结构(节点间有序且节点邻居数量固定)
在这里插入图片描述
  本文提出的Deep Snake方法将由首尾相连的有序节点组成的contour视为cycle graph,引入循环卷积处理contour,如上图所示,蓝色节点是输入节点特征,黄色节点表示核函数,绿色节点是输出特征,高亮的绿色节点是高亮黄色节点表示的核函数与高亮蓝色节点表示的输入特征的内积,循环卷积的输入和输出长度相同,该卷积过程如下式:
在这里插入图片描述

  其中输入特征(即蓝色节点):
在这里插入图片描述

  整个方法流程上和Curve GCN类似,只不过采用循环卷积而不是图卷积处理节点特征。但是Deep Snake还有两个处理值得关注

1. 初始输入contour的获取

  首先使用现有的detector比如CenterNet,得到实例的一个检测框,将四条边上的中点连接成一个菱形,通过Deep Snake的处理方法预测这个由四个点组成的contour的偏移,得到四个极端点;然后利用这四个极端点构建八边形作为新的contour,也即初始输入contour(然后再使用Deep Snake方法进行处理)具体过程如下图所示:
在这里插入图片描述

  实际上Deep Snake的网络结构也不复杂,其作用在于为每个节点预测一个偏移量,具体结构如下图所示:
在这里插入图片描述
2. 处理多段实例

  有的实例可能会被截断成多个部分,这样就无法得到真实的contour,论文的解决方案是在大检测框中进行二次检测,如下图所示,然后再重复上述过程。
在这里插入图片描述

  最终论文进行了多组消融实验,并与其他方法进行了精度与速度对比,也展示了部分数据集上的分割结果,如下所示:


消融实验,Baseline是CurveGCN+CenterNet,然后分别是保留CurveGCN中的图卷积但是使用本文提出的网络架构,加入本文提出的初始轮廓生成方法,替换图卷积为循环卷积
在这里插入图片描述
与其他方法对比(CityScapes验证集)
在这里插入图片描述

  需要注意的是,论文中FPS计算考虑了CenterNet的检测过程,论文在1080ti显卡上使用SBD数据集中512 × \times × 512的图像进行测试,fps32.3,其中CenterNet消耗18.3ms,初始contour生成消耗3.1ms,之后每次contour的变形的迭代均需3.3ms(对的需要设置迭代次数)而且要开启多段检测的话会额外消耗3.6ms。

一些定性结果展示
在这里插入图片描述在这里插入图片描述


论文地址(https://arxiv.org/abs/2001.01629)

代码地址(https://github.com/zju3dv/snake)

作者解读(https://zhuanlan.zhihu.com/p/134111177)


欢迎扫描二维码关注微信公众号 深度学习与数学 ,每天获取免费的大数据、AI等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值