视觉显著性旨在模仿人类视觉系统选择视觉场景的某个子集的能力。而显著性物体检测(SOD)则侧重于检测场景中吸引最多注意力的物体,然后逐像素的提取物体的轮廓。SOD的优点在于它在许多计算机视觉任务中均有广泛的应用,包括:视觉跟踪,图像检索,计算机图形学,内容感知的图像裁剪和弱监督语义分割。

现有的SOD数据集在数据收集的过程或数据质量方面存在缺陷。大多数数据假设图像包含至少一个显著物体,丢弃了不包含显著物体的图像,称为数据选择偏差。现有数据集主要包含具有单个物体的图像或处于低杂乱环境中的多个物体(通常是人)。这些数据集不能充分反映现实世界中图像的复杂性,在现实世界中,场景通常包含多个杂乱的物体。这样导致的结果便是在现有数据集上训练的表现最佳的模型几乎已经可以使性能达到饱和(例如,在大多数据集上,F-measure>0.9)但它们在现实场景上的表现却无法令人满意。这是因为在之前的数据集上训练出来的模型更加偏向较为理想的场景,所以一旦它们应用于现实世界中的场景时,其有效性可能会受到极大削弱。因此,为了解决此问题,有必要构建更接近实际条件的数据集。

在现在的数据集上只能分析模型的整体性能,这些数据集都缺乏反映现实场景中所面临的挑战的各种属性。

  • 显著性检测历史
  • 显著性检测数据集

Cascaded Partial Decoder for Fast and Accurate Salient Object Detection(2019)

paper

Cascaded Partial Decoder for Fast and Accurate Salient Object Detection

亮点

  • 速度快

    • 后续计算只利用了编码器的后三个卷积块的输出特征,没有使用前两个尺寸和计算消耗都比较大的卷积,与初始注意力图相比,所提出的整体注意力机制几乎不会增加计算成本,并进一步突出了整个显著对象。
    • 在每个分支都使用1x1卷积将通道降维到32,并使用了skip连接。
  • 精度高
    • 结构的有效性,双分支结构,一路生成初始显著性图,一路生成更高质量的显著性图,前者用来细化后者的特征信息,抑制干扰信息。
    • 使用整体注意力模块(holistic attention module),扩大初始显著图的覆盖范围
    • Decoder中使用改进的RFB模块,多尺度感受野,有效编码上下文
    • 两个分支中都使用了多尺度的特征,来自不同的层级

code
CPD

网络结构


现有的优秀的显著性目标检测网络主要依赖于集成来自预训练网络的多级特征,但是相比高级特征:

  • 低级特征实际上对于深度集成模型的性能贡献较少。
    例如原始的DSS模型在Pascal-S数据集六个输出的maxF的值,并且也计算了六个输出的推理时间。可以看出,最靠前的特征对于性能的增益减少,而其推理时间却增长的很大。
  • 低级特征集成到高级特征上,会增大计算消耗,因为它们空间分辨率比较大。
    随着网络加深,特征逐渐从低级表示演化为高级表示。因此,当仅集成更深层的特征时,深度聚合模型可以恢复显著性图的空间细节。在下图VGG16的多级特征图中,与Conv1_2和Conv2_2的低级特征相比,Conv3_3的特征也保留了边缘信息。仅仅集成后面的特征也可以获得相对准确的结果。所以设计结构就去掉了过于浅层的特征,从第三层开始使用。

双分支

optimization layer,使用两个卷积块来构造双分支(注意力分支与检测分支)。

  • 设计partial decoder集成来自三个卷积块的输出特征(f3,f4,f5)(f_{3},f_{4},f_{5})(f3​,f4​,f5​)进而得到初始显著性图SiS_{i}Si​.
  • 经过整体注意力模块的处理后,得到增强的注意力图ShS_{h}Sh​,用其细化来自第三个卷积块的特征f3f_{3}f3​。因为这里可以通过聚合三个顶层的特征来获得一个相对精确的显著性图,这里的注意力图就可以有效的消除特征f3f_{3}f3​中的异常信息,并且极大的提升其表达能力。
  • 如果将干扰归为显著性部分,则该策略导致异常分割结果。因此,需要提高初始显著性图的有效性。使用了整体注意力模块。
  • 通过特征图f3f_{3}f3​与注意力图ShS_{h}Sh​的元素乘法可以获得细化的特征图f3df_{3d}f3d​,经过卷积4和5可以得到对应的输出f4df_{4d}f4d​和f5df_{5d}f5d​。
  • 细化后的特征最终通过另一个partial decoder得到输出的显著性图SdS_{d}Sd​。

