论文笔记(1):From Image-level to Pixel-level Labeling with Convolutional Networks
文章采用了多实例学习(MIL)机制构建图像标签同像素语义的关联 。 该方法的训练样本包含了70 万张来自ImageNet的图片,但其语义分割的性能很大程度上依赖于复杂的后处理过程,主要包括图像级语义的预测信息、超像素平滑策略、物体候选框平滑策略和 MCG分割区域平滑策略。
下图是论文所用方法的一般性说明:

(1)使用来自Imagenet的弱注释数据(仅图像级别的类别信息)对模型进行训练。
(2)CNN生成特征平面。
(3)这些平面通过一个聚合层来约束模型,把更多的权重放在正确的像素上。
(4)通过分类正确的图像级标签来训练系统。
底部:在测试期间,聚合层被去除,并且CNN密集地将图像的每个像素进行分类(仅考虑少数分割先验)。


3 Architecture
正如我们在第1节中指出的,CNN是一个非常灵活的模型,可以应用于各种图像处理任务,因为它们减轻了任务特定功能的需求。 CNN学习过滤器的层次结构,当层次结构“更深入”时,过滤器提取更高层次的表示。 他们学习的功能类型也是非常普遍的,CNN使转移学习(到另一个任务)非常容易。 但是,这些模型的主要缺点是在训练过程中需要大量的数据。
由于图像级对象标签的数量比像素级分割标签大得多,因此利用图像分类数据集来执行分割是理所当然的。 接下来,我们考虑一个类C的分割问题。我们假设分类数据集至少包含相同的类。
在分类时可用的额外类,不在分割数据集中的,映射到“背景”类。 这个背景类对于在分割过程中限制假阳性的数量是必不可少的。
我们的架构是CNN,它是通过Imagenet的一个子集进行训练的,从图像级标签生成像素级标签。 如图2所示,我们的CNN是相当标准的,有10级卷积和(可选)池化。输入一个400×400的RGB补丁I,并输出对应于12倍下采样图像像素标签分数的| C | +1个平面(每个类一个,加上背景类)。在训练过程中,第3.1节中介绍的一个额外图层将像素级标签聚合为图像级标签。 出于计算能力的原因,我们“冻结”了CNN的第一层,以及一些已经训练有素(通过Imagenet分类数据)的CNN模型。
我们选择训练以用于对ILSVRC13进行对象分类的Overfeat。Overfeat模型生成尺寸为1024×hi×wi的特征图,其中hi和wi是RGB输入图像大小,卷积核大小,卷积步长和最大池大小的函数。只保留前6个卷积层和2个Overfeat层,我们的RGB 400×400图像块I被转换成1024×29×29的特征表示。
我们增加了四个额外的卷积层(我们用H6来表示来自OverFeat的特征面)。 每一个(除了最后的Y)之后是逐点校正非线性(ReLU)单元。

(W p,b p)表示第p层的参数。 在这一步,我们不使用任何最大池化。 一个dropout正规化策略被用于所有层(以防止过拟合)。 网络输出| C | + 1个维度为h o×w o的特征平面,训练中考虑为每个类别加上背景。
3.1 Multiple Instance Learning
网络从二次采样图像I为每个像素位置(i,j)产生一个分数
和对于每个k∈C的类。假定在训练期间,我们只能访问图像类别标签,我们需要一种方法来聚合这些像素级分数,将其合并为一个单一的图像级别的分数
,然后将最大化正确的类标签k*。 假设聚合过程aggreg()已经被选择,我们通过应用下面的softmax函数将图像级别的分数解释为类别条件概率:

其中θ= {W p,b p∀p}表示我们框架下的所有可训练参数。 然后,我们在所有训练数据对(I,k*)上最大化对数似然(关于θ):

训练是通过随机梯度来实现的,通过softmax,聚合过程进行反向传播,并且直到我们网络的第一个非冻结层。(原文勘误:应为up to the而不是“up the to”)

Figure 2:完整的RGB图像通过网络(由Overfeat和四个额外的卷积特征组成)向前传送,生成维度(| C | + 1)×h o×w o的输出平面。 这些输出平面可以看作是输入图像的子采样版本的像素级标签。 然后,输出通过Log-Sum-Exp图层将像素级标签聚合成图像级标签。 误差通过层C10-C7反向传播。
Aggregation
聚合应该促使网络走向正确的像素级分配,这样它可以在分割任务上正常执行。 一个明显的聚合将是所有像素位置的总和:

然而,这将在训练过程中对图像的所有像素赋予相同的权重,甚至对该图像上不属于类别标签的像素分配权重(even to the ones which do not belong to the class label assigned to the image)。注意,该聚合方法与通过mini-batch应用传统的全连接分类CNN等同。 实际上,输出平面中的每个值对应于以输入平面中的对应像素为中心的 sub-patch的CNN的输出。 另一方面,可以应用一个最大池化来汇总:

这将促使该模型增加被认为是图像级分类最重要的像素的分数。 根据我们的经验,这种方法训练得不好。 请注意,在训练开始时,所有像素可能具有相同(错误)的分数,但是只有一个(由max选择)将在训练过程的每一步都增加其分数。 因此,模型需要大量的时间才能收敛也不奇怪。
我们选择了最大函数的平滑版本和凸近似,称为Log-Sum-Exp(LSE):

