Capsules for Object Segmentation(理解)
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(论文源码)
Capsules for Object Segmentation(理解)的更多相关文章
- 论文笔记:Capsules for Object Segmentation
Capsules for Object Segmentation 2018-04-16 21:49:14 Introduction: ----
- java 多线程 Synchronized方法和方法块 synchronized(this)和synchronized(object)的理解
synchronized 关键字,它包括两种用法:synchronized 方法和 synchronized 块. 1. synchronized 方法:通过在方法声明中加入 synchronized ...
- PaperNotes Instance-Level Salient Object Segmentation
title: PaperNotes Instance-Level Salient Object Segmentation comments: true date: 2017-12-20 13:53:1 ...
- 64.root object的理解
一.root object的理解 就是某个type对应的mapping json,包括properties,metadata(_id,_source,_type),settings(analy ...
- 泡泡一分钟:SceneCut: Joint Geometric and Object Segmentation for Indoor Scenes
张宁 SceneCut: Joint Geometric and Object Segmentation for Indoor Scenes "链接:https://pan.ba ...
- 关于six.with_metaclass(ABCMeta, object)的理解
在学习Python过程中,看到了生成虚基类的方式, class PeopleBase(six.with_metaclass(ABCMeta, object)): @abstractmethod def ...
- [CVPR2017]Online Video Object Segmentation via Convolutional Trident Network
基于三端卷积网络的在线视频目标分割 针对半监督视频目标分割任务,作者采取了和MaskTrace类似的思路,以optical flow为主. 本文亮点在于: 1. 使用共享backbone,三输出的自编 ...
- 论文阅读笔记二十四:Rich feature hierarchies for accurate object detection and semantic segmentation Tech report(R-CNN CVPR2014)
论文源址:http://www.cs.berkeley.edu/~rbg/#girshick2014rcnn 摘要 在PASCAL VOC数据集上,最好的方法的思路是将低级信息与较高层次的上下文信息进 ...
- Fully Convolutional Networks for semantic Segmentation(深度学习经典论文翻译)
摘要 卷积网络在特征分层领域是非常强大的视觉模型.我们证明了经过端到端.像素到像素训练的卷积网络超过语义分割中最先进的技术.我们的核心观点是建立"全卷积"网络,输入任意尺寸,经过有 ...
随机推荐
- JToken和BsonValue对象的相互转换
/// <summary> /// JObject和BsonValue之间的 /// </summary> public static class AdapterExtensi ...
- 利用Python爬取网页图片
最近几天,研究了一下一直很好奇的爬虫算法.这里写一下最近几天的点点心得.下面进入正文: 你可能需要的工作环境: Python 3.6官网下载 我们这里以sogou作为爬取的对象. 首先我们进入搜狗图片 ...
- Neutron vxlan network
OpenStack 还支持 vxlan 和 gre 这两种 overlay network. overlay network 是指建立在其他网络上的网络. 该网络中的节点可以看作通过虚拟(或逻辑) ...
- git submoudle提交
进入到各个submoudle文件夹 git status 查看所在branch和文件修改状态 git add [files]; git commit "" git pull ori ...
- golang异常处理
一.使用defer+recover 错误例子: [root@localhostgo_test]#cat t1.go package main func main(){ panic(1) } [root ...
- vue组件之间的通信
1.父组件给子组件传递数据 <body> <div id="app"> 父组件:{{total}} <br> <son-component ...
- (最详细)小米Note 3的Usb调试模式在哪里打开的流程
就在我们使用安卓手机链接PC的时候,或者使用的有些应用软件比如我们单位营销部门就在使用的应用软件引号精灵,之前使用的老版本就需要开启USB开发者调试模式下使用,现就在新版本不需要了,如果手机没有开启U ...
- Dlib Opencv cv2.fitEllipse用于人眼轮廓椭圆拟合
dlib库的安装以及人脸特征点的识别分布分别在前两篇博文里面 Dlib Python 检测人脸特征点 Face Landmark Detection Mac OSX下安装dlib (Python) 这 ...
- django集成celery
Celery是一个基于分布式消息传递的开源异步任务队列,在django实际应用场景下,往往有一些较为耗时,但并不需要返回值的任务, 例如发送邮件,更新我们自己的统计数据库,这时我们可以将这些任务交由c ...
- 【一本通1329:【例8.2】细胞&&洛谷P1451 求细胞数量】
1329:[例8.2]细胞 [题目描述] 一矩形阵列由数字0到9组成,数字1到9代表细胞,细胞的定义为沿细胞数字上下左右还是细胞数字则为同一细胞,求给定矩形阵列的细胞个数.如: 阵列 4 10 023 ...