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

【论文阅读笔记】MAS-SAM: Segment Any Marine Animal with Aggregated Features

1.论文介绍

MAS-SAM: Segment Any Marine Animal with Aggregated Features
MAS-SAM:利用聚合特征分割任何海洋动物
Paper Code(空的)

2.摘要

最近,分割任何模型(SAM)在生成高质量的对象掩模和实现零拍摄图像分割方面表现出卓越的性能。然而,作为一种通用的视觉模型,SAM主要是用大规模自然光图像训练的。在水下场景中,由于光的散射和吸收,它表现出显著的性能下降。同时,SAM 解码器的简单性 可能会导致丢失细粒度的对象细节。为了解决上述问题,我们提出了一种新的特征学习框架MAS—SAM的海洋动物分割,其中包括整合有效的适配器到SAM的编码器和构建一个金字塔解码器。更具体地说,首先建立了一个新的SAM的编码器与有效的适配器的水下场景。然后,介绍了一个超映射提取模块Hypermap Extraction Module(HEM),以产生多尺度的功能,全面的指导。最后,提出了一个渐进预测解码器(PPD)聚合的多尺度特征和预测最终的分割结果。当嫁接融合注意力模块(FAM),我们的方法能够提取更丰富的海洋信息,从全球上下文线索细粒度的局部细节。

Keywords:适配器,SAM,金字塔解码器,分割海洋动物,LoRA微调

3.Introduction

海洋动物分割(MAS)是视觉智能和水下机器人领域中的关键和基本任务。它旨在从水下图像或视频中识别和分割海洋动物。从功能上讲,海洋动物的准确分割对于包括海洋生物学、生态学和保护在内的各个研究领域都非常重要。但水下环境的特点是复杂的光散射和吸收效应,导致图像质量下降,对比度降低和物体模糊。此外,海洋动物往往表现出伪装的属性,这进一步复杂的分割任务。为了应对这些挑战,需要先进的感知技术。

最近,SAM提出,并在一般的分割任务上已显示出巨大的潜力。然而,SAM的训练场景主要涉及自然光照条件,这限制了其在水下环境中的性能。此外,SAM中过于简单的解码器结构缺乏生成细粒度分割结果的能力。

考虑到上述事实,在这项工作中,本文提出了一种新的基于SAM的特征学习框架命名为MAS-SAM海洋动物分割。更具体地说,通过冻结SAM的编码器的预训练参数,并引入有效的适配器,我们建立了一个Adapter-informed SAM编码器(ASE)从海洋动物图像中提取特征。此外,我们还构造了一个超映射提取模块(HEM),用于从新SAM的编码器中提取多尺度特征映射。它为后续的掩模预测过程提供了全面的指导。为了改进SAM的解码器,我们引入了渐进预测解码器(PPD)来聚合来自原始提示、ASE和HEM的特征。当与融合注意力模块(FAM)嫁接时,我们的PPD可以优先考虑多粒度特征图的重要性,并从全局上下文线索中提取更丰富的海洋信息,以获得细粒度的局部细节。

4.网络结构详解

在这里插入图片描述
本文提出的框架(MAS-SAM)的整体结构。它由三个主要部分组成:适配器通知SAM编码器(ASE)、超映射提取模块(HEM)和渐进预测解码器(PPD)。

适配器通知SAM编码器Adapter-informed SAM Encoder
在这里插入图片描述

保留了原始SAM的核心组件,并利用两个参数高效的微调机制来改进预训练的编码器。如上图所示,我们将LoRA 和适配器分别输入到每个Transformer块的多头自注意(MHSA)和前馈网络(FFN)中。更具体地,令Xi ∈ RN×D为第i个Transformer块的输入。这里,N是令牌的数量,D表示嵌入维数。由LoRA修改的MHSA层可以表示如下:
在这里插入图片描述
其中,Wq、Wk和Wv分别是用于生成原始查询、关键字和值矩阵的三个线性投影层的权重。 W q , v d o w n ∈ R M × D W^{down}_{q,v} ∈ R^{M×D} Wq,vdownRM×D W q , v u p ∈ R M × D W^{up}_{q,v} ∈ R^{M×D} Wq,vupRM×D分别是两个线性投影层的权值,用于降低和恢复特征维数,其中M是向下映射的维度。通过这种方式,可以冻结预训练的权重(Wq、Wk和Wv)和利用秩分解矩阵来大大减少可训练参数的数量。