超参数r控制近似值的平滑程度:高r值意味着具有类似于最大值的效果,非常低的值将具有类似于得分平均的效果。 这种聚合的优点是在训练过程中具有相似分数的像素将具有相似的权重,参数r控制这种“相似性”。
论文笔记(1):From Image-level to Pixel-level Labeling with Convolutional Networks的更多相关文章
- 论文笔记:《OverFeat: Integrated Recognition, Localization and Detection using Convolutional Networks DeepLearning 》
一.Abstract综述 训练出一个CNN可以同时实现分类,定位和检测..,三个任务共用同一个CNN网络,只是在pool5之后有所不同 二.分类 这里CNN的结构是对ALEXNET做了一些改进,具体的 ...
- 论文笔记:ReNet: A Recurrent Neural Network Based Alternative to Convolutional Networks
ReNet: A Recurrent Neural Network Based Alternative to Convolutional Networks2018-03-05 11:13:05 ...
- 论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks
论文笔记-IGCV3:Interleaved Low-Rank Group Convolutions for Efficient Deep Neural Networks 2018年07月11日 14 ...
- SPPNet论文翻译-空间金字塔池化Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
http://www.dengfanxin.cn/?p=403 原文地址 我对物体检测的一篇重要著作SPPNet的论文的主要部分进行了翻译工作.SPPNet的初衷非常明晰,就是希望网络对输入的尺寸更加 ...
- 论文阅读笔记二十五:Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition(SPPNet CVPR2014)
论文源址:https://arxiv.org/abs/1406.4729 tensorflow相关代码:https://github.com/peace195/sppnet 摘要 深度卷积网络需要输入 ...
- 【论文笔记】张航和李沐等提出:ResNeSt: Split-Attention Networks(ResNet改进版本)
github地址:https://github.com/zhanghang1989/ResNeSt 论文地址:https://hangzhang.org/files/resnest.pdf 核心就是: ...
- 论文笔记:SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks
SiamRPN++: Evolution of Siamese Visual Tracking with Very Deep Networks 2019-04-02 12:44:36 Paper:ht ...
- Video Frame Synthesis using Deep Voxel Flow 论文笔记
Video Frame Synthesis using Deep Voxel Flow 论文笔记 arXiv 摘要:本文解决了模拟新的视频帧的问题,要么是现有视频帧之间的插值,要么是紧跟着他们的探索. ...
- 论文笔记《Feedforward semantic segmentation with zoom-out features》
[论文信息] <Feedforward semantic segmentation with zoom-out features> CVPR 2015 superpixel-level,f ...
随机推荐
- UITableView 的使用小点
1.系统默认的颜色设置//无色 cell.selectionStyle = UITableViewCellSelectionStyleNone; //蓝色 cell.selectionStyle = ...
- [SDOI2015]序列统计
[SDOI2015]序列统计 标签: NTT 快速幂 Description 给你一个模m意义下的数集,需要用这个数集生成一个数列,使得这个数列在的乘积为x. 问方案数模\(1004535809\). ...
- [bzoj]2962序列操作
[bzoj]2962序列操作 标签: 线段树 题目链接 题意 给你一串序列,要你维护三个操作: 1.区间加法 2.区间取相反数 3.区间内任意选k个数相乘的积 题解 第三个操作看起来一脸懵逼啊. 其实 ...
- Python基础——数据类型与基本运算【主要为除法】
Python版本:3.6.2 操作系统:Windows 作者:SmallWZQ 无论是Python 3.x版本还是2.x版本,Python均支持多种数据类型,能够直接处理的数据类型包括Int类型. ...
- nginx+tomcat单个域名及多个域名配置
同步首发:http://www.yuanrengu.com/index.php/20171130.html 项目开发接近尾声,开始着手在生产环境部署项目,开发阶段部署项目都没用nginx.项目是采用S ...
- 网卡name-eth1如何修改为eth0
正常来说,Linux在识别网卡时第一张会是eth0,第二张才是eth1. 有时候我们使用虚拟机克隆技术后网卡的信息就会改变,新克隆出来的虚拟主机网卡名字可能变为eth1.无论我们怎么修改都无法改变,这 ...
- datatables行编辑中,某个字段用户显示和用于行编辑名称不同时的处理。
比如tag这个字段,对应服务端bean的tag,但是在页面显示时需要为String类型的tagName,那么在行编辑时可以用以下的方式处理.
- centos/linux下的安装Tomcat
1.启动tomcat时候需要JDK依赖 如果没有安装的请移步到该链接Centos/linux下的JDK安装 2.从官网上下载tomcat压缩包 wget -c http://apache.fayea. ...
- AJAX跨域完全讲解
AJAX跨域完全讲解 今天在慕课网上学习了AJAX跨域完全讲解:https://www.imooc.com/learn/947 我在收集AJAX面试题的时候其实就已经有过AJAX跨域的问题的了,当时候 ...
- UESTC 251 最长上升子序列O(nlgn)
O(n^2)过不了.必须要用一个额外的数组保存当前长度最小值,然后lgn查表 AC代码 #include<cstdio> #include<algorithm> using n ...