2022年在AAAI上发表的一篇使用点监督的弱监督显著目标检测论文
论文原文
代码地址

文章目录

  • 摘要
  • 一、创新点
  • 二、方法
    • 1.Adaptive Flood Filling
    • 2.Non-Salient object Suppression (NSS)
    • 3.Network Details(网络详情)
      • Transformer part
      • Edge-preserving Decoder(边缘保留解码器)
      • Loss Function
  • 三、实验

摘要

目前最先进的显著性检测模型严重依赖于精确的像素级注释的大型数据集,这花费了大量的准备时间。而一些弱监督的方法可以来缓解这一问题,如图像标签、边界框标签和涂鸦标签,但点标签还没有在这个领域中被探索。在本文中,我们通过重新标记DUTS数据集,从而提出了一个新的点监督数据集(P-DUTS)。在P-DUTS中,每个显著对象只有一个标记点。为了推断显著图,我们首先设计了一种自适应掩蔽泛洪填充算法来生成伪标签。然后设计了一个基于transformer的点监督显著性检测模型,生成第一轮显著图。然而,我们发现,由于标签的稀疏性,弱监督模型往往会退化为一般的前景检测模型。为了解决这个问题,我们提出了一种非显著性抑制(NSS)方法来优化第一轮生成的错误显著图,并利用它们进行第二轮的训练。在五个最大的基准数据集上进行的综合实验表明,我们的方法优于以前受过更强监督训练的最先进的方法,甚至超过了几个完全监督的最先进的模型。代码是可用的。


一、创新点

  • 我们提出了一种新的弱监督显著目标检测框架,该方法通过点注释学习检测显著目标,并引入了一种新的基于点的显著性数据集P-DUTS。
  • 我们发现了弱监督显著性检测模型的退化问题,并提出了非显著性对象抑制(NSS)方法来显式地过滤掉非显著性但被检测到的对象。
  • 我们设计了一个基于transformer的点监督显著目标检测模型,该模型与我们设计的自适应泛洪填充合作,不仅优于现有的弱监督方法和更强的监督,甚至超过了许多完全监督方法。

二、方法

1.Adaptive Flood Filling

对于常用的弱监督密集预测任务,首先采用生成伪标签,然后使用伪标签进行网络训练的方法。由于稀疏标签只覆盖了物体区域的一小部分,这限制了模型感知物体结构的能力,(Zhang et al. 2020)利用边缘检测器(Liu et al. 2017)生成边缘来监督模型的训练间接地补充结构。与它们不同的是,我们直接使用边缘来进行泛洪填充。泛洪填充从一个起始节点开始,搜索其邻域(4或8),并提取连接到它的附近节点,直到封闭区域中的所有节点都被处理完毕(算法1)。它是从一个区域中提取几个连接的点,或将它们与其他相邻的区域分开。但是,由于边缘检测器产生的边缘通常是不连续和模糊的(图2的顶部),直接应用于泛洪填充可能会导致整个图像被填充。因此,我们设计了一个自适应掩模,一个半径随图像大小变化的圆来缓解这一问题。具体来说,半径r被定义为

其中I为输入图像,r (I)为输入图像I对应的掩模半径。hI和wI分别表示输入图像的长度和宽度。γ表示超参数。
标记的实体图可以表示为: S = {Sb、Sif |i = 1、···、N},其中Sb和Sif分别表示背景像素和第i个标记的显著目标的位置坐标。然后,这些圆掩模的集合可以定义为MrS (I) = Cr (I) S1f∪···∪Cr(I)SNf∪Cr(I)Sb,其中C表示以下角为中心,以上角为半径的圆。与(Zhang et al. 2020)相似,我们还使用边缘检测器(Liu et al. 2017)检测图像的边缘: E (I),其中E(·)表示边缘检测器,I表示输入图像,E表示生成的边缘。

算法1即为泛洪填充算法,采用4邻域泛洪的方式。
4邻域泛洪:寻找像素点(x, y)的上下左右四个临近像素点,如果没有被填充,则填充它们,并且继续寻找它们的四邻域像素,直到封闭区域完全被新颜色填充。

参考原文:OpenCV4 详解《图像分割之泛洪填充算法(Flood Fill Algorithm)》

我们使用e和MrS (I)的并集,E (I)∪MrS (I),将图像I划分为多个连接的区域。

其中F (I)表示应用泛洪填充后获得的连通区域(图2底部)。

2.Non-Salient object Suppression (NSS)

