论文阅读(二十九):Multi-scale Interactive Network for Salient Object Detection
文章目录
- Abstract
- 1.Introduction
- 2.Scale Variation
- Proposed Method
- 3.1Network Overview
- 3.2Aggregate Interaction Module
- 3.3 Self-Interaction Module
- 3.4Consistency-Enhanced Loss
- 4.Experiments
- 4.1Implementation Details
- 4.2 Comparison with State-of-the-arts
- 4.3Ablation Study
论文:Multi-scale Interactive Network for Salient Object Detection(用于显著性目标检测的多尺度交互网络)
论文链接:Multi-scale Interactive Network for Salient Object Detection
代码链接:Github
Abstract
本文提出了聚合交互模块来整合来自相邻水平的特征,其中由于只使用小的上/下采样率,引入了较少的噪声。为了从集成特征中获得更高效的多尺度特征,在每个解码器单元中嵌入自交互模块。此外,尺度变化引起的类不平衡问题削弱了二元交叉熵损失的效果,导致预测结果的空间不一致。因此,本文利用一致性增强的损失来突出前/背景差异并保持类内一致性。
1.Introduction
上图中,绿色块、橙色块和灰色块分别表示编码器、传输层和解码器中不同的卷积块。左列表示常见的编码器与传输层之间的连接模式;右列表示传输层和解码器之间的连接模式。
本文提出了一种聚合交互策略(Aggregate Interaction Strategy,AIM)以更好地利用多层次特征,避免不同分辨率特征图之间的差异对特征融合造成干扰,并有效整合来自相邻分辨率的上下文信息。
模型结构采用架构(h),本文的主要贡献如下:
- 1.提出多尺度交互模块(MINet,Multi-scale Interactive Network)用于显著性目标检测任务,其包含的聚合交互模块(Aggregate Interaction Module,AIM)通过相互学习的方式有效地利用相邻层的特征,自交互模块(Self-Interaction Module,SIM)使网络能够自适应地从数据中提取多尺度信息,更好地处理尺度变化。
- 2.提出一致性增强的损失函数用于模型训练,帮助模型均匀突出整个显著区域,更好地处理由于物体的不同尺度导致的前后区域像素不平衡问题,且无需任何后处理或额外的参数。
2.Scale Variation
尺度变化是显著性目标检测任务的主要难题之一。一方面,嵌入在不同分辨率特征中的物体信息量随着物体尺度的变化而变化,另一方面,每个卷积层只具有处理特定规模的能力。因此,本研究通过构建多路径特征提取结构,从单层对多尺度信息进行表征。
- Multi-level Information(多层次信息):由于相邻编码器提取的特征抽象程度相近,因此MINet模型只融合相邻层的特征,以获得丰富的尺度信息。
- Multi-scale Information(多尺度信息):本文提出了一个由两个分支交互学习特征的多尺度处理模块,可以学习到丰富的多尺度信息。此外,过大和过小的对象会导致前景和背景样本之间的不平衡,从而削弱像素级监督的效果。本研究中引入一致性增强损失(CEL)作为交叉熵损失的辅助,其对物体的大小不敏感,而更关注预测的整体效果,有助于获得更均匀的显著性结果。
Proposed Method
3.1Network Overview
网络结构如上图所示。模型以大小为 ( 320 , 320 , 3 ) (320,320,3) (320,320,3)的RGB图像作为输入,处理流程为:
- 1.以预训练的VGG-16或ResNet-50的特征图提取网络作为编码器来提取多层次特征和抽象。
- 2.使用 A I M s ( { A I M i } i = 0 4 ) AIMs(\{AIM^i\}^4_{i=0}) AIMs({AIMi}i=04)对编码器提取的特征进行集成,并以相邻层的特征作为输入,为当前分支提供相关的补充。
- 3.使用 S I M s ( { S I M i } i = 0 4 ) SIMs(\{SIM^i\}^4_{i=0}) SIMs({SIMi}i=04)和融合单元(FU,Fusion Unit)将输出的特征进行组合,并在真实掩模的监督下生成最终预测。
后续内容均以VGG-16作为网络主干。
3.2Aggregate Interaction Module
特征提取网络中,不同层次的卷积层对应着不同程度的特征抽象。多层次集成可以增强不同分辨率特征的表示能力。
- 浅层特征:可以进一步加强细节信息,抑制噪声。
- 中间层特征:同时考虑了语义信息和细节信息,可以根据网络本身的需要自适应调整不同抽象信息在特征中的比例,从而实现更灵活的特征利用。
- 深层特征:可以挖掘更丰富的语义信息。
聚合交互模块(AIM,Aggregate Interaction Module)通过交互式学习策略来聚合特征。设第 i i i个AIM模块为 A I M i AIM_i AIMi,其输入是来自编码器提取的特征 f e i − 1 、 f e i 、 f e i + 1 f_{e}^{i-1}、f_{e}^{i}、f_{e}^{i+1} fei−1、fei、fei+1。
上图依次展示了模型中的三种 A I M AIM AIM模块结构,其中, ( a ) (a) (a)代表 A I M 0 AIM_0 AIM0, ( b ) (b) (b)代表 A I M k , k ∈ { 1 , 2 , 3 } AIM_k,k∈\{1,2,3\} AIMk,k∈{1,2,3}, ( a ) (a) (a)代表 A I M 4 AIM_4 AIM4。
经过卷积+BN+ReLU处理后,来自编码器的输出分为本地分支( B 1 B^1 B1)与辅助分支( B 0 、 B 2 B^0、B^2 B0、B2)。通过池化、邻域插值和卷积操作对 B 0 、 B 2 B^0、B^2 B0、B2分支进行调整,并通过逐元加法将它们合并到 B 1 B^1 B1分支中,之后通过卷积操作实现特征融合并减少通道数,再通过残差连接得到最终的输出。整个流程如下:
3.3 Self-Interaction Module
自交互模块(SIM,Self-Interaction Module)和融合单元将输出的特征进行组合,并在真实掩模的监督下生成最终预测。SIM模块结构图:
首先通过卷积层降低输入特征的分辨率和通道数,在每个分支中,SIM模块都会对低分辨率特征进行上采样、对高分辨率特征进行下采样,使其与其他分支的特征具有相同的分辨率。不同分辨率、通道数特征的交互操作可获得大量的不同尺度的知识,并以较低的参数量化来主要保持高分辨率信息。此外还采用了残差连接。在经过上采样、归一化和非线性处理后,采用融合单元(FU)对SIM和残差支路的双路径进行处理,将SIM集成到解码器中,使得网络在训练阶段能够自适应地处理不同样本的尺度变化。计算公式如下:
其中, f S I M i f^i_{SIM} fSIMi表示 S I M i SIM_i SIMi模块的输出, M ( ⋅ ) M(·) M(⋅)表示分支合并, B S I M i , j B^{i,j}_{SIM} BSIMi,j表示 S I M i SIM_i SIMi的第 j j j个分支 B j B^j Bj。输入特征 f a d d i f^i_{add} faddi计算如下:
U i + 1 ( ⋅ ) U^{i+1}(·) Ui+1(⋅)和 F i + 1 ( ⋅ ) F^{i+1}(·) Fi+1(⋅)表示表示自顶向下路径中的第 i + 1 i+1 i+1个上采样操作和融合单元。
3.4Consistency-Enhanced Loss
本文提出一致性增强损失(CEL)辅助模型训练:
其中, P ∈ R N × H × W × 1 P∈R^{N×H×W×1} P∈RN×H×W×1表示一批次数据中的N张显著性图( N = b a t c h _ s i z e N=batch\_size N=batch_size), S i g m o i d ( C o n v ( ⋅ ) ) Sigmoid(Conv(·)) Sigmoid(Conv(⋅))表示解码器中具有非线性激活函数的最后一个卷积层。二进制交叉熵损失(BCEL)函数计算公式如下:
其中, G ∈ { 0 , 1 } N × H × W × 1 G∈\{0,1\}^{N×H×W×1} G∈{0,1}N×H×W×1表示真实掩模。
4.Experiments
4.1Implementation Details
模型采用DUTS-TR数据集作训练数据集,在训练阶段,随机水平翻转、随机旋转和随机颜色抖动作为数据增强技术来避免过度拟合问题。以 b a t c h _ s i z e = 4 batch\_size=4 batch_size=4训练了50个epoch,编码器(即VGG-16和ResNet-50)使用在ImageNet数据集上预训练的相应模型初始化,其余参数由PyTorch的默认设置初始化。使用SGD优化器,其权重衰减为5e-4,初始学习率为1e-3,动量为0.9。此外,采用了一个系数为0.9的ploy学习率调整策略,图像输入尺寸为 320 × 320 × 3 320 × 320×3 320×320×3。
4.2 Comparison with State-of-the-arts
上表列出了含有六个指标的详细实验结果。使用红、绿、蓝依次表示性能前三名。
上图列出了一些有代表性的例子。
4.3Ablation Study
- Effectiveness of the AIMs and SIMs
使用类似FPN的网络架构作为基准模型,其使用横向连接将最浅层的通道数减少到32,其他层减少到64。可见,两个模块都在基线上实现了显著的性能改进。
从可视化结果可见,由于交互式特征学习可以捕获更丰富的多尺度上下文信息,因此AIMs和SIMs可以有效地抑制背景干扰并完全分割显著目标。
相关文章:

