[论文阅读] Unifying Global-Local Representations in Salient Object Detection with Transformer
论文地址:https://arxiv.org/abs/2108.02759
代码:https://github.com/OliverRensu/GLSTR
发表于:Arxiv 2021.08
Abstract
全卷积网络(FCN)在很长一段时间内一直主导着显著目标检测。然而,CNN的局部性要求模型足够深,以拥有一个全局的感受野,而这样一个深的模型总是会导致局部细节的丢失。在本文中,我们将一个新的基于注意力的编码器–vision transformer引入到显著目标检测中,以确保从浅层到深层表征的全局化。由于在浅层中就能具有全局性,transformer编码器保留了更多的局部特征,以恢复最终显著图中的空间细节。此外,由于每一层都能捕捉到其上一层的全局视图,相邻层可以隐含地将表征差异最大化,并将冗余特征最小化,使得transformer层的每一个输出特征都能为最终预测做出独特的贡献。为了对transformer的特征进行解码,我们提出了一个简单而有效的深度转换解码器(deeply-transformed decoder)。该解码器对transformer的特征进行密集解码和上采样,生成最终的显著图,并减少噪声注入。实验结果表明,我们的方法在五项基准测试中明显优于其他基于FCN和基于transformer的方法,在平均绝对误差(MAE)方面平均提高了12.17%。代码将在https://github.com/OliverRensu/GLSTR公开。
I. Motivation
CNN本身是一种"局部"的模型,因此如果想获得全局表征,就需要对卷积层进行堆叠,以获得更大的感受野,但是这样就会损失局部细节,即全局表征与局部细节难以兼得。因此,本文的想法是,有没有办法在每一层都能同时学习全局特征与局部特征。
II. Network Architecture
本文所提出的GLSTR(Global-Local Saliency TRansfromer)网络结构如下所示:
不过本文似乎没有提所用的transformer backbone是哪个(疑似ViT)。接下来,我们将讨论几种可能的transformer decoder实现。
III. Naive Decoder
naive decoder就是下面这个东西:
这里的Transformer Layer 12th 指的是Encoder中的最后一个transformer层。也就是说,既然要预测saliency map,就首先将transformer得到的token seq给reshape为feature map的形式,然后走三个Conv-Bn-Relu进行特征的处理,再上采样回原尺寸(16x),最后接一个分类层(原文此处可能表述有误,应该不是分类层)。形式化地表述如下:Z=Up(CBR(F12′;θz);16)S′=σ(Conv(Z;θs))\begin{gathered} Z=U p\left(C B R\left(F_{12}^{\prime} ; \theta_{z}\right) ; 16\right) \\ S^{\prime}=\sigma\left(\operatorname{Conv}\left(Z ; \theta_{s}\right)\right) \end{gathered} Z=Up(CBR(F12′;θz);16)S′=σ(Conv(Z;θs))
其中,CBR表示Conv+BN+Relu,Up(x, s)表示对x使用双线性上采样s倍,σ\sigmaσ为sigmoid函数,S’为预测显著图。
个人认为这个decoder过于naive了,哪怕是基于CNN的方法也不会直接上采样16倍去拿结果,空间细节会基本丢没。不过,文中放个这玩意的目的似乎是为了证明不是说Transformer随便插个decoder进去效果都能很好。
IV. Stage-by-Stage Decoder
这个东西就是CNN里用的非常多的decoder,每次经过若干个Conv,然后上采样2x(这里图似乎画的有点问题),逐步上采样回原始尺寸。形式化定义如下:Z0=CBR(F12′;θ0)Zi=CBR(Up(Zi−1;2);θi)S′=σ(Conv(Z4;θs))\begin{aligned} Z_{0} &=C B R\left(F_{12}^{\prime} ; \theta_{0}\right) \\ Z_{i} &=C B R\left(U p\left(Z_{i-1} ; 2\right) ; \theta_{i}\right) \\ S^{\prime} &=\sigma\left(\operatorname{Conv}\left(Z_{4} ; \theta_{s}\right)\right) \end{aligned} Z0ZiS′=CBR(F12′;θ0)=CBR(Up(Zi−1;2);θi)=σ(Conv(Z4;θs))
V. Multi-Level Feature Aggregation
这个东西单纯是文[1]提出的,其结构如下所示:
可以发现是一种金字塔结构…在CNN SOD中也是讨论的比较多的(实际上这也确实是一个卷积金字塔)。
VI. Deeply-Transformed Decoder
这个东西就是本文提出来的decoder,如下所示:
对于三层不同的Encoder Transformer Block,首先分别对其进行8x,4x,2x的上采样至同一尺寸,这里的上采样用的是pixel shuffle & bilinear upsampling。形式化的定义如下:Zi,j={CBR(Zi,j−1⊕Up(Fi∗4+j′;2i);θi,j)j=1,2,3CBR(Up(Zi−1,j;2)⊕Up(Fi∗4+j′;2i);θi,j)j=4Z_{i, j}=\left\{\begin{array}{l} C B R\left(Z_{i, j-1} \oplus U p\left(F_{i * 4+j}^{\prime} ; 2^{i}\right) ; \theta_{i, j}\right) \quad j=1,2,3 \\ C B R\left(U p\left(Z_{i-1, j} ; 2\right) \oplus U p\left(F_{i * 4+j}^{\prime} ; 2^{i}\right) ; \theta_{i, j}\right) \quad j=4 \end{array}\right. Zi,j={CBR(Zi,j−1⊕Up(Fi∗4+j′;2i);θi,j)j=1,2,3CBR(Up(Zi−1,j;2)⊕Up(Fi∗4+j′;2i);θi,j)j=4 Si,j′=σ(Conv(Up(Zi,j;2);θsi,j))S_{i, j}^{\prime}=\sigma\left(\operatorname{Conv}\left(U p\left(Z_{i, j} ; 2\right) ; \theta_{s_{i, j}}\right)\right) Si,j′=σ(Conv(Up(Zi,j;2);θsi,j))
VII. Experiment
input 384×384
optimizer SGD
momentum 0.9
weight decay 0.0005
learing rate 0.001 ~ 1e-5
batch size 8
max epoch 40
data augmentation vertical & horizontal flipping
VIII. Summary
单纯从内容的角度讲…本文大体上只提出了一个decoder,大概占文中四分之一页不到…不过胜在结果好看。
Ref
[1] Sixiao Zheng, Jiachen Lu, Hengshuang Zhao, Xiatian Zhu, Zekun Luo, Yabiao Wang, Yanwei Fu, Jianfeng Feng, Tao
Xiang, Philip HS Torr, et al. Rethinking semantic segmentation from a sequence-to-sequence perspective with transformers. arXiv preprint arXiv:2012.15840, 2020. 3, 4, 5, 7, 8
[论文阅读] Unifying Global-Local Representations in Salient Object Detection with Transformer相关推荐
- [论文阅读] AMPNet: Average- and Max-Pool Networks for Salient Object Detection
论文地址:https://dx.doi.org/10.1109/TCSVT.2021.3054471 发表于:TCSVT 2021 Abstract 显著目标检测的任务是检测图像中最具视觉特色的物体. ...
- [论文阅读] Cross-layer feature pyramid network for salient object detection
论文地址:https://dx.doi.org/10.1109/TIP.2021.3072811 发表于:TIP 2021 Abstract 基于特征金字塔(FPN)的模型,以渐进的方式融合语义与显著 ...
- 论文阅读:Spatial context-aware network for salient object detection
论文地址:https://doi.org/10.1016/j.patcog.2021.107867 发表于:PR 2021 Abstract 显著目标检测(SOD)是计算机视觉领域的一个基本问题.本文 ...
- 论文阅读:Pyramidal Feature Shrinking for Salient Object Detection
论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/16331 发表于:AAAI 2021 I. Intro 这个网络是用来做显著目标检测的 核 ...
- 自监督论文阅读笔记 Self-Supervised Pretraining for RGB-D Salient Object Detection
现有的基于 CNN 的 RGB-D 显著对象检测 (SOD) 网络都需要在 ImageNet 上进行预训练,以学习有助于提供良好初始化的层次特征.然而,大规模数据集的收集和注释既耗时又昂贵.在本文中, ...
- 【论文笔记】Multi-Content Complementation Network for Salient Object Detection in Optical RSI
论文 论文:Multi-Content Complementation Network for Salient Object Detection in Optical Remote Sensing I ...
- 论文阅读:RepPoints: Point Set Representation for Object Detection
文章目录 1.论文总述 2.Bounding boxes for the object detection流行的2个原因和它的缺点 3.为什么 the deformable convolution a ...
- 目标检测论文阅读:Multi-scale Location-aware Kernel Representation for Object Detection(CVPR2018)
Multi-scale Location-aware Kernel Representation for Object Detection 论文链接:https://arxiv.org/abs/180 ...
- 笔记:论文阅读 Enriched Feature Guided Refinement Network for Object Detection
面向目标检测的丰富特征引导细化网络 摘要 提出一个单阶段检测框架,该框架解决了多尺度目标检测和类不平衡的问题. 没有设计更深层网络,而是引入一种简单而有效的特征丰富化方案来生成多尺度的上下文特征. 进 ...
最新文章
- not exists 跟not in 纪念一下
- [转载] 晓说——第18期:古代科举考试那些事——招生
- java 判断时间合法_java 中 Date 类型快判断日期是否合法.
- markdown一边写一边预览_markdown文章编辑利器-基础篇
- ASP.NET Core Razor 页面使用教程
- canvas图形编辑器
- 再谈全局网HBase八大应用场景
- TIJ摘要:访问控制权限
- 进程管理程序java,运维经验分享(四)--关于 java进程管理的服务控制脚本编程思路分析...
- 关于JVM中YGC的来龙去脉
- c# 与 c++ 界面同框终极技巧
- 20200331:每日温度(leetcode739)
- Winform界面中实现通用工具栏按钮的事件处理
- java integer集合排序_Java集合中List的Sort()方法进行排序
- python聊天室详细教程_python编写简易聊天室实现局域网内聊天功能
- 白帽黑客郭盛华:供应链枢纽需要从网络安全开始
- 麦克风阵列概述与波束形成—(1) 麦克风阵列概述
- Windows平台下 C++注册表项重命名实现
- 人脸识别方案(包含tcp ,http,socket 三者的区别)
- AD16及AD18鼠标移动到网络后自动高亮设置
热门文章
- mysql丢失一条事务_SpringBoot之MySQL数据的丢失的元凶--事务(转)
- python封装:隐藏对象中的属性或方法(三分钟读懂)
- git安装 perl ubuntu_Ubuntu系统上安装Git
- 计算机科学与技术专业实训手册,计算机科学与技术专业实习计划
- Markdown中插入图片及图注
- 《深度学习笔记》——训练加速篇
- ThreadLocal类学习笔记
- 【Qt教程】1.7 - Qt5带参数的信号、信号重载、带参数的槽函数、槽函数重载
- 【MySql】100问
- 【map分组求和】map集合根据某一key分组,再对某一key对应的所有值求和