论文阅读(二十九):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/ │ │ │ │ └── 默认/ │ │ │ │ ├── 页面/ │ │ │ │ │ ├── 主页/ │ │ │ │ │ │ ├…...
XML Group端口详解
在XML数据映射过程中,经常需要对数据进行分组聚合操作。例如,当处理包含多个物料明细的XML文件时,可能需要将相同物料号的明细归为一组,或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码,增加了开…...
synchronized 学习
学习源: https://www.bilibili.com/video/BV1aJ411V763?spm_id_from333.788.videopod.episodes&vd_source32e1c41a9370911ab06d12fbc36c4ebc 1.应用场景 不超卖,也要考虑性能问题(场景) 2.常见面试问题: sync出…...
微软PowerBI考试 PL300-选择 Power BI 模型框架【附练习数据】
微软PowerBI考试 PL300-选择 Power BI 模型框架 20 多年来,Microsoft 持续对企业商业智能 (BI) 进行大量投资。 Azure Analysis Services (AAS) 和 SQL Server Analysis Services (SSAS) 基于无数企业使用的成熟的 BI 数据建模技术。 同样的技术也是 Power BI 数据…...
逻辑回归:给不确定性划界的分类大师
想象你是一名医生。面对患者的检查报告(肿瘤大小、血液指标),你需要做出一个**决定性判断**:恶性还是良性?这种“非黑即白”的抉择,正是**逻辑回归(Logistic Regression)** 的战场&a…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
Module Federation 和 Native Federation 的比较
前言 Module Federation 是 Webpack 5 引入的微前端架构方案,允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...
华为云Flexus+DeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建
华为云FlexusDeepSeek征文|DeepSeek-V3/R1 商用服务开通全流程与本地部署搭建 前言 如今大模型其性能出色,华为云 ModelArts Studio_MaaS大模型即服务平台华为云内置了大模型,能助力我们轻松驾驭 DeepSeek-V3/R1,本文中将分享如何…...
AI书签管理工具开发全记录(十九):嵌入资源处理
1.前言 📝 在上一篇文章中,我们完成了书签的导入导出功能。本篇文章我们研究如何处理嵌入资源,方便后续将资源打包到一个可执行文件中。 2.embed介绍 🎯 Go 1.16 引入了革命性的 embed 包,彻底改变了静态资源管理的…...
【MATLAB代码】基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),附源代码|订阅专栏后可直接查看
文章所述的代码实现了基于最大相关熵准则(MCC)的三维鲁棒卡尔曼滤波算法(MCC-KF),针对传感器观测数据中存在的脉冲型异常噪声问题,通过非线性加权机制提升滤波器的抗干扰能力。代码通过对比传统KF与MCC-KF在含异常值场景下的表现,验证了后者在状态估计鲁棒性方面的显著优…...
关于easyexcel动态下拉选问题处理
前些日子突然碰到一个问题,说是客户的导入文件模版想支持部分导入内容的下拉选,于是我就找了easyexcel官网寻找解决方案,并没有找到合适的方案,没办法只能自己动手并分享出来,针对Java生成Excel下拉菜单时因选项过多导…...