论文阅读(二十九):Multi-scale Interactive Network for Salient Object Detection
文章目录 Abstract1.Introduction2.Scale VariationProposed Method3.1Network Overview3.2Aggregate Interaction Module3.3 Self-Interaction Module3.4Consistency-Enhanced Loss 4.Experiments4.1Implementation Details4.2 Comparison with State-of-the-arts4.3Ablation …...
常见存储器及其特点
: 一、只读存储器(ROM)及其类型 1. ROM 特点:存储的数据固定不变,只能读出不能写入,且断电后数据不丢失。应用:通常用于存储系统程序,如BIOS等。 2. PROM(可编程只读…...

《向量数据库指南》——text-embedding-3-large与Mlivus Cloud打造语义搜索新纪元
使用text-embedding-3-large生成向量并将向量插入Mlivus Cloud实现高效语义搜索的深度解析与实战操作 在数字化时代,数据的处理和存储方式正在经历前所未有的变革。特别是随着大数据和人工智能技术的快速发展,向量数据库作为一种新型的数据存储和查询方式,正逐渐受到越来越…...

通过 Bytebase API 查看数据库审计日志
原文地址代码库 Bytebase 是一款数据库 DevOps 和 CI/CD 工具,专为开发者、DBA 和平台工程团队设计。虽然它提供了直观的 GUI 来管理数据库 schema 变更和访问控制,但有些团队可能希望使用 Bytebase API 将 Bytebase 集成到现有的 DevOps 平台中。 在之…...
# 渗透测试# 1.安全见闻(6)通讯协议
安全见闻6 通讯协议 ##B站陇羽Sec## 潜在的安全问题所涉及的领域 无线电安全,协议分析,web渗透,逆向分析 通讯协议涉及的安全主要包括以下几个方面: 1.1 保密性问题 …...
[Gdiplus/Gdi]_[中级]_[实现多行文本的多种颜色绘制-富文本绘制]
场景 在开发WTL/WIN32界面程序时,有时候需要绘制多行的段落文本,但是文本里的数值需要设置红色以便能让人第一时间关注到它。这种文本可以称之为富文本。GDI的DrawText和GDIPlus的DrawString方法都只能连续绘制某个颜色的文本。怎么实现?说明 在《绘图实现单行文本的多种颜色…...

Ubuntu如何创建一个子用户并赋与管理员权限
在Ubuntu操作系统中,如何创建一个子用户并赋与管理员权限 一、创建用户 sudo useradd -m -s /bin/bash test详细解释: sudo:以超级用户(root)权限执行该命令。useradd 命令通常需要管理员权限,因此需要加上 sudo。 useradd:创建新用户的命令。 -m:指示系统为新用户创建…...

【Linux | IO多路复用】epoll的底层原理详解
epoll 是一种高效的 I/O 多路复用机制,广泛用于 Linux 系统中,用于处理大量并发的文件描述符。它比传统的 select 和 poll 方法具有更好的性能,特别是在处理大量并发连接时。 1.epoll的设计思路 epoll是在select 出现 N 多年后才被发明的&a…...

npm run serve 提示异常Cannot read property ‘upgrade‘ of undefined
npm run serve 提示Cannot read property ‘upgrade’ of undefined 一般是proxy的target代理域名问题导致的,如下: 解决方案: proxy: { “/remoteDealerReportApi”: { target: ‘http://demo-.com.cn’, //此域名有问题,会导致…...
Muggle OCR 是一个高效的本地OCR(光学字符识别)模块
Muggle OCR 是一个高效的本地OCR(光学字符识别)模块,专为“麻瓜”设计,用于简化文本识别的过程。这个模块特别适用于处理印刷文本和解析验证码1。 以下是一些关于 Muggle OCR 的主要特点和使用方法: 特点:…...
【SpringBoot】万字源码解析——启动流程
Spring Boot启动流程 Spring Boot 的入口类: SpringBootApplication public class IntelGradingApplication {public static void main(String[] args) {SpringApplication.run(IntelGradingApplication.class, args);} }Spring Boot 的启动过程可以分为两方面&am…...

Nginx 配置初步 下
Nginx 配置初步(下) 一行代表一个指令; 每个指令有其上下文环境,比如 listen 指令只能在 http 指令块中出现,不能单独出现。1. Http 服务配置初步 1.1 常用指令 Nginx 的所有模块,打开模块我们就能看到模块中支持的指令。最常用…...

可视化ETL平台-Kettle的安装及简单使用
本章知识简介 主线A: 自连接查询; 主线B: 安装JDK与Kettle; 主线C: 使用Kettle工具. 本章目标: 1: 知道使用一张表可以实现自连接查询; [了解]注意: 左表、右表都是同一张表 2: 了解Kettle环境的安装流程; [了解]a.安装JDKb.安装Kettle 3: 熟悉使用kettle将txt数…...
java8 动态加载jar包至系统的classpath
1. io.test包 创建MyMain.java类,创建addJarToClasspath方法将jar包动态加载进系统的classpath中 package io.test;import java.io.File; import java.net.URL; import java.net.URLClassLoader; import java.lang.reflect.Method;public class MyMain {public st…...
C++二级题 计算好数:1数大于0数(二进制的位运算)
1、题目 若将一个正整数化为二进制数,在此二进制数中,我们将数字1的个数多于数字0的个数的这类二进制数称为好数。 例如: (13)10 (1101)2,其中1的个数为3,0的个数为1,则此数是好数; (10)10 (1…...

数字孪生城市:智慧城市的未来蓝图
在当今数字化时代,智能技术的广泛应用正在改变人们的生活和工作方式。数字孪生城市作为未来新型智慧城市演进的重要方向,数字孪生城市是一种将城市物理世界的各个方面转化为数字形式的技术,通过网络空间与物理世界之间的实时数据交换和仿真分…...

Java篇图书管理系统
目录 前言 一. 图书管理系统的核心 二. 图书管理系统基本框架 2.1 book包 2.1.1 Book(书籍类) 2.1.2 Booklist (书架类) 2.2 user包 2.2.1 User类 2.2.2 Administrator(管理员类) 2.2.3 Visitor(用户类) 2.…...

BUUCTF之web篇
第一题 [极客大挑战 2019]EasySQL 打开靶机后可以看到这是一个登陆的页面 我们可以尝试两种方式登录 弱口令爆破(burpsuite) 通过SQL注入里的万能密码来跳过账户和密码验证的过程 这里就需要万能密码aor true # 在这里单引号的作用是结束用户名或者密码…...

010——二叉树(2)线索化
引入: 问题1: n个节点的二叉树,用二叉链表存储,问在这个二叉链表中一共有 __个指针域? 其中,有 __个指针域不为NULL,__个指针域为NULL? 答:2n n-1 n1 在二叉链表中…...
鸿蒙拍照小助手02
项目文件目录 为了确保项目文件目录清晰,以下是完整的项目文件目录结构: code 拍照小助手/ │ ├── entry/ │ ├── src/ │ │ ├── main/ │ │ │ ├── js/ │ │ │ │ └── 默认/ │ │ │ │ ├── 页面/ │ │ │ │ │ ├── 主页/ │ │ │ │ │ │ ├…...

第19节 Node.js Express 框架
Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...
AtCoder 第409场初级竞赛 A~E题解
A Conflict 【题目链接】 原题链接:A - Conflict 【考点】 枚举 【题目大意】 找到是否有两人都想要的物品。 【解析】 遍历两端字符串,只有在同时为 o 时输出 Yes 并结束程序,否则输出 No。 【难度】 GESP三级 【代码参考】 #i…...

【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...

自然语言处理——循环神经网络
自然语言处理——循环神经网络 循环神经网络应用到基于机器学习的自然语言处理任务序列到类别同步的序列到序列模式异步的序列到序列模式 参数学习和长程依赖问题基于门控的循环神经网络门控循环单元(GRU)长短期记忆神经网络(LSTM)…...
.Net Framework 4/C# 关键字(非常用,持续更新...)
一、is 关键字 is 关键字用于检查对象是否于给定类型兼容,如果兼容将返回 true,如果不兼容则返回 false,在进行类型转换前,可以先使用 is 关键字判断对象是否与指定类型兼容,如果兼容才进行转换,这样的转换是安全的。 例如有:首先创建一个字符串对象,然后将字符串对象隐…...

企业如何增强终端安全?
在数字化转型加速的今天,企业的业务运行越来越依赖于终端设备。从员工的笔记本电脑、智能手机,到工厂里的物联网设备、智能传感器,这些终端构成了企业与外部世界连接的 “神经末梢”。然而,随着远程办公的常态化和设备接入的爆炸式…...
Python ROS2【机器人中间件框架】 简介
销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...
React---day11
14.4 react-redux第三方库 提供connect、thunk之类的函数 以获取一个banner数据为例子 store: 我们在使用异步的时候理应是要使用中间件的,但是configureStore 已经自动集成了 redux-thunk,注意action里面要返回函数 import { configureS…...
Go 并发编程基础:通道(Channel)的使用
在 Go 中,Channel 是 Goroutine 之间通信的核心机制。它提供了一个线程安全的通信方式,用于在多个 Goroutine 之间传递数据,从而实现高效的并发编程。 本章将介绍 Channel 的基本概念、用法、缓冲、关闭机制以及 select 的使用。 一、Channel…...
【JavaSE】多线程基础学习笔记
多线程基础 -线程相关概念 程序(Program) 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序,比如我们使用QQ,就启动了一个进程,操作系统就会为该进程分配内存…...