伪装目标检测论文阅读之Dual-SAM(CVPR-2024)

论文:link
code:code
Fantastic Animals and Where to Find Them:Segment Any Marine Animal with Dual SAM

摘要

  作为水下智能的重要支柱,海洋动物分割(MAS)涉及对海洋环境中的动物进行分割。以往的方法在提取长范围上下文特征方面表现不佳,并且忽略了离散像素之间的连通性。最近,Segment Anything Model(SAM)为一般的分割任务提供了一个通用的框架。遗憾的是,SAM是用自然图像训练的,不能从海洋图像中获得先验知识。此外,地对空导弹的单一位置提示对于事前制导来说是非常不够的。为了解决这些问题,我们提出了一种新的特征学习框架,称为Dual-SAM,用于高性能MAS。为此,我们首先引入SAM范式的双重结构来增强海洋图像的特征学习。然后,我们提出了一种多层耦合提示(MCP)策略来指导全面的水下先验信息,并通过适配器增强了SAM编码器的多层特征。随后,我们设计了一个扩展的融合注意模块(DFAM)来逐步整合SAM编码端的多层次特征。最后,我们没有直接预测海洋动物的面具,而是提出了一种Criss-Cross Connectivity预测(C3P)范例来捕捉离散像素之间的相互连接。使用双解码器,它生成伪标签,并实现对互补特征表示的相互监督,从而比以前的技术有了很大的改进。大量的实验证明,我们提出的方法在五个广泛使用的MAS数据集上取得了最好的性能。

1.介绍

  本文提出了一种新的特征学习框架Dual-SAM,用于高性能多智能体系统。图1显示了我们的灵感和优势。在技术上,我们首先利用SAM的范式引入双重结构,通过伽马校正操作来增强海洋图像的特征学习。同时,我们通过适配器增强了SAM编码器的多层次特性。在此基础上,提出了一种多层次耦合提示(MCP)策略来指导全面的水下先验信息的自动提示。随后,我们设计了一个扩展的融合注意模块(DFAM)来逐步整合SAM编码端的多层次特征。最后,我们没有直接预测海洋动物的面具,而是提出了一种Criss-Cross Connectivity预测(C3P)范例来捕捉离散像素之间的互连。该算法利用双解码器生成伪标签,实现了对互补特征表示的相互监督。与以前的标量预测技术相比,所提出的矢量化表示法具有显著的改进。大量的实验表明,我们提出的方法在五个广泛使用的MAS数据集上取得了最好的性能。
在这里插入图片描述
总结,贡献:
• 提出了一种新的海洋动物分割特征学习框架–Dual-SAM,该框架继承了SAM的能力,并自适应地融入了水下场景的先验知识。
•提出了一种多层次耦合提示(Multi-level Coupled Prompt)策略,通过自动提示来指导全面的水下先验信息
•提出了一种扩展的融合注意模块(DFAM)和Criss交叉连接预测来改善海洋动物的定位感知
•进行大量实验来验证所提出模块的有效性,方法在五个MAS数据集上实现了新的最先进的性能。

2.相关工作

2.1 Marine Animal Segmentation 海洋动物分割

  MAS面临着巨大的挑战,如可变光照、颗粒物、水浊度等。在过去的几十年里,大多数现有的方法主要利用手工制作的特征从技术上讲,基于能量的模型通常被用来预测海洋动物的二进制掩膜。虽然它们取得了很大的成功,但仍然存在一些关键的局限性,如对模糊的稳健性较差,边界不清晰等。随着深度学习的兴起,神经网络成为多智能体系统的首选模型。已经提出了各种网络体系结构来实现性能改进。例如,Li等人[36]提出了一种特征交互编码器和级联译码,以提取更全面的信息。Liu等人[40]结合了通道和空间注意模块来优化特征地图,以获得更好的对象边界。此外,Chen等人[5]提取多尺度特征并引入注意力融合块来突出海洋动物。Fu等人[15]设计了一种数据扩充策略,并使用暹罗结构来学习共享的语义信息。这些基于CNN的模型虽然有效,但缺乏捕捉复杂海洋图像的长期相关性和复杂细节的能力。
  最近,Vision Transformer(VIT)[8]展示了对多种数据类型的出色的全局理解能力。通过结构修改,它在各种分割任务中提供了显著的性能[58,70,71,87]。至于MAS,Hong等人[20]将基于Transformer的编码器应用于水下图像,并显示了有希望的动物分割结果。然而,Transformer面临的一个重大挑战是需要大量的训练数据。目前,还没有用于Transformer培训的超大规模MAS数据集。

