论文阅读-《Semantic Segmentation with Reverse Attention》

2023-05-16

BMVC 2017 oral
code: https://drive.google.com/drive/folders/0By2w_A-aM8Rzbllnc3JCQjhHYnM

1.Motivation

作者这篇文章的主要目的是为了提高semantic segmentation的网络对于confusion area的预测能力。所谓的confusion area,指的是最终预测的score map上熵值比较大的区域,在这些区域,网络对某些类别的预测概率都差不多大,比如对于图中猫和狗重合部分的区域就容易出现confusion

作者对FCN的预测过程进行了分析来验证自己的观点
r1
下面这行表示FCN的,包括前面的提取特征的网络以及后面用来预测的网络。右下角表示最终预测的结果,圆形区域内部就是猫狗重合部分的区域,也就是confusion area。

一方面,从最终预测的score map上,我们可以看到狗和猫对应的score map在圆形区域的激活值都比较大,

另一方面,从前面的特征图上,我们可以统计Conv5的各个卷积核对猫和狗的归一化的激活值,可以看到,除了只对猫和只对狗激活值比较大的filter之外,还有一些对猫和狗的激活值都很大的filter,这些filter对之后的预测是没有帮助的。

作者的观点是,FCN只是被训练来预测某个pixel属于各个类别的概率,对于那些confusion area,如果我能够训练一个网络来预测得到这个区域不属于猫的概率比不属于狗的概率更大,那么结合一下就可以得到这个区域应该预测成狗。所以作者构建了一个reverse learning process,来预测pixel不属于各个类别的概率,也就是Reverse Attention Network(RAN)

2.Proposed RAN System

r2
整体的框架如上图所示,主要分成三个branch
第一个branch,也就是original branch,学习的是pixel属于各个类别的概率分布;
第二个branch,也就是reverse branch,学习的是pixel不属于各个类别的概率分布;
第三个branch,也就是reverse attention branch,学习的是第一二个branch预测的map之间结合的权重。

最终用来预测的是经过attention branch输出的combined prediction,剩下的两个分支,也分别进行上采样进行预测,然后进行监督训练。

这里讲一下为什么需要第三个分支,也就是reverse attention branch:
一种naive的结合original prediction和reverse prediction的方法就是直接相减,但是这样有个问题就是reverse learning的效果可能没有original learning的好,我们期望的是在original learning结果的confusion area上引入reverse learning的预测结果,因此需要引入一个attention的机制,将reverse learning的结果引入confusion的区域。

attention branch的一种简单的写法如下所示:
r3
这个branch模块的效果是,对于正的比较大的response,我不考虑它的rever prediction,对于response很小的unit,我才考虑它的reverse prediction

比如对于输入的feature map上的某个位置,如果激活值是(-1,-1,-1,+1,-1,-1)这种,那么+1.4对应的reverse prediction的权重就很小,最后的结果就取决于original prediction。
对于输入的feature map上的某个位置,如果激活值是(-1,-1,-1,+1,+1,-1)这种,那么两个+1,靠original prediction就没办法区分了,这个时候就靠reverse prediction了。

作者也试验了不同形式的attention branch,下面这种是normalized形式
r4

3.Experiments

r5
r6
作者在好几个数据集上做了实验,这里只列举其中的一个。可以看到,reverse learning能够纠正一些confusion area的错误,让预测变得更加连续和uniform

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

论文阅读-《Semantic Segmentation with Reverse Attention》 的相关文章

  • 来自一位女程序员8年的总结。

    8年了 xff0c 从来没有像今天说总结这一下 我认为这是我的一个进步吧 8年 xff0c 包括上北大青鸟培训的2年 xff0c 然后6年的工作 xff0c 换了很多家公司 有个人原因也有公司原因 先说一下培训的那2年 xff0c 我们学习

