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等相关的学习资源、经典和最新的深度学习相关的论文研读,算法和其他互联网技能的学习,概率论、线性代数等高等数学知识的回顾。

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

  1. 实时实例分割的Deep Snake:CVPR2020论文点评

    实时实例分割的Deep Snake:CVPR2020论文点评 Deep Snake for Real-Time Instance Segmentation 论文链接:https://arxiv.org ...

  2. CVPR2020 Oral|实例分割新思路: Deep Snake

    点击上方"AI算法修炼营",选择加星标或"置顶" 标题以下,全是干货 本文授权转自知乎作者彭思达,整理:极市平台 地址:https://zhuanlan.zhi ...

  3. CVPR2020论文解析:实例分割算法

    CVPR2020论文解析:实例分割算法 BlendMask: Top-Down Meets Bottom-Up for Instance Segmentation 论文链接:https://arxiv ...

  4. 170 FPS!YolactEdge:边缘设备上的实时实例分割,已开源!

    点击上方"CVer",选择加"星标"置顶 重磅干货,第一时间送达 本文转载自:AI人工智能初学者 论文:https://arxiv.org/abs/2012.1 ...

  5. YOLACT实时实例分割

    Abstract 我们提出了一个简单的.完全卷积的实时实例分割模型,在MS-COCO上达到29.8map,在单个Titan Xp上以33.5fps的速度进行评估,这比以往任何竞争方法都要快得多.而且, ...

  6. 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法 | 技术头条

    作者 | Daniel Bolya Chong Zhou Fanyi Xiao Yong Jae Lee 译者 | 刘畅 责编 | Jane 出品 | AI科技大本营(id:rgznai100) [导 ...

  7. 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法

    这个带分割是25帧,有漏检. 速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法 原文:速度超Mask RCNN四倍,仅在单个GPU训练的实时实例分割算法 | 技术头条 https:/ ...

  8. 超Mask RCNN速度4倍,仅在单个GPU训练的实时实例分割算法

    点击我爱计算机视觉标星,更快获取CVML新技术 作者 | Daniel Bolya Chong Zhou Fanyi Xiao Yong Jae Lee 译者 | 刘畅 责编 | Jane 出品 | ...

  9. 在英特尔独立显卡上部署YOLOv5 v7.0版实时实例分割模型

    作者:贾志刚 英特尔物联网创新大使 目录 1.1 YOLOv5实时实例分割模型简介 1.2 英特尔®消费级锐炫™ A 系列显卡简介 1.3  在英特尔独立显卡上部署YOLOv5-seg模型的完整流程 ...

  10. 华科提出首个用于伪装实例分割的一阶段框架OSFormer

    本篇分享 ECCV 2022 论文『OSFormer: One-Stage Camouflaged Instance Segmentation with Transformers』,华科&ET ...

最新文章

  1. http 三种认证方式 Basic Session Token 简介
  2. JAVA8 获取叶节点_Java找出所有的根节点到叶子节点的节点值之和等于sum 的路径...
  3. .NET 中的泛型 101
  4. jzoj3236-矮人排队【权值线段树】
  5. pom.xml中添加阿里云Maven中央仓库配置
  6. 支付宝Android接口4.0以上报错Failure calling remote service
  7. 免费资源:Polaris UI套件 + Linecons图标集(AI, PDF, PNG, PSD, SVG)
  8. php 如何自动执行脚本文件,使用php作linux自动执行脚本
  9. Tracer 结合logback记录日志
  10. RHEL5_x64上安装oracle 11.2
  11. python判断素数程序_python判断素数程序_Python程序检查素数
  12. 命令查看(获取)本机IP地址
  13. 趋势丨关于未来世界的50个超级趋势
  14. unison与fswatch文件同步
  15. 第50节:初识搜索引擎_上机动手实战多搜索条件组合查询
  16. ERROR Deployer not found: git
  17. 如何构建故障与危机的处理能力?《高可用及容灾架构体系化建设》下篇
  18. css中white-space 属性:“pre”, “pre-line”, “pre-wrap” “nowrap”的区别
  19. RGBA和ARGB有区别吗
  20. python批处理原始核磁数据用于DPABI

热门文章

  1. MariaDB用户管理
  2. 编写iPhone应用程序有何不同
  3. python selenium 打开新窗口
  4. VS2010启动总是遇到异常提示的解决
  5. VS2012无法打开文件“kernel32.lib”问题的解决办法
  6. Oracle EBS二次开发简介
  7. 操作系统中的hosts文件
  8. 网页制作,改变你的思维方式
  9. 图解 TCP IP 协议:三次握手、四次挥手
  10. 使用WebStorm/IDEA开发调试Vue/Webpack工程项目