我们观察到,由于弱监督标签的稀疏性,监督信号只能覆盖图像的一小部分区域,导致模型只学习突出学习到的对象,而忽略当前场景中不应该突出的对象(图4(a)中的红框)。

为了抑制非显著目标,我们提出了一种简单而有效的方法,即利用监督信号提供的位置线索,填充生成的位置信号突出显示的对象,以抑制非突出显示的对象。并且得到的显著的目标区域(图3(b)中的红色区域。)可以通过下列方式获得:

其中F(·)表示泛洪填充,S−Sb = {Sif |i = 1,…,N}表示减法,P1st表示第一轮训练后生成的伪标记,由密集CRF细化(Kr¨ahenb¨uhl and Koltun 2011)。
由于我们在第一轮训练中只为显著目标提供了内部局部标签,这可能导致模型无法准确区分边缘,因此我们对核大小为10的Pf进行展开操作。扩展区域为不确定区域(图3(b)中的黑色区域),其余区域为背景区域(图3(b)中的绿色区域)。这被记为P2nd,作为第二轮训练的标签。
如图4中的测试示例所示,由于标签的稀疏性,模型往往会检测到非显著性目标。事实上,该模型会退化为一个能够检测先前学习到的对象的模型。通过再次使用来自监督点的位置线索,我们可以利用NSS成功地抑制非显著性目标。

3.Network Details(网络详情)

稀疏标记显著性检测的困难在于该模型只能获得局部地面真实标签,缺乏对全局信息的指导。我们认为,通过已标记位置和未标记位置之间的相似性来建立它们之间的联系,以获得未标记区域的显著性值,可以显著缓解这一问题。考虑到vision transformer(ViT)基于相似性的本质(多索维茨基等人,2020年),我们利用 hyper ViT(即“ResNet-50+ViT-base”)作为我们的网络骨干来提取特征并计算自相似度。

Transformer part

具体来说,对于大小为3×H×W的输入图像,CNN嵌入部分生成C×H /16×H/16特征图。ResNet- 50的多阶段特征记为R = {Ri|i = 1,2、3、4,5}。然后,Transformer编码器以C×H/16×H/16的位置嵌入和C×H/16×H/16的扁平特征的总和作为输入。经过12层自注意层后,transformer编码器部分输出特征的C×H/16×H/16。

Edge-preserving Decoder(边缘保留解码器)

边缘保留解码器由两个组件组成,一个显著性解码器和一个近似边缘检测器(见图2)。显著性解码器是四层级联卷积层,其中每一层都是批归一化(BN)层、ReLU激活层和上采样层,它们以Transformer编码器的特征作为输入。我们将每一层显著性解码器的相应特征表示为D = {Di|i = 1,2,3,4}。
对于后一部分,由于弱注释缺乏结构和细节,我们设计了一个边缘解码器流作为近似边缘检测器来生成结构,并通过使用由真实边缘检测器生成的边来约束输出,以此克服弱标签的缺点。具体来说,近似边缘检测器的输出可以表示为fe = σ(cat(R3,D2)),其中σ表示一个单一的3×3卷积层,然后是BN和ReLU层。通过在fe之后添加3×3凸层得到边缘映射e,然后由真实边缘检测器生成的边缘映射进行约束。然后,通过将fe与D3、cat(fe、D3)合并,并通过以下两个卷积层,得到多通道特征fs。与e类似,最终的单通道图也可以以同样的方式获得。

Loss Function

在我们的网络中,采用了二元交叉熵损失、部分交叉熵损失(Tang等人2018年)和门控CRF损失(Yu等人2021年;Obukhov等人2019年)。对于保边解码器流,我们使用二元交叉熵损失来约束e:

其中y为真实图,e表示边缘映射,r和c表示图像的行坐标和列坐标。对于显著性解码器流,采用了部分交叉熵损失和门控CRF损耗。部分二元交叉熵损失只关注确定区域,而忽略不确定区域:

其中J表示标记区域,g表示真实图,s表示预测的显著图。
为了学习更好的目标结构和边缘,遵循(Yu et al. 2021),在我们的损失函数中使用了门控CRF:

其中Ki为像素i的周围k × k的核所覆盖的区域,d(i, j)定义为:

其中si和sj为位置i和j处s的显著性值,|·|表示L1距离。f (i、j)为高斯核带宽滤波器:

其中1/w为归一化的权值,I(·)和PT(·)为像素的RGB值和像素的位置,σP T和σI为控制高斯核尺度的超参数。所以总损失函数可以定义为:

其中,α1,α2,α3是权重。在我们的实验中,它们都被设置为1。

