论文阅读(二十九):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/ │ │ │ │ └── 默认/ │ │ │ │ ├── 页面/ │ │ │ │ │ ├── 主页/ │ │ │ │ │ │ ├…...
lua while循环
软考鸭微信小程序 过软考,来软考鸭! 提供软考免费软考讲解视频、题库、软考试题、软考模考、软考查分、软考咨询等服务 Lua作为一种小巧精致的语言,特别适用于嵌入其他程序提供脚本支持。在编程中,循环结构是不可或缺的一部分,而while循环则是…...
JAVA篇之类和对象
目录 一. 面向对象 1.1 面向对象和面向过程 二. 类的定义和使用 2.1 什么是类 2.2 类的定义格式 三. 类的实例化 四. this引用 4.1 this引用的作用 五. 构造方法 5.1 构造方法重载 5.2 通过this调用其他构造方法 5.3 默认初始化 结语 一. 面向对象 Java 是一门面向对…...
IO流详解_CoderLix
主要内容 File类IO流字节流字符流异常处理Properties缓冲流转换流序列化流打印流 File类 1.1 概述 java.io.File 类是文件和目录路径名的抽象表示,主要用于文件和目录的创建、查找和删除等操作。 1.2 构造方法 public File(String pathname) :通过…...
241023-RHEL非管理员安装Docker并开放指定宿主机端口部署Gitlab
A. RHEL非管理员安装Docker 要在没有管理员权限的情况下离线安装 Docker 和 Docker Compose,虽然受到一定限制,仍有一些可行的步骤可以帮助你在有限权限下完成这项任务。需要注意的是,这种方式适用于本地用户环境下的 Docker 安装࿰…...
python ubuntu安装加速
ubuntu升级python到python3.11(可能是全网最靠谱的方法,亲测有效)_ubuntu python3.11-CSDN博客 python-release安装包下载_开源镜像站-阿里云...
100种算法【Python版】第12篇——快速幂算法
本文目录 1 基本原理2 基本步骤3 数学示例4 python代码1 基本原理 快速幂算法(Fast Exponentiation)是一种高效计算整数幂的方法,尤其适用于计算大数的幂。其主要思想是利用分治法和二进制表示来减少乘法运算的次数,从而加快计算速度。 计算 x n x^n x...
Java多线程详解②(全程干货!!!)Thread Runnable
这里是Themberfue 上节主要讲完了多线程的一些基础知识,这节通过代码进一步理解多线程🫡 多线程 Java标准库中提供了Thread类,以程序员们编写多线程代码,我们可以查看官方文档进一步了解Thread的特性以及提供的接口。 类似于Sy…...
机器学习——图神经网络
图神经网络(GNN):理解复杂网络数据的有效工具 图神经网络(Graph Neural Network, GNN)是近年来机器学习领域的热门话题。GNN 以图结构数据为核心,能够高效地捕捉节点和边的复杂关系,广泛应用于社交网络、推荐系统、生…...
一、在cubemx下RTC配置调试实例测试
一、rtc的时钟有lse提供。 二、选择rtc唤醒与闹钟功能 内部参数介绍 闹钟配置 在配置时间时,注意将时间信息存储起来,防止复位后时间重新配置。 if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR0)! 0x55AA)//判断标志位是否配置过,没有则进…...
【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin
【Nas】X-DOC:Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像:2、启动镜像3、访问服务4、参考文档 Mac mini Docker部署中国特供版Jellyfin 1、拉取镜像: docker pull nyanmisaka/jellyfin:230901-amd64jellyfin 10.8.10版本ÿ…...
彬州市人民政府门户网站/yahoo搜索引擎入口
1.先安装IIS啊,就是都勾选上就可以了 在控制面板->程序->程序和功能,点击左边的“打开或关闭WIndows功能”,在弹出的窗口中就可以看到IIS啦; 2.ArcServer 当中竟然有一步需要Restart IIS服务!重启了之后他还有这…...
58同城临沂网站建设/seo技术介绍
1003 我要通过! (20 分) 1003 我要通过! (20 分) “答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否…...
商城网站建设哪家最好/网址关键词查询
zip 可以压缩目录和文件zip 压缩后的文件.zip 被压缩的文件 压缩文件,并保留源文件。必须指定压缩后的文件名zip -r 1.zip 2 3 4 递归压缩3个目录,压缩后文件名为1.zip 不加-r 只压缩一个目录zip -d /home 文件…...
网站标题tdk/专业代写软文
这里网上说是因为 webpack-dev-server 和 webpack-cli 4.X 不兼容导致的 可以使用降级处理,不需要降低 webpack 版本,仍然使用 webpack 5,只需要降低 webpack-cli 版本就可以了 yarn remove webpack-cli yarn add webpack-cli3.11.0 --dev重…...
找活做的网站/专业搜索引擎seo合作
1.这些符号在不同的系统下意义不同: //双斜线:协议和主机名之间的分隔符 (比如http://localhost:8080)/单斜线:windows里或者WEB上或者Unix内核的目录架构分隔符 \反斜线:windows 里的目录结构的分隔符&…...
自己搭建服务器违法吗/网络优化app
//配置 //页面 <% OutputCache Duration"15" VaryByParam"*" %> 本文转自曾祥展博客园博客,原文链接:http://www.cnblogs.com/zengxiangzhan/archive/2010/10/06/1844871.html,如需转载请自行联系原作者...