2.2 Segment Anything Model for Customized Tasks

  最近,为了实现通用的图像分割,人们提出了SAM。它在大规模分割数据集上进行训练,并显示出零镜头传输能力。通过各种类型的提示,它可针对多种应用程序进行高效部署。然而,它在传输场景中表现出性能限制。此外,SAM解码器的简单性在处理细节感知的分割任务时是一个障碍。为了解决这些限制,人们提出了各种方法。一些作品采用适配器来向SAM注入特定于领域的信息。其他人选择了更具体的解码器结构来改善域感知。还努力使提示的生成自动化,以获得更好的适应性。尽管有这些进步,但由于使用自然图像进行训练,SAM并不能从特定领域获得足够的先验知识。此外,地对空导弹的单一位置提示对于事前制导来说是非常不够的。至于MAS,我们发现只有一项工作涉及微调水下场景的SAM。因此,在这项工作中,我们对SAM进行了深入的研究,以改进定制任务。
所以就是改善了SAM

3.方法

  主要由五部分组成:Dual-SAM Encoder(DSE)、Multi-level Coupled Prompt(MCP) 、Dilated Fusion Attention Module(DFAM),Cirss-Cross Connectivity Prediction(C3P)、Pseudo-label Mutual Supervision(PMS)
在这里插入图片描述

3.1 Dual-SAM Encoder

I β = I α γ , γ = lg ⁡ ( 0.5 ) − lg ⁡ ( m e a n I g r a y / 255 ) {I^\beta } = \sqrt[\gamma ]{{{I^\alpha }}},\gamma = \lg \left( {0.5} \right) - \lg \left( {mean_I^{gray}/255} \right) Iβ=γIα ,γ=lg(0.5)lg(meanIgray/255)
海洋图像: I α I_{\alpha} Iα 校正图像: I β I_{\beta} Iβ,其中 γ \gamma γ是伽马系数,平均灰度I是图像的灰度强度的平均值。
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834009.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Python | Leetcode Python题解之第77题组合

题目: 题解: class Solution:def combine(self, n: int, k: int) -> List[List[int]]:ans []path []def dfs(x):remain k - len(path)if not remain:ans.append(list(path))returnif n 1 - x > remain:dfs(x 1)path.append(x)dfs(x 1)path.…

如何在Python中处理图像的直方图均衡化?

在Python中,可以使用OpenCV和matplotlib库来处理图像的直方图均衡化。下面是一个简单的示例代码: import cv2 import numpy as np import matplotlib.pyplot as plt# 读取图像 image cv2.imread(image.jpg, 0)# 直方图均衡化 equ cv2.equalizeHist(im…

宁夏编程培训中心联络及介绍

版权宁夏编程培训中心 宁夏编程培训中心介绍 AI DuLuo:您好🤝 欢迎咨询宁夏编程培训中心,创始人账号 公司介绍及创始人介绍: 在职某地区阿里云计算机有限公司 国内,南非发明专利各一项,腾讯云阿里云专家&am…

vue视图不刷新强制更新数据this.$forceUpdate()

在vue中,更新视图数据,不刷新页面,需要强制更新数据才可以 前言 在对数据就行添加和删除时,发现页面视图不更新,排除发现需要强制更新才可以 点击添加或删除,新增数据和删除就行,但在不使用fo…

内容安全(AV)

防病毒网关(AV)简介 基于网络侧 识别 病毒文件,工作范围2~7层。这里的网关指的是内网和外网之间的一个关口,在此进行病毒的查杀。在深信服中就有一个EDR设备,该设备就是有两种部署,一个部署在网关&#xf…

C# 局部静态函数,封闭方法中的最佳选择

C# 局部静态函数,封闭方法中的最佳选择 简介特性 应用场景辅助计算递归与尾递归优化筛选与过滤操作查找与映射操作 生命周期静态局部函数 vs 普通局部函数性能封装性可读性 简介 C# 局部静态函数(Local Static Functions)是一种函数作用域内…

51单片机keil编程中遇到的问题(持续更新)

字符无法打印报错 查看特殊功能寄存器名字的时候也会报错,因为无法编译通过,导致头文件的定义内容无法查找 keil编译中 error C127: ‘xx’: invalid storage class 这种一般是在编写头文件或源文件时,在声明函数的结尾没有添加分号&…