此外,我们将一个适配器插入到FFN中,如下所示:
在这里插入图片描述
其中LN和MLP代表层归一化(LN)和多层感知器(MLP)。σ是ReLU(Rectified Linear Unit)。 W a d p t d o w n ∈ R P × D W^{down}_{adpt} ∈ R^{P×D} WadptdownRP×D W a d p t u p ∈ R P × D W^{up}_{adpt} ∈ R^{P×D} WadptupRP×D分别是两个线性投影的权值,用于降低和恢复特征维数。P是向下投影维度。与LoRA类似,通过采用极低的参数P值,可以实现参数有效的微调,以使预训练的SAM的编码器适应海洋场景。

超地图提取模块
在这里插入图片描述

由于复杂的水下环境,利用局部的细节和全局的背景下,鲁棒性和准确的MAS十分重要。不同的Transformer层捕获不同级别的语义,通常,浅层保留更多的局部细节,深层表达更多的上下文信息。因此,为了使我们提出的模型利用更丰富的海洋信息,提出了一个超地图提取模块(HEM)考虑ASE的多尺度特征地图。然后,它作为后续掩模预测过程的综合指导。更具体地说,我们首先将图像 I ∈ R H × W × 3 I ∈ R^{H×W×3} IRH×W×3送入ASE(编码器),并获得不同Transformer层的输出。在这项工作中,我们选择了3-6-9-12层,并得到多尺度表征特征,即,Xi(i = 3,6,9,12)。然后,我们将它们重塑为空间特征映射 F i ∈ R H / 16 × W / 16 × D F_i ∈ R^{H/16×W/16×D} FiRH/16×W/16×D。为了同时考虑这些多尺度特征图,我们执行以下特征聚合:
在这里插入图片描述
其中ϕ1×1和ϕ3×3分别是具有1×1和3×3核的卷积层。为了提高训练的稳定性,在卷积层之后引入了批归一化(BN)和RELU激活函数。[·]是通道中的级联。
然后,我们引入通道注意层以生成超映射Hj,如下所示:
在这里插入图片描述
其中GAP是全局平均池(GAP),δ是Sigmoid函数,ψ2×2是具有2×2核的反卷积层。这样可以获得多比例尺的超图。这些超地图在提高MAS的性能方面起着至关重要的作用。

渐进预测解码器
在这里插入图片描述

由于海洋动物的外观变化很大,SAM中简单的解码器设计很难实现准确的分割掩模。为此提出了一种渐进预测解码器(PPD)来有效地提高预测能力。它具有金字塔结构,从原始提示、ASE和HEM中逐步聚合多源特征,并获得最终的分割预测。

在这里插入图片描述
如上图所示,提出了一个融合注意力模块(FAM)来完全聚合多源特征。更具体地说,我们开始对来自ASE的特征进行上采样,并将输入特征缩放为相同的大小。然后,我们将它们融合如下:
在这里插入图片描述
其中Ui是通过利用双线性插值Φ的上采样特征。Dj是所提出的PPD中的第j个金字塔级的输出。对于FAM,我们利用通道注意力来优先考虑多源功能的重要性。还部署了残差结构,以加强代表能力。该过程可以表述为:
在这里插入图片描述
GMP是Global Max Pooling(GMP)。通道权重可以突出相关特征并抑制不相关特征。同时,我们的FAM所采用的注意力机制有助于捕捉不同尺度的特征之间的复杂关系,从而产生更连贯和信息量更大的特征表示。因此,FAM可以有效地集成和细化多源功能。