两个分支使用真值联合训练,SiS_{i}Si​和SdS_{d}Sd​分别与真值计算交叉熵并求和,进而得到整体的损失。

很明显,θi\theta_iθi​是θd\theta_dθd​的适当子集,这表明两个分支以交替的方式工作。

  • 一方面,注意力分支为检测分支提供精确的注意图,这导致检测分支更精确的显著对象。
  • 另一方面,检测分支可以被认为是注意力分支的辅助损失,这有助于注意力分支集中于显著对象。
  • 联合训练两个分支使模型统一突出显著的物体,同时抑制干扰物。

此外,可以利用提出的框架来改进现有的深度聚合模型,通过使用这些工作的聚合算法来整合每个分支的特征。

尽管与传统的编码器-解码器架构相比,增加了解码器提高了骨干网络的计算成本,但是由于丢弃了解码器中的低级特征,总的计算复杂度仍然显著降低。此外,所提出的框架的级联优化机制提升了性能,实验表明这两个分支都优于原始模型。

整体注意力模块(Holistic Attention Module)

给定来自优化层(Conv3_3)的特征映射和来自注意力分支的初始显著性图,可以使用初始注意力策略,这意味着直接将特征映射与初始显著性相乘。

  • 当从注意力分支获得准确的显著性图时,该策略将有效的抑制特征的干扰。
  • 相反,如果将干扰归类为显著性区域,则该策略导致异常分割结果。
    因此,需要提高初始显著性图的有效性。更具体的说,显著性目标的边缘信息可能被初始显著性图过滤掉,因为难以精确预测。另外,复杂场景中的一些对象很难被完全分割。因此提出了一个整体注意力模块,来扩大初始显著性图的覆盖范围。

    这里的ConvgConv_gConvg​表示一个有着高斯核kkk和零偏置的卷积操作,其中的fminmax()f_{min_max}()fminm​ax​()表示一个归一化函数,来让blurred map的范围变为[0,1]。而MAX()MAX()MAX()操作表示取最大值函数,这样可以使得趋向于增加平滑后的SiS_iSi​中显著性区域的权重系数。

相较于初始的注意力,提出的整体注意力机制增加了一定的计算消耗,但是也进一步高亮了整体显著性目标。

注意:这里的高斯核kkk的尺寸和标准差被初始化为32和4,在训练中会自动学习。

解码器

由于架构由两个解码器组成,需要构建一个快速集成策略以确保低复杂性。同时,需要尽可能准确的生成显著图。

  • 在解码器中使用了改进的RFB(receptive field block)模块

    • 本身的RFB是将Inception模块中的3×33\times 33×3卷积替换为扩张卷积
    • 在RFB上也使用了Skip连接
    • 这样可以实现多尺度的感受野,进一步捕获全局对比度信息,更加有效的编码上下文信息
  • 为了加速,在每个分支都使用1×11\times 11×1卷积降低通道为32。

特征聚合公式:

A Simple Pooling-Based Design for Real-Time Salient Object Detection(2019)

paper
A Simple Pooling-Based Design for Real-Time Salient Object Detection
code
PoolNet

网络结构


U型结构网络取得了良好的性能,但是还有很大的改进空间:

  • 在U型结构中,高级语义信息逐渐传输到较浅层,因此由较深层捕获的位置信息会逐渐稀释。
  • CNN的感受野大小与其层深度不成比例,现有方法通过将注意力机制引入U型结构,以循环方式细化特征图,结合多尺度特征信息来解决感受野问题[如Pyramid scene parsing network],或者在显著性图中添加额外约束[Non-local deep features for salient object detection中的边界损失项]。

原始的FPN结构,这种U型结构的自上而下是建立在由下而上的骨干网络之上的。这随着由上而下(由深到浅)的过程中,来自深层的信息会逐渐被丢弃,并且被来自浅层的信息所淹没。

全局引导模块(GGM)

