转载请注明出处:https://www.cnblogs.com/White-xzx/

原文地址:https://arxiv.org/abs/1702.05891

Caffe-code:https://github.com/zhufengx/SRN_multilabel

如有不准确或错误的地方,欢迎交流~

  

  空间正则化网络(Spatial Regularization Network, SRN),学习所有标签间的注意力图(attention maps),并通过可学习卷积挖掘标签间的潜在关系,结合正则化分类结果和 ResNet-101 网络的分类结果,以提高图像分类表现。

【SRN的优势】

  (1)挖掘图像多标签之间的语义和空间关联性,较大地提高精度;

  (2)当网络模型对具有空间相关标签的图片训练后,注意力机制自适应地关注图像的相关区域

  (3)图像级标注,端到端训练

    

【SRN网络结构】

  (1)Main Net:ResNet-101,针对各标签分别学习得到独立的分类器。“Res-2048” 表示具有2048输出的 ResNet 网络模块;

  (2)SRN 采用ResNet-101的视觉特征作为输入,利用注意力机制学习得到标签间的正则空间关系;

  (3)结合主网络和SRN的分类结果得到最终的分类置信度;

  【Main Net】

  

  【SRN:注意力机制 fatt(·)】

  当图像存在某个标签时,更多的注意力应该放在相关的区域,标签注意力图编码了标签对应的丰富空间信息。l被标记则l相关区域的注意力值应该更高

  

  

   注意力图能用于产生更鲁棒的空间正则信息,但每个标签的注意力图总是和为1,可能会突出错误位置,造成错误的空间正则信息,论文提出使用加权注意力图U,U解码了标签局部和全局的置信分数(confidence)。

  

  【SRN:fsr(·)结构】

  conv2、conv3多通道,512输出,捕捉多标签的语义关系;

  conv4单通道,2048输出,4个kernel为一组缠绕1个相同的特征通道,不同kernel捕捉语义关联标签间的不同空间关系。

  

【Multiple Steps 分步训练】

  

  分四个阶段: ①只训练主网络, 基于 ResNet,pretrained on ImageNet,fcnn 和 fcls;

        ②固定 fcnn 和 fcls, 训练 fatt;

        ③固定 fcnn, fcls和 fatt,训练 fsr;

        ④联合训练整个网络。

  图像增强策略: ①resize为256×256

          ②裁剪4个角和中心区域,长宽在{256,224,192,168,128}中随机选取

          ③resize为224×224

【实验结果】

  

  

 

【论文阅读】Learning Spatial Regularization with Image-level Supervisions for Multi-label Image Classification的更多相关文章

  1. Learning Spatial Regularization with Image-level Supervisions for Multi-label Image Classification

  2. 论文阅读笔记(十七)【ICCV2017】:Dynamic Label Graph Matching for Unsupervised Video Re-Identification

    Introduction 文章主要提出了 Dynamic Graph Matching(DGM)方法,以非监督的方式对多个相机的行人视频中识别出正确匹配.错误匹配的结果.本文主要思想如下图: 具体而言 ...

  3. Deep Reinforcement Learning for Dialogue Generation 论文阅读

    本文来自李纪为博士的论文 Deep Reinforcement Learning for Dialogue Generation. 1,概述 当前在闲聊机器人中的主要技术框架都是seq2seq模型.但 ...

  4. 论文阅读笔记 Improved Word Representation Learning with Sememes

    论文阅读笔记 Improved Word Representation Learning with Sememes 一句话概括本文工作 使用词汇资源--知网--来提升词嵌入的表征能力,并提出了三种基于 ...

  5. 论文阅读:Face Recognition: From Traditional to Deep Learning Methods 《人脸识别综述:从传统方法到深度学习》

     论文阅读:Face Recognition: From Traditional to Deep Learning Methods  <人脸识别综述:从传统方法到深度学习>     一.引 ...

  6. 【论文阅读】Learning Dual Convolutional Neural Networks for Low-Level Vision

    论文阅读([CVPR2018]Jinshan Pan - Learning Dual Convolutional Neural Networks for Low-Level Vision) 本文针对低 ...

  7. [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks

    [论文阅读笔记] metapath2vec: Scalable Representation Learning for Heterogeneous Networks 本文结构 解决问题 主要贡献 算法 ...

  8. [论文阅读笔记] node2vec Scalable Feature Learning for Networks

    [论文阅读笔记] node2vec:Scalable Feature Learning for Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问题 由于DeepWal ...

  9. [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks

    [论文阅读笔记] Adversarial Learning on Heterogeneous Information Networks 本文结构 解决问题 主要贡献 算法原理 参考文献 (1) 解决问 ...

随机推荐

  1. java8新特性(三)_Optional类的使用

    说实话,我第一次知道这个东西是从阿里规约中,因为公司前一段时间一直在搞代码审核,我的代码写的就感觉很烂,就像规范下.让别人看起来没那么烂.于是就开始看阿里规约,在看到NPE处理的时候,上面提到用Opt ...

  2. springMVC下出现http 400错误

    参数绑定过程中类型转换失败 Failed to convert property value of type 'java.lang.String' to required type 'java.uti ...

  3. ef 更新数据库

    //一:数据库不存在时重新创建数据库 Database.SetInitializer<testContext>(new CreateDatabaseIfNotExists<testC ...

  4. 【BZOJ1083】[SCOI2005]繁忙的都市(最小生成树)

    [BZOJ1083][SCOI2005]繁忙的都市(最小生成树) 题面 BZOJ 洛谷 题解 模板题. #include<iostream> #include<cstdio> ...

  5. 五、spring boot 1.5.4 集成 jpa+hibernate+jdbcTemplate

    1.pom添加依赖 <!-- spring data jpa,会注入tomcat jdbc pool/hibernate等 --> <dependency> <group ...

  6. 【CF580C】Kefa and Park

    题目大意:给定一棵 N 个节点的有根树(其中根节点始终为 1 号节点),点有点权,点权只有 1 和 0 两种,求从根节点到叶子节点的路径中,有多少条路径满足:路径上最大连续点权为 1 的节点个数不超过 ...

  7. 口琴练习部分 - 多孔单音奏法 & 简单伴奏

     多孔单音奏法(口含5个孔) 加入伴奏 理论知识 - 盖住 理论知识 - 松开 舌头一抬一合形成一个伴奏 高级一点的伴奏练习 正拍伴奏: 当要吹吸某一个音时,舌头先离开琴格,然后迅速盖上.

  8. OpenStack 镜像服务 Glance部署(六)

    Glance介绍 创建虚拟机我们需要有glance的支持,因为glance是提供镜像的服务. Glance有两个比较重要的服务: Glance-api:接受云系统镜像的构建.删除.读取请求 Glanc ...

  9. C语言扫盲篇

    C语言扫盲篇 作者:尹正杰 版权声明:本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接. 一.什么是C语言 C 语言是一种通用的高级语言,最初是由 ...

  10. *p++、(*p)++、*++p、++*p 的区别

    int a[5]={1,2,3,4,5};int *p = a; *p++ 先取指针p指向的值(数组第一个元素1),再将指针p自增1: cout << *p++; // 结果为 1 cou ...