最后,为了实现渐进式预测,我们构建了与FAM嫁接的PPD,如下所示:
在这里插入图片描述
其中Pj是第j个金字塔级的预测掩码。PPD推进原始提示,ASE和HEM的无缝聚合,从而产生更丰富的海洋信息,从全局上下文线索细粒度的局部细节。

为了进一步改善预测结果,我们在不同阶段进行所有预测,并生成最终预测,如下所示:
在这里插入图片描述
通过金字塔结构和FAM的协同使用,我们的MAS-SAM可以有效地利用各种信息,并为各种海洋动物形状和大小产生高度精细和详细的分割掩模。

损失函数
从三个层面进行深度监管,像素级监督(二进制交叉熵损失)、区域级监督(SSIM损失)和全局级监督(IoU损失)。因此,我们将Lf或Lj定义为具有三项的组合损失:
在这里插入图片描述
其中Lf和Lj分别是最终预测和第j级输出的损失。

问题

代码也没公开,中间的cross attention没有提,CMP也没有提,应该是最后金字塔解码器的每一级输出到最终输出P的过程。
文章提到解码器接收原始提示、ASE编码器和HEM的特征,但实际上只接收了HEM的Hi和ASE的Fi进行上采样处理,并没有接收原始提示,应该是ASE编码器与原始提示(也就是默认提示,因为文章没有对提示编码器进行更改)的最终输出,进行cross attention,作为D0。

总体来说创新点在于SAM中增加LoRA和适配器微调而冻结原SAM的图像编码器;增加了超地图提取模块把编码器的不同层特征提出来进行处理;解码器金字塔型,增加接收不同层的特征。

相关文章:

【论文阅读笔记】MAS-SAM: Segment Any Marine Animal with Aggregated Features

1.论文介绍 MAS-SAM: Segment Any Marine Animal with Aggregated Features MAS-SAM:利用聚合特征分割任何海洋动物 Paper Code(空的) 2.摘要 最近,分割任何模型(SAM)在生成高质量的对象掩模和实现零拍摄图像分割方面表现出卓越…...

C语言中的精确宽度类型

概述 在 C 语言标准库 <stdint.h> 中定义了一系列精确宽度的整数类型&#xff0c;这些类型保证了它们的位数宽度&#xff0c;从而允许编写跨平台的可移植代码。以下是一些常用的精确宽度整数类型&#xff1a; int8_t: 8位有符号整数uint8_t: 8位无符号整数int16_t: 16位…...

大数据比赛-环境搭建(一)

1、安装VMware Workstation 链接&#xff1a;https://pan.baidu.com/s/1IvSFzpnQFl3svWyCGRtEmg 提取码&#xff1a;ukpo 内有安装包及破解方式&#xff0c;安装教程。 2、下载Ubuntu系统 阿里巴巴开源镜像站-OPSX镜像站-阿里云开发者社区 (aliyun.com) 点击下载&#xff…...

微信小程序原生组件使用

1、video组件使用 <view class"live-video"><video id"myVideo" src"{{videoSrc}}" bindplay"onPlay" bindfullscreenchange"fullScreenChange" controls object- fit"contain"> </video&g…...

[数据集][目标检测]纸箱子检测数据集VOC+YOLO格式8375张1类别

数据集格式&#xff1a;Pascal VOC格式YOLO格式(不包含分割路径的txt文件&#xff0c;仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数)&#xff1a;8375 标注数量(xml文件个数)&#xff1a;8375 标注数量(txt文件个数)&#xff1a;8375 标注…...

2024HW Linux应急响应基础学习

首先展示关于Linux的关键目录&#xff0c;这是应急响应查看的关键&#xff1a; 常用命令 top //查看进程资源的占用情况 ps -aux //查看进程 直接写ps aux也可以 netstat -antpl //查看网络连接 ls -alh /proc/pid //查看某个pid对应的可执行程序 pid记得修改 lsof /…...

烽火三十六技丨网络资产安全治理平台新版本发布,一文看懂四大核心优势

