论文阅读笔记十六:DeconvNet:Learning Deconvolution Network for Semantic Segmentation(ICCV2015)
论文源址:https://arxiv.org/abs/1505.04366
tensorflow代码:https://github.com/fabianbormann/Tensorflow-DeconvNet-Segmentation
基于DenconvNet的钢铁分割实验:https://github.com/fourmi1995/IronSegExperiment-DeconvNet
摘要
通过学习一个反卷积网络来实现分割算法, 本文卷积部分基于改进的VGG-16,反卷积网络部分由反卷积层和上采样层组成。测试时,用训练好的模型测试一张图片上的许多proosal,最后以一种简单的方式将所有预测的proposals进行拼接。该文通过引入反卷积和proposal级别的预测分割改进了传统基于FCN网络的部分不足,可以识别出细小及自然场景中不同尺寸的物体。
介绍
目前,分割主要解决结构类型的像素级预测分类,经过图片中局部区域的分类会从网络中得到大致的label,通过双线性插值的反卷积,进行像素级的标记。CRF作为后处理优化分割效果。FCN的优势在于可以将整幅图片送入网络,计算速度较快。
基于FCN网络的几个限制:(1)网络的感受野尺寸是预先定死的。因此,对于输入图片中比感受野大或者小的物体可能会被忽略。换言之,对于较大的物体,只有局部的细节信息能够被正确标记,或者标记的结果是不连续的,而对于小物体会被忽略。由于分割的边界细节和语义信息之间的权衡,通过跳跃结构来改善效果这一做法也无法从根本上解决问题。
(2)由于,卷积后送入反卷积层的feature map十分稀疏,而且,反卷积的过程又十分的粗糙,输入图片中的结构细节信息会有所损失。
该文主要贡献:
(1)学习一个带有反卷积层,上采样层,ReLU层的深层反卷积网络。
(2)将训练好的模型,应用到图片的proposals中,得到实例级分割结果,最终将这些结合组成最终的分割结果,解决了原始FCN网络中的尺寸问题,同时,物体的细节信息更详尽。
相关工作
(1)基于多尺寸超像素分类,将分类后的结果进行组合得到像素级的标记。(2)将reginon proposal进行分类,对像素级的分割map进行增强处理。(3)将传统CNN中的全连接层转变为具有较大感受野的卷积层得到的FCN网络取得较好的效果。输入图片进行前向操作得到的粗略的类别 score map。FCN基于插值操作进行反卷积,而且只通过微调网络的CNN部分来间接的学习反卷积,网络得到的分割结果后通过CRF进行增强。(4)基于弱监督的分割方法,输入的图片只有bounding box形式的标签类别,通过重复的迭代操作输出准确的分割结果。该文是基于全监督的学习。
分割网络包含反卷积部分,但对于反卷积网络的学习还没有较成熟的方法。反卷积用于对特征表示的重构,通过保存最大池化操作值的位置来实现上采样操作,反卷积也可以用于可视化训练过程中的激活特征。
系统结构
该网络包括两个部分,卷积网络和反卷积网络两部分。卷积网络部分将输入图片转变为多维度的特征表示,用作提取特征,反卷积用于从提取的特征生成分割物体的形状。网络的最后一层输出是一张概率map,与输入图片的大小相同,表示每个像素代表属于某个类别的概率。网络结构如下。
该网络基于VGG16网络中卷积部分,有13层卷积,非线性,池化等操作参杂在卷积层中,卷积网络部分后面接着两层全连接层用于增强类别的分类,反卷积部分是卷积部分的镜像,反卷积网络结合反卷积,反池化,及非线性处理层等几个部分,通过反卷积与上采样操作扩大响应区域。
反卷积部分:
反池化模块:卷积网络中的池化操作用于在较低层网络张,通过抽象一定感受野范围的特征值来过滤部分噪声,虽然,池化操作得到的抽象信息对上层网络中有助于提高分类效果,但赤化操作后,图像的位置信息会有所损失,不利于分割这种对位置信息要求高的任务。针对池化操作中位置信息的损失,反池化将池化操作中最大值变量的位置保存,在反池化的过程中进行恢复其在原图中的对应位置。
反卷积模块:反池化输出结果的尺寸虽然变大了,但特征值仍比较稀疏,通过引入反卷积来是特征变得密集。反卷积引入类似于卷积的卷积核,卷积是将多个输入通过一个滤波器输出一个值,反卷积层的作用是捕捉不同层的形状信息。较低层的filter捕捉整体的形状,而对于物体类别细节信息在较高层的网络中进行编码,反卷积网络将类别细节信息->形状信息都考虑其中,在只有卷积层的网络中这种操作是没有的。
该文反卷积网络可视化的结果如下:
该网络中的卷积部分得到的像素级的类别概率map送入反卷积网络中,经过一系列的反池化, 反卷积,及非线性操作。由上图可观察到,物体在反卷积网络中,目标物特征由稀疏到精细。较低层网络更多捕捉物体的粗略的外形,像位置,形状,区域等,在高层网络中捕捉更加复杂的模式类别。反池化与反卷积在重构feature map时发挥着不同的作用,反池化通过原feature map中较强像素的位置信息来捕捉example-specific (个人理解为外形,位置等特征)结构,进而以一定的像素来构建目标的结构细节,反卷积中的卷积核更倾向于捕捉class-specific形状,经过反卷积,虽然会有噪声的影响,但激活值仍会与目标类别进行相关联。该网络将反卷积和反池化结合,获得较好的分割效果。
训练过程
(1)Batch Normalization :将每层的输入分布变为标准高斯分布来减少内协变量,在卷积和反卷积的每一层后添加BN层。避免进入局部最优。
(2) 两阶段训练:首先基于标签,对含有实例的图片进行裁剪得到包含目标的图片,进一步构成较简单的数据进行预训练,然后使用复杂的数据进行微调,复杂数据集基于简单数据进行构建,proposals与groundTruth的Iou大于0.5的被选作用于训练。但此做法的弊端是,目标物的位置与尺寸信息与原始数据集出现差别。
实验
Reference
[1] L.-C. Chen, G. Papandreou, I. Kokkinos, K. Murphy, and A. L. Yuille. Semantic image segmentation with deep convolutional nets and fully connected CRFs. In ICLR, 2015. 1, 2, 4, 7
[2] J. Dai, K. He, and J. Sun. Boxsup: Exploiting bounding boxes to supervise convolutional networks for semantic segmentation. In ICCV, 2015. 2, 6, 7
[3] J. Dai, K. He, and J. Sun. Convolutional feature masking for joint object and stuff segmentation. In CVPR, 2015. 2, 7
个人实验结果
论文阅读笔记十六:DeconvNet:Learning Deconvolution Network for Semantic Segmentation(ICCV2015)的更多相关文章
- [论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding
[论文阅读笔记] Adversarial Mutual Information Learning for Network Embedding 本文结构 解决问题 主要贡献 算法原理 实验结果 参考文献 ...
- Learning Deconvolution Network for Semantic Segme小结
题目:Learning Deconvolution Network for Semantic Segmentation 作者:Hyeonwoo Noh, Seunghoon Hong, Bohyung ...
- 论文阅读笔记 Improved Word Representation Learning with Sememes
论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...
- [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks
[论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...
- [论文阅读笔记] Community aware random walk for network embedding
[论文阅读笔记] Community aware random walk for network embedding 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 先前许多算法都 ...
- [论文阅读笔记] node2vec Scalable Feature Learning for Networks
[论文阅读笔记] node2vec:Scalable Feature Learning for Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 由于DeepWal ...
- 论文阅读笔记十五:Pyramid Scene Parsing Network(CVPR2016)
论文源址:https://arxiv.org/pdf/1612.01105.pdf tensorflow代码:https://github.com/hellochick/PSPNet-tensorfl ...
- 论文阅读笔记十二:Encoder-Decoder with Atrous Separable Convolution for Semantic Image Segmentation(DeepLabv3+)(CVPR2018)
论文链接:https://arxiv.org/abs/1802.02611 tensorflow 官方实现: https: //github.com/tensorflow/models/tree/ma ...
- 论文阅读笔记十四:Decoupled Deep Neural Network for Semi-supervised Semantic Segmentation(CVPR2015)
论文链接:https://arxiv.org/abs/1506.04924 摘要 该文提出了基于混合标签的半监督分割网络.与当前基于区域分类的单任务的分割方法不同,Decoupled 网络将分割与分类 ...
随机推荐
- Android自定义控件三种方式
1.组合原生控件(继承自ViewGroup.LinearLayout.FrameLayout.RelativeLayout等) 将原生空间做组合,自定义一些事件 2.自己绘制控件(继承自View) ...
- python基础-----异常问题
---恢复内容开始--- 当发生python不知所措的错误时,python会创建一个异常对象, 如果你编写处理该异常的代码,程序将会继续运行: 如果你未对异常做任何处理,程序将会停止,并显示一个tra ...
- DataGrid列中加入CheckBox 全选 点击Header全选 和 只操作选中部分 功能的实现
先写个效果 中午接着写 反正没人看 只是给自己记录
- Gradle的使用
⒈下载 点击此处 ⒉安装 1.解压 2.添加环境变量GRADLE_HOME 指向解压缩文件的磁盘地址 3.PATH环境变量添加%GRADLE_HOME%\bin ⒊使用阿里云仓库 repositori ...
- [Kubernetes]CentOS7部署Kubernetes集群
环境介绍及安装前准备 三台机器,用于部署k8s的运行环境: 节点 ip Master 192.168.243.138 Node1 192.168.243.139 Node2 192.168.243.1 ...
- HSV color space
计算机图形学原理的课给我们指定了课题然后自己去研究并且做ppt(顺便吐槽一下晚课下课布置作业第二天早课就要交的辣鸡时间安排) 肝了一个晚上 大概知道了一点 先写下来 HSV其实是hue saturat ...
- 关于dubbo服务超时的讨论
呵呵,偷点懒,直接把QQ上的讨论发下来. huxin 10:35:19你们现在超时了是咋办的,首先超时了,回复用户肯定是要的 huxin 10:36:14超时了用户实际是不知道这业务是成功还失败了 ...
- DES和3DES加密算法C语言实现【转】
转自:https://blog.csdn.net/leumber/article/details/78043675 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.cs ...
- ifconfig相关参数及用法说明
一.ifconfig ifconfig 主要是可以手动启动.观察与修改网络接口的相关参数,可以修改的参数很多,包括 IP 参数以及 MTU 等都可以修改,它的语法如下: [root@linux ~]# ...
- gnutls-3.5.18 static building for windows
gnutls-3.5.18 static building for windows Required libraries:1. libnettle 2. gmplib Optional librari ...