在阿里云K8S容器中,部署websocket应用程序的总结

一、背景 有一个websocket应用程序,使用spring boot框架开发,http端口号是6005,提供的是websocket服务,所以它还监听一个8889端口的tcp协议。 现在要把它部署到阿里云的k8s容器里,本文着重描述service层的配置。 因…

深度解析GoLand map原理及实现,手撕源码!(一)——基本介绍,初始化,读

深度解析GoLand map原理及实现,手撕源码!(一)——基本介绍,初始化,读 一、map(1) map的初始化:(2) map的基本方法:(3) map的核心原理(4) map源码详解4.1 结构体4.1.1 hmap4.1.2 mape…

《intel开发手册卷1》学习笔记1

1、操作模式 IA-32架构支持三种基本操作模式:保护模式、实地址模式和系统管理模式。操作模式决定了哪些指令和体系结构功能是可访问的: 1)保护模式:该模式是处理器的自然状态。保护模式的功能之一是能够在受保护的多任务环境中直接执行“实地址模式”80…

Mac 电脑安装 Raptor 流程图软件的方法

0. 安装逻辑 (1)运行 raptor,本质上需要 mac 能够运行 windows 程序,因此需要安装 .NET Runtime 7.0,这是微软程序运行必须的文件。 (2)运行 raptor 还需要安装依赖文件 mono-libgdiplus。 &am…

RabbitMQ - 以 MQ 为例,手写一个 RPC 框架 demo

目录 前言 一、再谈自定义应用层协议 二、再谈 BrokerServer 三、再谈 Connection、Channel 四、Demo a)启动服务器 b)客户端连接 前言 本篇文章来自于笔者之前写过的一个系列 —— “根据源码,模拟实现 RabbitMQ” 系列&#xff0c…

Linux-笔记 常用命令

(持续更新) 1、压缩: tar -vcjf test1.tar.bz2 test1 tar -vczf test1.tar.gz test1 2、解压 tar -vxjf test1.tar.bz2 tar -vxzf test2.tar.gz 3、查找 find [路径] [参数] [文件名] : find / -name test* grep [参数] 关键字 路径&a…

JS中数组去重的几种方法

在JavaScript中,有多种方法可以实现数组去重。以下是一些常见的方法: 1,使用ES6的Set数据结构 Set数据结构只允许存储唯一的值(无论是原始值或者是对象引用),因此是数组去重的理想选择。 let arr [1, 2…

CentOs9编译C指令报错的一种解决方案

今天使用centos9编译c代码时,显示bash: gcc: command not found... 下图是我的报错页面,依据提示信息安装gcc之后依旧显示失败 找到其中一种解决方式,完美解决,供参考 输入以下指令更新软件包列表,这里需要等待几分…

MT3031 AK IOI

思路:把每个节点存到堆(大根堆)里。 如果节点放入后总时间没有超过m则放入堆中;如果总时间超过了,就看堆头元素是否比新元素大。如果大,则删除堆头(反悔贪心)。 注意别忘记开long l…

keystone学习小结

1 keystone middleware 1.1 工作流程 middleware在客户端和服务端之间,会拦截客户端请求并判断请求身份是否是正确合法的,若是,则继续将请求发给其他middleware或app 具体看,干了这些事 1将请求里的auth header去除&#xff0c…

毕业论文画图软件推荐

给大家分享了一些毕业论文画图软件,仅供参考! 1.Microsoft visio 推荐指数:⭐️⭐️⭐️⭐️ ✅优点: -功能真的多且强大 -反正功能真的挺全的比较细节,但好像没有模板? ❌缺点: -不好安装,需要激活使用 -文件大&…

爬虫:爬取豆瓣电影

文章目录 前言一、pandas是什么?二、使用步骤 1.引入库2.读入数据总结 前言 上篇我们将到如何利用xpath的规则,那么这一次,我们将通过案例来告诉读者如何使用Xpath来定位到我们需要的数据,就算你不懂H5代码是怎么个嵌套或者十分复…

C++新特性-线程

主要内容 thread、condition、mutexatomicfunction、bind使用新特性实现线程池(支持可变参数列表)异常协程其他 1 C11多线程thread 重点: join和detach的使用场景thread构造函数参数绑定c函数绑定类函数线程封装基础类互斥锁mutexconditi…