为了弥补由上而下的路径中的高层语义信息的缺失,引入一个全局引导模块(global guidance module),主要包含两个部分:一个是修改版本的金字塔池化模块(PPM),另一个是一些列的全局引导信息流(GGF),以使得在各个层级上更为明确显著性目标的位置。

  • PPM:包含了四个子分支,包括恒等映射分支、全局平均池化分支,以及两个输出为3×33\times 33×3和5×55\times 55×5的自适应平均池化分支。
  • GGM:GGM是IG独立于U型结构的支路。通过引入一些列全局引导信息流(恒等映射),高层级的信息可以被送到各个层级,具体如结构图中的绿色箭头。通过这种方式增加了自上而下路径的每个部分中的全局引导信息的权重,以确保在构建FPN时不会稀释来自高层的位置信息。

特征融合模块(FAM)

在原始FPN中,粗略特征图被上采样两倍,然后添加一个有着3×33\times 33×3核大小的卷积用在合并操作之后,以降低上采样带来的混叠效应。但是GGF需要更大的上采样率。有效并高效的弥合GGF与不同尺度的特征图之间的巨大差距是至关重要的。所以使用FAM来合并GGM粗略特征映射与金字塔的不同尺度的特征映射。具体如下:

FAM有两个优势:

  • 有助于模型减少上采样的混叠效应,特别是当上采样率很大时(如采样率为8时)。
  • 允许每个空间位置在不同尺度空间查看局部环境,进一步扩大整个网络的感受野。
    下面是一个可视化,可以看出,引入FAM可以很好的锐化显著对象的细节。

使用边缘检测联合训练


网络的性能已经很好了,但是观察结果,发现大多数不准确的预测主要是因为不清晰的目标边界。
改进方法:

  • 在模块结构上添加一个额外的预测分支来预测显著性目标的边缘。

    • 在三个特征层级的FAM之后使用了三个残差块,用于信息的转换。通道数分别为128/256/512.每个残差块后接一个3×3×163 \times 3 \times 163×3×16的卷积层来压缩特征,并配合一个1×1×11 \times 1 \times 11×1×1的卷积层来进行特征提取。
    • 同时也拼接这个三个16通道的特征图,得到一个48通道的特征图,来讲捕获的边缘信息转换到显著性目标检测分支,继而强化细节信息。
    • 相似于[Instance-level salient object segmentation],训练阶段使用显著性目标的边缘作为联合训练的真值。
    • 结果效果一般。正如图5中展示的,对于前景和背景之间对比度低的场景,得到的显著图和边界图仍然不明确。可能是从显著物体中获得的真实边缘图仍然缺少显著物体的大部分详细信息,它们只是告诉显著对象的最外边界在哪里,特别是对于显著对象之间存在重叠的情况下。
  • 经过分析,尝试使用与[Richer convolutional features for edge detection]中相同的边缘检测数据集进行边缘检测任务的联合训练。在训练期间,交替输入来自显著对象检测数据集和边缘检测数据集的图像。从图5中可以看出,利用边缘检测任务的联合训练极大的改善了检测到的显著性对象的细节。

U2-Net:Going Deeper with Nested U-Structure for Salient Object Detection

Paper
[U2-Net:Going Deeper with Nested U-Structure for Salient Object Detection]
GitHub
U-2-Net

亮点

  • 使用ReSidual U-blocks(RSU)模块获取不同尺度的上下文信息。
  • RSU模块使用池化操作在不提高计算量的情况下增加网络深度。
  • 不基于图像分类的网络结构,提取局部细节和全局对比度信息,非提取代表语义的特征。

RSU模块

RSU与RES的区别

网络结构

损失函数

结果

  • 数据集
  • 结果


参考资料

[1] Cascaded Partial Decoder for Fast and Accurate Salient Object Detection解读
[2] Cascaded Partial Decoder for Fast and Accurate Salient Object Detection原文
[3] VPR2019的显著性文章一览
[4] A Simple Pooling-Based Design for Real-Time Salient Object Detection解读
[5] 杂乱环境下的显著性物体: 将显著性物体检测推向新高度 Salient Objects in Clutter: Bringing Salient Object Detection to the Foreground
[6] 显著性检测综述(完整整理)
[7] 显著性检测数据集—学习笔记
[8] 关于文献阅读和科研选题