三、实验


超参数 γ的影响:

γ=5时效果最好

【弱监督显著目标检测论文】Weakly-Supervised Salient Object Detection Using Point Supervison相关推荐

  1. 【弱监督显著目标检测论文】Weakly-Supervised Salient Object Detection via Scribble Annotations

    2020年发表在CVPR上的一篇使用涂鸦注释的弱监督显著目标检测论文 论文原文 代码地址 文章目录 摘要 一.创新点 二.Related Work 1.Learning Saliency from W ...

  2. 【论文阅读】【弱监督-3D目标检测】Weakly Supervised 3D Object Detection from Point Clouds

    前言 ACM MM 2020录用的一篇文章.不使用任何真实的3D框来进行训练.通过采用归一化的点云密度来生成目标候选框.不过性能一般,算是第一个吃螃蟹的人 MIT和微软合作的论文,模型简称为VS3D ...

  3. [论文阅读] Structure-Consistent Weakly Supervised Salient Object Detection with Local Saliency Coherence

    论文地址:https://ojs.aaai.org/index.php/AAAI/article/view/16434 代码:http://github.com/siyueyu/SCWSSOD 发表于 ...

  4. 【开放域目标检测】一:Open-Vocabulary Object Detection Using Captions论文讲解

    出发点是制定一种更加通用的目标检测问题,目的是借助于大量的image-caption数据来覆盖更多的object concept,使得object detection不再受限于带标注数据的少数类别,从 ...

  5. 目标检测-Oriented RepPoints for Aerial Object Detection(CVPR 2022)

    目标检测-Oriented RepPoints for Aerial Object Detection(CVPR 2022) 论文地址:Oriented RepPoints for Aerial Ob ...

  6. Deeply supervised salient object detection with short connections 论文复现

    DSS Model论文复现 <Deeply supervised salient object detection with short connections>这篇文章是南开大学程明明教 ...

  7. 论文阅读:Salient Object Detection: A Benchmark

    论文阅读:Salient Object Detection: A Benchmark 南开大学的显著性检测benchmark 链接:http://mmcheng.net/zh/salobjbenchm ...

  8. [论文阅读] Boosting Salient Object Detection with Transformer-based Asymmetric Bilateral U-Net

    论文地址:https://arxiv.org/abs/2108.07851 发表于:Arxiv 2021.08 Abstract 现有的显著目标检测(SOD)方法主要依靠基于CNN的U型结构,通过跨层 ...

  9. 论文翻译《Salient object detection: A survey》

    传统的方法: 可大致分为三类:基于block和intrinsic cues的模型.基于region和intrinsic cues的模型.基于extrinsic cues的模型(包括block和regi ...

最新文章

  1. 【学习笔记】和式(《具体数学》第二章)
  2. 关于未来的10点核心思考
  3. linux中流设备_Linux设备驱动子系统终极弹
  4. PHP高手如何修炼?
  5. 老手机能升级华为鸿蒙,华为正式发布鸿蒙2.0!实现手机、平板等多平台共用一套代码!...
  6. Oracle RAC 客户端连接负载均衡(Load Balance)
  7. [转]JavaScript var obj = { id:1, name:jacky } 大括号是啥意思?
  8. SQLyog笔记-CURRENT_TIMESTAMP在SQLyog的配置
  9. VS2010 转VS2008
  10. shell 脚本空行造成 :not found make.sh:
  11. Django Model View Template 之间的简单交互 (二)
  12. SQL Server数据库有关语法
  13. 最小生成树----kruskal算法代码
  14. python collections模块(队列)
  15. 【百度网盘】电脑版百度网盘二维码无法加载的问题
  16. 【vue】基于element UI周控件实现的单选周和多选周
  17. JavaScript实现Sleep效果
  18. Cass10.1独立地物简码识别功能
  19. 批量删除数码照片或手机中的相机参数和个人隐私信息
  20. 客户体验和客户服务的区别

热门文章

  1. Java架构师Day02-源码分析之Spring5
  2. 两个有序顺序表的合并
  3. matlab:画正方体框
  4. java 画正方体直观图_画棱长为2cm的正方体的直观图。
  5. Python--从基础到面向对象全过程笔记
  6. python中h5文件和pt文件
  7. pyinstaller 打包py文件 以及字体、图片等资源的引用
  8. java合并word_[转载]java合并word文件
  9. Telnet协议详解及使用C# 用Socket 编程来实现Telnet协议
  10. 请编写CBank类,完成单利和单复利差额的计算