随机推荐

  • PX4无人机仿真_Gazebo(1)

    搭建Gazebo仿真环境 看了网上很多教程发现教程太分散了 xff0c 各个PC在配置环境前的情况不一样导致有很多bug也不一样 于是小编下定决心整理一次 xff01 若我的bug恰好也是你的bug xff0c 小编不胜荣幸 xff01 首
  • 敏捷开发快速入门(四):Scrum开发流程

    文章目录 Scrum概述Scrum中三个角色Product Owner xff08 产品负责人 xff09 职责Scrum Master xff08 教练 xff09 职责Scrum Team xff08 开发团队 xff09 职责 Scr
  • ubuntu20安装

    文章目录 前言一 ubuntu20 安装二 手动安装和分区1 必须选择自己创建2 第一种分区方式3 第二种分区方式 三 VmTools安装1 遇到不能粘贴的问题2 不能共享的问题 四 环境安装1 更新源2 install必须环境3 谷歌浏览
  • git出现Permission denied的解决办法

    git出现Permission denied的解决办法 问题描述 1 xff0c 在 master 分支的基础下创建了一个新的分支 log xff0c 并且在新的分支上 添加了两个新的文件 file1 和 file2 xff0c 然后对修改
  • 内环功控和外环功控的区别

    首先搞清楚内环功控和外环功控的区别 xff1a 内环功控 xff1a 根据接收到的SIR值来调整发射功率 xff0c 如果接收到的SIR值 gt 目标SIR值 xff0c 则通知对等层将空口上的发射功率下调一个步长 xff0c 如果相反 x
  • maven常用总结

    maven常用总结 1 常用的maven命令2 坐标定义3 pom基本配置 1 常用的maven命令 常用 的maven命令包括 xff1a compile xff1a 编译 clean xff1a 清理 test xff1a 测试 pac
  • docker之apt-get update解决方法

    问题 使用docker生成容器后 xff0c 进入容器后 xff0c 提供的指令很少 xff0c 使用apt get组件进行扩展 xff0c 但是会遇到apt get update有时会失败的问题 参考 创建好docker后不能apt ge
  • Nvidia xavier NX通过flash.sh烧录linux系统

    1 环境搭建 搭建 Jetson 系列产品烧录系统的环境需要在电脑主机上安装 Ubuntu 系统 安装的 Ubuntu 系统版本为 18 04 LTS xff0c 自行安装即可 xff0c 参考官方文档 xff1a Flashing Sup
  • ubuntu安装ssh以及开启root用户ssh登录

    一般Ubuntu都会默认安装openssh client 但是没有安装openssh server 一 安装ssh sudo apt install openssh client sudo apt install openssh serve
  • HJ28 素数伴侣(二分图最大匹配)

    https www nowcoder com practice b9eae162e02f4f928eac37d7699b352e tpId 61 37 amp amp tqId 61 21251 amp rp 61 1 amp ru 61
  • 【C++】Eigen介绍与使用 —— 4

    一 Eigen介绍 Eigen是可以用来进行线性代数 矩阵 向量操作等运算的C 43 43 库 xff0c 它里面包含了很多算法 它的License是MPL2 它支持多平台 Eigen采用源码的方式提供给用户使用 xff0c 在使用时只需要
  • Prometheus 入门与实践

    随着容器技术的迅速发展 xff0c Kubernetes 已然成为大家追捧的容器集群管理系统 Prometheus 作为生态圈 Cloud Native Computing Foundation xff08 简称 xff1a CNCF xf
  • 找工作笔试面试那些事儿(1)---C,C++基础和编程风格(1)

    作者 xff1a 寒小阳 时间 xff1a 2013年8月 出处 xff1a http blog csdn net han xiaoyang article details 10473845 声明 xff1a 版权所有 xff0c 转载请注
  • Latex正文中插入罗马数字

    1 问题描述 在用latex写论文的时候 xff0c 有的时候需要在正文里面插入罗马数字 2 解决方法 目前找到一种还算方便的解决办法 xff0c 在正文中插入如下代码 xff1a newcommand RNum 1 uppercase e
  • Opencv error unspecified error incorrect element name operator <<

    1 问题描述 今天在用opencv的FileStorage类进行xml文件读写操作的时候报了个错 源代码如下所示 xff1a include lt opencv2 opencv hpp gt include lt vector gt inc
  • PCA(主成成分分析)和LDA(线性判别分析)详解-共性和区别

    注 xff1a 这里说的LDA实际上讲的是Fisher linear discriminant analysis 在machine learning领域 xff0c PCA和LDA都可以看成是数据降维的一种方式 但是PCA是unsuperv
  • 【嵌入式】按键控制 LED

    嵌入式 按键控制 LED 1 操作内容 2 原理解释 2 1 实验箱按键电路 2 2 实验箱LED电路 2 3 寄存器说明 3 操作步骤 3 1 编写键控制 3 2 安装 USB 驱动 3 2 使用 DNW 软件下载裸机程序至 SRAM 中
  • Latex转word

    1 问题描述 最近做毕设的时候本来论文都已经在latex里面写好了 xff0c 但是学院要求用word格式 不想把自己latex写好的公式再打一遍 xff0c 而且word写公式很麻烦 xff0c 有的latex里面的符号word自带的公式
  • ubuntu系统备份与恢复-remastersys方法

    对于刚入门ubuntu的人来说 xff0c 配置各种各样环境的过程中往往会把系统装崩溃 每次都重新安装ubuntu看起来非常麻烦 xff0c 一个好的办法就是把我们某个阶段配置好环境的ubuntu做个备份 xff0c 然后万一系统崩溃了 x
  • 论文阅读-《Semantic Segmentation with Reverse Attention》

    BMVC 2017 oral code https drive google com drive folders 0By2w A aM8Rzbllnc3JCQjhHYnM 1 Motivation 作者这篇文章的主要目的是为了提高seman