显著性检测—学习笔记相关推荐

  1. 显著性检测学习笔记(2):DMRA__2019_ICCV

    Depth-induced Multi-scale Recurrent Attention Network for Saliency Detection 简介 github: 动机和贡献 提出的模型 ...

  2. 显著性检测学习笔记(3):CPFP_CVPR_2019

    Contrast Prior and Fluid Pyramid Integration for RGBD Salient Object Detection 1 简介 1.1 github: 1.2 ...

  3. 《南溪的目标检测学习笔记》——模型预处理的学习笔记

    1 介绍 在目标检测任务中,模型预处理分为两个步骤: 图像预处理:基于图像处理算法 数值预处理:基于机器学习理论 关于图像预处理,请参考<南溪的目标检测学习笔记>--图像预处理的学习笔记 ...

  4. 《南溪的目标检测学习笔记》——COCO数据集的学习笔记

    1 COCO数据集 COCO数据集下载链接:COCO_download 1.1 数据概览 数据集大小 train: 118287张 train+val: 123287张 val: 5000张 目标数量 ...

  5. 《南溪的目标检测学习笔记》的笔记目录

    1 前言 这是<南溪的目标检测学习笔记>的目录~ 2 学习目标检测的思路--"总纲" <南溪的目标检测学习笔记>--目标检测的学习笔记 我在这篇文章中介绍了 ...

  6. 《南溪的目标检测学习笔记》——目标检测模型的设计笔记

    1 南溪学习的目标检测模型--DETR 南溪最赞赏的目标检测模型是DETR, 论文名称:End-to-End Object Detection with Transformers 1.2 decode ...

  7. 《南溪的目标检测学习笔记》——夏侯南溪的CNN调参笔记,加油

    1 致谢 感谢赵老师的教导! 感谢张老师的指导! 2 调参目标 在COCO数据集上获得mAP>=10.0的模型,现在PaddleDetection上的Anchor-Free模型[TTFNet]的 ...

  8. 9月6日关键点检测学习笔记——人脸和手部特征点检测

    文章目录 前言 一.干扰因素 1.主动因素 2.固有因素 二.特征点检测 1.PFLD 2.LLCV 三.人脸比对 1.人脸 1:1 2.人脸 1:n 3.人脸 1:N 4.人脸 M:N 四.高清分辨 ...

  9. [初窥目标检测]——《目标检测学习笔记(2):浅析Selective Search论文——“Selective Search for object recognition”》

    [初窥目标检测]--<目标检测学习笔记(2):浅析Selective Search论文--Selective Search for object recognition> 本文介绍 前文我 ...

最新文章

  1. cygwin执行.py提示找不到模块,但已经安装模块的解决办法
  2. window.name实现的跨域数据传输
  3. UISwipeGestureRecognizer 左右事件捕捉
  4. SDN控制器策略制定和表项下发—Vecloud
  5. addeventlistener事件第三个参数_简析JavaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序...
  6. android 多参数,玩转Android monkey之多参数实战
  7. C#使用Gecko实现浏览器
  8. 纸盒叠成的长方形竟然能自己动?
  9. jHipster入门,第1部分
  10. base64 java php_利用PHP将图片转换成base64编码的实现方法
  11. C++中的布局new操作符
  12. 分享:尝试构建轻量级架构设计工具
  13. 超分辨 :SRCNN
  14. 【数据库】数据库错题集(一)
  15. python和c++同时订阅两个话题,在一个回调函数中处理
  16. 人脸识别/车牌识别视频智能分析系统EasyCVR通过接口GetApiV1Devices调用获取设备信息不成功原因分析
  17. 在HTML中把文本变成斜体的是,CSS/HTML:什么是使文本斜体的正确方法?
  18. C语言:浙大版《C语言程序设计(第3版)》题目集 练习5-1 求m到n之和 (10 分)
  19. 刷脸支付只是开端 浅谈3D视觉如何推进新零售崛起
  20. 第一章 企业信息化战略有实施

热门文章

  1. PHP保存微信头像到本地
  2. 手把手实操系列|贷中逾期风险预测模型开发流程(上)
  3. 手把手教你ARC——iOS/Mac开发ARC入…
  4. ThreadPoolTaskScheduler实现动态管理定时任务
  5. 【Reward is enough】Sutton、DavidSilver师徒联手:奖励机制足够实现各种目标。
  6. opencv android安装教程,opencv for android安装教程.doc
  7. ASIC芯片设计生产流程
  8. EXCEL组合功能函数和VBA汇总
  9. 深度剖析 | SN 可微分学习的自适配归一化 (Switchable Normalization)
  10. HTML5响应式手机模板:电商网站设计——仿淘宝手机app界面模板源码 HTML+CSS+JavaScript...