云计算、移动互联网、物联网等技术飞速发展&#xff0c;网络环境愈发开放互联&#xff0c;原有的资产管理方式已难以适应当下的变化。同时&#xff0c;网络资产需求的突发性和人为疏忽&#xff0c;也时常导致资产数量不明、类型模糊、安全漏洞检查不全面等问题。因此&#xff0…...

视频资源汇聚平台常见的几种接入方式

视频资源汇聚平台 视频汇聚平台可以实现海量资源的接入、汇聚、存储、处理、分析、运维等&#xff0c;平台具备轻量化接入能力&#xff0c;可支持多协议方式接入&#xff0c;包括主流标准协议GB28181、RTSP、ONVIF、RTMP、FLV、WEBSOCKET等&#xff0c;以及厂家私有协议与SDK接…...

LeetCode 212.单词搜索II

https://leetcode.cn/problems/word-search-ii/description/?envTypestudy-plan-v2&envIdtop-interview-150 文章目录 题目描述解题思路代码实现 题目描述 给定一个 m x n 二维字符网格 board 和一个单词&#xff08;字符串&#xff09;列表 words&#xff0c; 返回所有二…...

android 蓝牙技术 学习记录

一 。蓝牙介绍 蓝牙可以分为 经典蓝牙-----》传统蓝牙(BT 1.0/2.0/2.1)和高速蓝牙(BT3.0) 低功耗蓝牙 ----》BLE(BLE 4.0/4.1/4.2/5.0./5.1/5.2)和 Bluetooth Mesh 关于蓝牙协议。除开Mesh大致可以分为3层: App:上层协议有很多,例如ANP,HOGP,FTMP 等等 host:中…...

2024数维杯数学建模B题完整论文讲解(含每一问python代码+结果+可视化图)

大家好呀&#xff0c;从发布赛题一直到现在&#xff0c;总算完成了2024数维杯数学建模挑战赛生物质和煤共热解问题的研究完整的成品论文。 本论文可以保证原创&#xff0c;保证高质量。绝不是随便引用一大堆模型和代码复制粘贴进来完全没有应用糊弄人的垃圾半成品论文。 B题论…...

二叉树进阶 --- 中

目录 1. find 的递归实现 2. insert 的递归实现 3. erase 的递归实现 3.1. 被删除的节点右孩子为空 3.2. 被删除的节点左孩子为空 3.3. 被删除的节点左右孩子都不为空 4. 析构函数的实现 5. copy constructor的实现 6. 赋值运算符重载 7. 搜索二叉树的完整实现 1. fi…...

ChatGPT DALL-E绘图,制作各种表情包,实现穿衣风格的自由切换

DALL-E绘图功能探索&#xff1a; 1、保持人物形象一致&#xff0c;适配更多的表情、动作 2、改变穿衣风格 3、小女孩的不同年龄段展示 4、不同社交平台的个性头像创作 如果不会写代码&#xff0c;可以问GPT。使用地址&#xff1a;我的GPT4 视频&#xff0c;B站会发&#…...

程序环境和预处理、编译链接过程、编译的几个阶段、运行环境、预定义符号等的介绍

文章目录 前言一、程序的翻译环境和执行环境二、编译链接过程三、编译的几个阶段四、运行环境五、预定义符号总结 前言 程序环境和预处理、编译链接过程、编译的几个阶段、运行环境、预定义符号的介绍。 一、程序的翻译环境和执行环境 在 ANSI C 的任何一种实现中&#xff0c…...

MySQL导入导出详细教程

导出 语法 mysqldump [OPTIONS] database [tables] mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] mysqldump [OPTIONS] --all-databases [OPTIONS]导出所有数据库 mysqldump -uroot -proot --all-databases >/tmp/all.sql导出db1、db2两个数据库的所有数…...

STM32F103学习笔记 | 8. 二,八,十,十六进制表示方式

文章目录 进制基本信息参考文献 进制基本信息 C语言中的表示&#xff0c;前缀加0表示八进制数&#xff0c;前缀加0x表示十六进制数 基数数码名称描述代码和书本中的表示举例20 和 1二进制逢二进一&#xff0c;几乎所有的电子计算机内部都使用二进位制&#xff0c;分别为“0”…...

