0 - 背景

  今年来卷积网络在计算机视觉任务上取得的显著成果,但仍然存在一些问题。去年Hinton等人提出了使用动态路由的新型网络结构——胶囊网络来解决卷积网络的不足,该新型结构在手写体识别以及小图像分类上取得了不错的效果。其成功的原因在于它使用了动态路由算法替代了卷积网络中的池化层从而减少了信息的丢失并且允许捕捉数据中的部分-整体关系,同时,使用胶囊作为网络的基本单位替代了神经元,从而使得网络可以学习除了特征之外的更多的信息(如空间角度、大小量级、特征提取的其它属性等)。

  基于胶囊网络的初步成功,我们第一次将其应用到图像分割任务上,改进动态路由算法从而减少了参数,并且构造新的结构使得胶囊网络具备了处理大图片的能力。

1 - 贡献

  • 第一次在会议上提出将胶囊网络应用在目标分割上面
  • 在原先的动态路由算法上提出了两个改进
    • 子胶囊只能在一个定义的本地窗口路由到父胶囊
    • 网络中同一类型的胶囊的转换矩阵共享
  • 可以处理大尺度图片(512×512),之前的胶囊网络结构最大处理32×32大小的图片
  • 我们介绍了“deconvolutional”胶囊的概念并且提出了一个新颖的deep convolutional-deconvolutional胶囊网络架构
  • SegCaps在LIDC-IDRI数据集的LUNA16子集上的肺部分割效果有所提升

2 - 整体思路

2.1 - 动态路由算法改进

  Hinton提出的原始的胶囊网络中,胶囊间的路由相当于做一个全连接映射,每一条路由路径都需要上一层胶囊和下一层胶囊的所有维度的全连接映射,从而使得参数量特别大,可以用如下图解直观解释。

  而这篇论文中,作者提出在映射的时候,通过窗口控制和同一胶囊(同一类型胶囊)共享权重的方法,减少参数,其实可以理解为,在底层的每一个胶囊内做卷积,每一个胶囊都卷出与高层的所有胶囊维度相同的张量,而后对于每一个底层胶囊卷出来的结果做路由选择(更新耦合系数$c_{ij}$),通过下图进行直观理解。

3 - 实验

  参数少,效果好!

4 - 结论

  • 提出了用于目标分割的新颖的深度学习模型——SegCaps,在具有挑战性的肺部CT图像分割数据集上效果很好(参数少,效果好)
  • 改进了胶囊网络原本的动态路由算法使得参数量大大较少并且增大了允许接受的输入图片的尺度
  • 提出胶囊反卷积层,从而构造新颖的胶囊卷积-胶囊反卷积的架构
  • 扩展了目标类的掩码重构作为分割问题的正则化策略

5 - 参考资料

https://github.com/lalonderodney/SegCaps(论文源码)

https://www.baidu.com/link?url=yCynxTjGfEWJlHRv7My9nwT6kgtnDVWIA0alsKHGLg4zhALj51BWauayl4uHoDlg&wd=&eqid=e06c38e700009517000000055bf76df6(论文)

Capsules for Object Segmentation(理解)的更多相关文章

  1. 论文笔记:Capsules for Object Segmentation

    Capsules for Object Segmentation 2018-04-16  21:49:14 Introduction: ----

  2. java 多线程 Synchronized方法和方法块 synchronized(this)和synchronized(object)的理解

    synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块. 1. synchronized 方法:通过在方法声明中加入 synchronized ...

  3. PaperNotes Instance-Level Salient Object Segmentation

    title: PaperNotes Instance-Level Salient Object Segmentation comments: true date: 2017-12-20 13:53:1 ...

  4. 64.root object的理解

    一.root object的理解     就是某个type对应的mapping json,包括properties,metadata(_id,_source,_type),settings(analy ...

  5. 泡泡一分钟:SceneCut: Joint Geometric and Object Segmentation for Indoor Scenes

    张宁    SceneCut: Joint Geometric and Object Segmentation for Indoor Scenes    "链接:https://pan.ba ...

  6. 关于six.with_metaclass(ABCMeta, object)的理解

    在学习Python过程中,看到了生成虚基类的方式, class PeopleBase(six.with_metaclass(ABCMeta, object)): @abstractmethod def ...

  7. [CVPR2017]Online Video Object Segmentation via Convolutional Trident Network

    基于三端卷积网络的在线视频目标分割 针对半监督视频目标分割任务,作者采取了和MaskTrace类似的思路,以optical flow为主. 本文亮点在于: 1. 使用共享backbone,三输出的自编 ...

  8. 论文阅读笔记二十四:Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(R-CNN CVPR2014)

    论文源址:http://www.cs.berkeley.edu/~rbg/#girshick2014rcnn 摘要 在PASCAL VOC数据集上,最好的方法的思路是将低级信息与较高层次的上下文信息进 ...

  9. Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)

    摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有 ...

随机推荐

  1. 【css】一行或者多行文字垂直水平居中

    1.方法一:使用css3弹性盒子(兼容IE10及以上浏览器,firefox,chrome,safari 5.1.7不支持) <!DOCTYPE html> <html> < ...

  2. Elastic Stack-Kibana使用介绍(七)

    一.前言     主要来讲述一下Kibana使用以及上生产时候的一些配置,要是大家对这块比较感兴趣我到时候也可以在结合Grafana做一些图表方面的介绍,后面等介绍完Beats以后我去阿里云租几台机器 ...

  3. tps 和 qps的区别

    QPS:Queries Per Second意思是“每秒查询率”,是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准. TPS:是Transactions ...

  4. 【算法】shortest distance

    好不容易找到的. #include<iostream> #include<iomanip> #include<cmath> using namespace std; ...

  5. 第一章 初识 MyBatis

    概念:优秀持久层框架:实体类和SQL语句之间建立映射关系 与hibernate区别    :自动生成sql语句,并且建立实体类和数据表的映射. MyBatis基本要素:核心对象   核心配置文件  S ...

  6. Vue 环境搭建(win10)

    1.安装node node官网安装地址 推荐安装稳定版本(LTS)以及安装路径为系统盘(C) 查看node安装成功否 注释:以下命令使用 命令提示符(管理员)权限,win10 对user权限的限制了访 ...

  7. Python进阶6---序列化与反序列化

    序列化与反序列化*** 为什么要序列化 ? 定义 pickle库 #序列化实例 import pickle lst = 'a b c'.split() with open('test.txt','wb ...

  8. React多层级表单

    因项目需要封装的组件,组件库使用的是Ant Design 用到了 Form组件 , 布局组件,表单控件 ,如果没有使用Ant Design,可以用rc-form代替,需要对组件中使用的表单控件和布局进 ...

  9. Windows 上连接本地 Linux虚拟机上的 mysql 数据库

    查看本机ip ifconfig  查看当前的 3306 端口状态 netstat -an|grep 3306 当前是外部无法连接状态 修改访问权限 默认的 mysql 是只能本机连接, 因此需要修改配 ...

  10. vim命令替换操作

    替换当前行第一个 vivian为sky :s/vivian/sky/ 替换当前行所有 vivian为sky :s/vivian/sky/g 替换第 n 行开始到最后一行中,每一行的第一个vivian为 ...