当前位置: 首页 > news >正文

论文阅读(二十九):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} fei1feifei+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 B0B2)。通过池化、邻域插值和卷积操作对 B 0 、 B 2 B^0、B^2 B0B2分支进行调整,并通过逐元加法将它们合并到 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} PRN×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 在二叉链表中&#xf…...

鸿蒙拍照小助手02

项目文件目录 为了确保项目文件目录清晰,以下是完整的项目文件目录结构: code 拍照小助手/ │ ├── entry/ │ ├── src/ │ │ ├── main/ │ │ │ ├── js/ │ │ │ │ └── 默认/ │ │ │ │ ├── 页面/ │ │ │ │ │ ├── 主页/ │ │ │ │ │ │ ├…...

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...

生成xcframework

打包 XCFramework 的方法 XCFramework 是苹果推出的一种多平台二进制分发格式,可以包含多个架构和平台的代码。打包 XCFramework 通常用于分发库或框架。 使用 Xcode 命令行工具打包 通过 xcodebuild 命令可以打包 XCFramework。确保项目已经配置好需要支持的平台…...

C++_核心编程_多态案例二-制作饮品

#include <iostream> #include <string> using namespace std;/*制作饮品的大致流程为&#xff1a;煮水 - 冲泡 - 倒入杯中 - 加入辅料 利用多态技术实现本案例&#xff0c;提供抽象制作饮品基类&#xff0c;提供子类制作咖啡和茶叶*//*基类*/ class AbstractDr…...

黑马Mybatis

Mybatis 表现层&#xff1a;页面展示 业务层&#xff1a;逻辑处理 持久层&#xff1a;持久数据化保存 在这里插入图片描述 Mybatis快速入门 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/6501c2109c4442118ceb6014725e48e4.png //logback.xml <?xml ver…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

linux 错误码总结

1,错误码的概念与作用 在Linux系统中,错误码是系统调用或库函数在执行失败时返回的特定数值,用于指示具体的错误类型。这些错误码通过全局变量errno来存储和传递,errno由操作系统维护,保存最近一次发生的错误信息。值得注意的是,errno的值在每次系统调用或函数调用失败时…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

反射获取方法和属性

Java反射获取方法 在Java中&#xff0c;反射&#xff08;Reflection&#xff09;是一种强大的机制&#xff0c;允许程序在运行时访问和操作类的内部属性和方法。通过反射&#xff0c;可以动态地创建对象、调用方法、改变属性值&#xff0c;这在很多Java框架中如Spring和Hiberna…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...