深度无监督显著性检测:多个Weak Label的伪监督

2023-11-08 23:10

本文主要是介绍深度无监督显著性检测:多个Weak Label的伪监督,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

论文来源:2018 CVPR
Deep Unsupervised Saliency Detection: A Multiple Noisy Labeling Perspective

最近在刷今年CVPR的时候发现了这样一篇有点意思的文章,整理了一些思路和想法,留在这篇博客中分享给大家。

  1. Motivation
    文章的出发点首先就引人入胜,是不是在深度学习流行的当下,handcraft的算法就毫无用武之地呢?所以这篇文章针对于如何高效的利用existing的handcraft算法 (也就是所谓的“Multiple Noisy Labeling”),来构建stronger的伪监督,从而实现无监督的操作。正是因为同时利用了多种handcraft的传统算法,所以得到的效果也是不差的。
  2. 思路
    如何同时利用无监督算法的dataset-independent性,和深度网络的powerful learning capacity性?

    noisy label视角(核心创新点)
    将现有的各种无监督算法的结果看成是noisy but informative 的label,他们利用了handcraft的人工先验知识,但是一般会有一定的method-specific的偏倚。如何克服存在的noise,这篇文章采用的是对noise进行建模(而不是SBF中利用intra-fusion进行noise去除,详见 ICCV 2017 Supervision by Fusion: Towards Unsupervised Learning of Deep Salient Object Detector)。
    – 整体框架
    a. saliency predction 模块 –> 将original image映射成saliency map(隐变量)–> deterministic way
    b. 噪声建模 –> 拟合多种无监督算法产生的noisy结果中的noise –> probabilistic way
    这里写图片描述

  3. 算法
    损失函数
    我们的思路是将每个handcraft的结果建模成显著性预测模块的结果 + noise结果 这里写图片描述,其中这里写图片描述是对噪声分布qi的采样:
    这里写图片描述 为我们生成的显著性map。网络的损失函数为这里写图片描述

显著性预测模块 – For Prediction Loss
通过显著性预测模块,我们可以得到隐变量,然后将其加上噪声模拟值,以此来拟合目标值。因此Prediction Loss涉及来衡量拟合值和真正handcraft无监督结果之间的偏差
这里写图片描述
这里写图片描述

噪声模块 – For Noise Loss
噪声模块用来衡量真实的handcarft无监督结果与显著性预测模块输出结果之间的误差,定义为这里写图片描述。 由于这个结果还收到网络参数的影响,因此其准确的后验概率不能直接求得,所以我们采用顺序性的优化方法得到
这里写图片描述
这里写图片描述
这样我们可以更新 这里写图片描述

这篇关于深度无监督显著性检测:多个Weak Label的伪监督的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/372989

相关文章

Python自动化办公之合并多个Excel

《Python自动化办公之合并多个Excel》在日常的办公自动化工作中,尤其是处理大量数据时,合并多个Excel表格是一个常见且繁琐的任务,下面小编就来为大家介绍一下如何使用Python轻松实现合... 目录为什么选择 python 自动化目标使用 Python 合并多个 Excel 文件安装所需库示例代码

Java实现检查多个时间段是否有重合

《Java实现检查多个时间段是否有重合》这篇文章主要为大家详细介绍了如何使用Java实现检查多个时间段是否有重合,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录流程概述步骤详解China编程步骤1:定义时间段类步骤2:添加时间段步骤3:检查时间段是否有重合步骤4:输出结果示例代码结语作

Java判断多个时间段是否重合的方法小结

《Java判断多个时间段是否重合的方法小结》这篇文章主要为大家详细介绍了Java中判断多个时间段是否重合的方法,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录判断多个时间段是否有间隔判断时间段集合是否与某时间段重合判断多个时间段是否有间隔实体类内容public class D

linux下多个硬盘划分到同一挂载点问题

《linux下多个硬盘划分到同一挂载点问题》在Linux系统中,将多个硬盘划分到同一挂载点需要通过逻辑卷管理(LVM)来实现,首先,需要将物理存储设备(如硬盘分区)创建为物理卷,然后,将这些物理卷组成... 目录linux下多个硬盘划分到同一挂载点需要明确的几个概念硬盘插上默认的是非lvm总结Linux下多

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

Java深度学习库DJL实现Python的NumPy方式

《Java深度学习库DJL实现Python的NumPy方式》本文介绍了DJL库的背景和基本功能,包括NDArray的创建、数学运算、数据获取和设置等,同时,还展示了如何使用NDArray进行数据预处理... 目录1 NDArray 的背景介绍1.1 架构2 JavaDJL使用2.1 安装DJL2.2 基本操

最长公共子序列问题的深度分析与Java实现方式

《最长公共子序列问题的深度分析与Java实现方式》本文详细介绍了最长公共子序列(LCS)问题,包括其概念、暴力解法、动态规划解法,并提供了Java代码实现,暴力解法虽然简单,但在大数据处理中效率较低,... 目录最长公共子序列问题概述问题理解与示例分析暴力解法思路与示例代码动态规划解法DP 表的构建与意义动

mysqld_multi在Linux服务器上运行多个MySQL实例

《mysqld_multi在Linux服务器上运行多个MySQL实例》在Linux系统上使用mysqld_multi来启动和管理多个MySQL实例是一种常见的做法,这种方式允许你在同一台机器上运行多个... 目录1. 安装mysql2. 配置文件示例配置文件3. 创建数据目录4. 启动和管理实例启动所有实例

Go中sync.Once源码的深度讲解

《Go中sync.Once源码的深度讲解》sync.Once是Go语言标准库中的一个同步原语,用于确保某个操作只执行一次,本文将从源码出发为大家详细介绍一下sync.Once的具体使用,x希望对大家有... 目录概念简单示例源码解读总结概念sync.Once是Go语言标准库中的一个同步原语,用于确保某个操

SpringBoot使用Apache Tika检测敏感信息

《SpringBoot使用ApacheTika检测敏感信息》ApacheTika是一个功能强大的内容分析工具,它能够从多种文件格式中提取文本、元数据以及其他结构化信息,下面我们来看看如何使用Ap... 目录Tika 主要特性1. 多格式支持2. 自动文件类型检测3. 文本和元数据提取4. 支持 OCR(光学