ROS2 工作空间

文章目录 ROS2 工作空间创建工作空间自动安装依赖编译工作空间设置环境变量参考链接 ROS2 工作空间 工作空间可以简单理解为工程目录。 ROS 系统中一个典型的工作空间结构如图所示&#xff1a; dev_ws&#xff1a; 根目录&#xff0c;里面会有四个子目录&#xff08;子空间&a…...

基于CCS5.5的双音多频(DTMF)信号检测仿真实验(①检测型音频文件②输入生成音频并检测)

DTMF的优点 我们知道,DTMF根本上仍然是频谱分析,基础还是DFT,但DFT通常需要对一整段数据做变换,而DTMF不同,每输入一个采样点就计算一次,更有利于硬件实现。 基于CCS的双音多频(DTMF)信号检测原理 公式详细推导 详细的公式推导在下面这篇博客中已经进行了详细的描述,…...

Postgresql中JIT函数能否inline的依据function_inlinable

相关 《Postgresql源码&#xff08;128&#xff09;深入分析JIT中的函数内联llvm_inline》 《LLVM的ThinLTO编译优化技术在Postgresql中的应用》 前置阅读&#xff1a;《Postgresql源码&#xff08;128&#xff09;深入分析JIT中的函数内联llvm_inline》 在JIT inline函数的过…...

存储过程作为初始化数据例子

查询出每个人员&#xff0c;为每个人员插入11条数据&#xff0c;作为初始化数据 oracle存储过程 CREATE OR REPLACE PROCEDURE initialize_order_warn_config ISv_id NUMBER; BEGINSELECT COALESCE(MAX(id), 0) INTO v_id FROM order_warn_config;FOR rec IN (SELECT DISTINCT…...

国防科技大学计算机基础课程笔记02信息编码

1.机内码和国标码 国标码就是我们非常熟悉的这个GB2312,但是因为都是16进制&#xff0c;因此这个了16进制的数据既可以翻译成为这个机器码&#xff0c;也可以翻译成为这个国标码&#xff0c;所以这个时候很容易会出现这个歧义的情况&#xff1b; 因此&#xff0c;我们的这个国…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

stm32G473的flash模式是单bank还是双bank?

今天突然有人stm32G473的flash模式是单bank还是双bank&#xff1f;由于时间太久&#xff0c;我真忘记了。搜搜发现&#xff0c;还真有人和我一样。见下面的链接&#xff1a;https://shequ.stmicroelectronics.cn/forum.php?modviewthread&tid644563 根据STM32G4系列参考手…...

CentOS下的分布式内存计算Spark环境部署

一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架&#xff0c;相比 MapReduce 具有以下核心优势&#xff1a; 内存计算&#xff1a;数据可常驻内存&#xff0c;迭代计算性能提升 10-100 倍&#xff08;文档段落&#xff1a;3-79…...

dedecms 织梦自定义表单留言增加ajax验证码功能

增加ajax功能模块&#xff0c;用户不点击提交按钮&#xff0c;只要输入框失去焦点&#xff0c;就会提前提示验证码是否正确。 一&#xff0c;模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

令牌桶 滑动窗口->限流 分布式信号量->限并发的原理 lua脚本分析介绍

文章目录 前言限流限制并发的实际理解限流令牌桶代码实现结果分析令牌桶lua的模拟实现原理总结&#xff1a; 滑动窗口代码实现结果分析lua脚本原理解析 限并发分布式信号量代码实现结果分析lua脚本实现原理 双注解去实现限流 并发结果分析&#xff1a; 实际业务去理解体会统一注…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...

代码随想录刷题day30

1、零钱兑换II 给你一个整数数组 coins 表示不同面额的硬币&#xff0c;另给一个整数 amount 表示总金额。 请你计算并返回可以凑成总金额的硬币组合数。如果任何硬币组合都无法凑出总金额&#xff0c;返回 0 。 假设每一种面额的硬币有无限个。 题目数据保证结果符合 32 位带…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...