【论文阅读】SAM-CP:将SAM与组合提示结合起来的多功能分割
导言
近年来,视觉基础模型的快速发展推动了多模态理解的进步,尤其是在图像分割任务中。例如,Segment Anything模型(SAM)在图像Mask分割上表现出色,但在语义及实例分割方面仍存在局限。本文提出的SAM-CP,通过引入可组合的提示机制,显著增强了模型在复杂场景下的语义理解能力。这一方法不仅提高了分割任务的灵活性和准确性,也为视觉模型在开放词汇和实例识别中的应用提供了新的思路,使其在多种视觉任务中具有更广泛的适用性。
1 论文简介
论文题目:
SAM-CP: Marrying SAM with Composable Prompts for Versatile Segmentation
研究领域:
计算机视觉、语义分割、实例分割、多模态
论文作者:
Pengfei Chen, Lingxi Xie, Xinyue Huo, Xuehui Yu, Xiaopeng Zhang, Yingfei Sun, Zhenjun Han, Qi Tian
论文链接:
https://arxiv.org/abs/2407.16682
论文来源;
ICLR 2025
2 论文主要方法
2.1 理论概念
本文提出SAM-CP(SAM-Composable Prompts)方法,通过组合两组提示来执行分割任务。
提示一,判断SAM分割的Mask是否与给定的文本标签对齐。



提示二,判断同一类别下的Mask是否属于同一实例。
- 针对已经通过提示一标记的Mask,计算Mask组之间的相似度
- 依据相似度将Mask组进一步分组,以确定相同实例的目标集合
- 遍历得到的补丁集合,首先进行语义标注,然后进一步将同一实例进行分组,实现语义分割和实例分割。

2.2 网络架构
- Patch Encoder:负责将Mask转换成特征向量
- Unified Affinity Decoder:处理相似性匹配,合并相似的
- Mask Affinity Calculation:计算Mask组之间的亲和力
- Category Assign:进行最终的Mask组分类

2.3 实验效果

3 论文针对的问题
SAM模型在高效分割视觉内容方面表现出色,但在语义分割和实例分割任务中仍面临挑战。具体而言,SAM可能会将同一对象过度分割为多个补丁,导致很难确定哪些补丁属于同一实例。此过度分割现象不仅增加了后续标签和处理的复杂性,也影响了模型在具体应用中对场景的准确理解和识别。
尽管当前有多种方法尝试改进SAM在分割任务中的表现,但大部分方法依赖于其他单独的模型进行Mask的提取,从而限制了SAM作为基础模型的独立和有效性。这种方式会降低SAM的作用,不利于其在更复杂语义任务中的灵活应用,进而影响整个视觉识别系统的性能和效率。


4 论文创新点
本文的创新点主要体现在提出了一种名为SAM-CP的全新方法,该方法通过引入可组合的提示(composable prompts)来增强SAM模型的语义分割和实例分割能力。其创新包括:
-
两类型提示的设计:通过设计两种提示,Prompt I用于判断SAM产生的补丁是否与给定的文本标签对齐,而Prompt II用于确定两个补丁是否属于同一实例。这样的设计优化了对补丁的分组与标注,解决了SAM在实例分割任务中的过度分割问题。
-
统一的亲和力框架:本文建立了一个统一的亲和力框架,结合不同的提示输出,不仅提升了语义分割和实例分割的准确性,还实现了更高效的训练和推理。这种方法能够处理开放词汇和闭合领域的分割任务,拓展了SAM在多模态理解中的应用范围。
总结
- SAM-CP增强了SAM模型的语义分割和实例分割的能力,推动图像大模型的进一步发展提供了新思路。
- 在具体的应用场景内,缺乏对应文本标签,如何有效地将特定领域内的文本标签与图像掩码进行匹配是未来研究的挑战。
相关文章:
【论文阅读】SAM-CP:将SAM与组合提示结合起来的多功能分割
导言 近年来,视觉基础模型的快速发展推动了多模态理解的进步,尤其是在图像分割任务中。例如,Segment Anything模型(SAM)在图像Mask分割上表现出色,但在语义及实例分割方面仍存在局限。本文提出的SAM-CP&am…...
ecovadis社会企业责任认证
EcoVadis 是一家全球性的企业社会责任 (CSR) 评级机构,旨在通过评估企业在环境、劳工与人权、商业道德和可持续采购等方面的表现,帮助提升其可持续性和社会责任实践。 EcoVadis 认证的核心内容 环境 评估企业在能源消耗、碳排放、废物管理等方面的表现。…...
机器视觉3D中,深度图与点云图数据对比分析
在机器视觉3D中,深度图(Depth Map)和点云图(Point Cloud)是两种不同的数据表示形式,主要区别如下: 数据维度与结构 深度图 二维矩阵:每个像素存储对应场景中某一点的深度值(即到相机的距离)。 坐标系:基于图像坐标系(2D),每个像素的坐标是 (u, v),对应的深度值为…...
逻辑架构与软件架构在PREEvision中的设计关系
1 Introduction 在如今汽车电子系统的开发过程中,系统架构设计是至关重要的环节。无论是汽车控制系统、信息娱乐系统,还是电动驱动系统,架构设计都决定了整个系统的功能、性能以及后期的可维护性和可扩展性。 在往期文章中,我们…...
机器学习和深度神经网络 参数调参数 太麻烦,非常费时间怎么办,用自动化超参数优化方法
自动化超参数优化方法主要包括以下几种: 网格搜索(Grid Search):网格搜索是通过在给定的超参数搜索空间内尝试所有可能的组合,最后找出最优的超参数组合。这种方法虽然直观,但计算成本较高࿰…...
武汉火影数字|VR沉浸式空间制作 VR大空间打造
VR沉浸式空间制作是指通过虚拟现实技术创建一个逼真的三维环境,让用户能够沉浸在这个环境中,彷佛置身于一个全新的世界。 也许你会好奇,VR 沉浸式空间究竟是如何将我们带入那奇妙的虚拟世界的呢?这背后,离不开一系列关…...
MQTT的连接配置以及重连机制和遇到的问题--------求如何修改更加好
今天遇到了一个mqtt的问题,虽然解决了,但是感觉不是很好,希望大家多指点 这是配置文件 customer:mqtt:broker: tcp://ip:1883clientList:- clientId: nays_servicesubscribeTopic: xxxxxx- clientId: receive_servicesubscribeTopic: xxxxx…...
大数据学习之任务流调度系统Azkaban、Superset可视化系统
一.任务流调度系统Azkaban 1.课程介绍 2.为什么需要工作流调度系统 3.AZKABAN是什么 4.AZKABAN下载 5.制作安装包 6.tar包准备 7.MYSQL配置AZKABAN 8.配置EXECUTOR SERVER 9.配置WEBSERVER 10.单作业实战_yaml语言(今天稍晚更新) 11.单作业实战 12.多作业依赖实战 13.失败自动重…...
在VS-qt的程序中,后期增加PCH预编译功能,提高编译速度
由于前期创建qt程序的时候未勾选pch功能,导致没有启动预编译的功能. 这种情况下需要增加pch功能应该怎么做? 在项目中增加2个文件 stdafx.h和stdafx.cpp文件 stdafx.h增加qt常用头文件 #pragma once //windows #include <windows.h>//qt常用 #include <QObject&g…...
蓝桥云客 路径之谜
11.路径之谜 - 蓝桥云课 路径之谜 题目描述 小明冒充X星球的骑士,进入了一个奇怪的城堡。 城堡里边什么都没有,只有方形石头铺成的地面。 假设城堡地面是nn个方格。如下图所示。 按习俗,骑士要从西北角走到东南角。可以横向或纵向移动&…...
ES6相关操作
一.JavaScript的基础语法 1.Demo1.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>JavaScrip…...
在Linux上创建一个Docker容器并在其中执行Python脚本
在Linux上创建一个Docker容器并在其中执行Python脚本的过程,涉及多个方面的内容,包括安装Docker、编写Dockerfile、构建镜像、运行容器等。 1. 安装Docker 在Linux上使用Docker之前,你需要确保系统已安装Docker。Docker支持的Linux发行版有…...
Ubuntu 下 nginx-1.24.0 源码分析 - ngx_os_init 函数
ngx_os_init 声明在 src/os/unix/ngx_os.h ngx_int_t ngx_os_init(ngx_log_t *log); 定义在 src\os\unix\ngx_posix_init.c ngx_int_t ngx_os_init(ngx_log_t *log) {ngx_time_t *tp;ngx_uint_t n; #if (NGX_HAVE_LEVEL1_DCACHE_LINESIZE)long size; #endif#if (NGX…...
【Python项目】基于Python的语音数据及标注核对审核系统
【Python项目】基于Python的语音数据及标注核对审核系统 技术简介: 采用Python技术、MySQL数据库、Django框架等实现。 系统简介: 语音数据及标注核对审核系统是一个基于B/S架构的语音数据处理平台,旨在通过自动化的方式对语音数据进行标…...
深入解析BFS算法:C++实现无权图最短路径的高效解决方案
在无权图中,广度优先搜索(BFS)是解决最短路径问题的高效算法。接下来博主从专业角度深入探讨其实现细节,并给出C代码示例: 目录 一、核心原理 二、算法步骤 三、C实现关键点 1. 数据结构 2. 边界检查 3. 路径回溯…...
LeetCode刷题---二分查找---441
排列硬币 441. 排列硬币 - 力扣(LeetCode) 题目 你总共有 n 枚硬币,并计划将它们按阶梯状排列。对于一个由 k 行组成的阶梯,其第 i 行必须正好有 i 枚硬币。阶梯的最后一行 可能 是不完整的。 给你一个数字 n ,计算…...
Unity结合Vuforia虚拟按键实现AR机械仿真动画效果
零、最终效果 待上传 一、资源准备 1、Vuforia Vuforia版本不能高于10.17.4(往上的版本虚拟按键功能被删除) 2、Unity Unity版本必须要高于2022.3.x,不然使用Vuforia插件时会出现bug 二、主要内容 1、添加虚拟按钮 2、为虚拟按钮设置…...
网络安全 linux学习计划 linux网络安全精要
🍅 点击文末小卡片 ,免费获取网络安全全套资料,资料在手,涨薪更快 2.使用命令行 文件系统层次标准(FHS)是一个文件和目录在Unix和Linux操作系统上面应该如何存储的定义。 /bin 重要的二进制可执行程序/bo…...
深度解析2025最新微服务版本特性
当程序猿张三在凌晨三点对着满屏报错日志抓狂时,他绝对想不到2025年的微服务架构已经进化成了会哄睡的技术保姆。这年头要是谁家系统还像俄罗斯套娃般环环相扣,出门都不好意思跟同行打招呼。且看这群代码世界的乐高大师们,今年又给我们整了哪…...
世界棒球经典赛(World Baseball Classic)·棒球1号位
世界棒球经典赛(World Baseball Classic)是一项由美国职棒大联盟(MLB)和国际棒球总会(IBAF,现更名为世界棒垒球联盟WBSC)共同主办的国际棒球赛事。该赛事吸引了来自世界各地的顶尖棒球队伍参与&…...
为AI聊天工具添加一个知识系统 之115 详细设计之56 知识表征 之2
本文要点 要点 知识表征的顶级范畴中最好是先将九个原语primitive T, ⊥, Independent, Relative, Mediating, Physical, Abstract, Continuant,和 Occurrent 进行分组(分成2大组 和 4个小组)并写出它们的满足公司,然后将它们和三种设计&am…...
rust 实例化动态对象
在功能开发中,动态创建或获取某个对象的情况很多。在前端JS开发中,可以使用工厂函数,通过给定的类型标识创建不同的对象实例;还可以通过对象映射来实现动态创建对象。 在Rust中,我们也可以使用这两种方式去创建对象实…...
支持向量机 (Support Vector Machine, SVM)
支持向量机 (Support Vector Machine, SVM) 支持向量机(SVM)是一种广泛应用于分类、回归分析以及异常检测的监督学习算法。它基于结构风险最小化(Structural Risk Minimization,SRM)原则,通过寻找一个最优…...
C#初级教程(1)——C# 与.NET 框架:探索微软平台编程的强大组合
图片来源: https://www.lvhang.site/docs/dotnettimeline 即梦AI - 一站式AI创作平台 一、历史发展脉络 在早期的微软平台编程中,常用的编程语言有 Visual Basic、C、C。到了 20 世纪 90 年代末,Win32 API、MFC(Microsoft Found…...
Mac m1 连接公司内网
1、创建VPN 1、在系统偏好设置 2、选择网络 3、进行添加 2、添加设置 1、选择VPN 2、类型选择L2TP/IPSec 3、填写服务器IP和账号 4、点击认证设置-填写密码 。然后应用 3、进行特殊配置 网上说苹果系统的问题。 1、创建命令 sudo vim /etc/ppp/options 2、添加内容-主要别…...
C++:类与对象,定义类和构造函数
#define _CRT_SECURE_NO_WARNINGS 1 #include <iostream> using namespace std; //如何让定义一个类 // 封装 // 1、将数据和方法定义到一起。 // 2、把想给你看的数据给你看,不想给你看的封装起来。 通过访问限定符来实现 class Stack { public: //1.成…...
杨校老师课堂之信息学奥赛结构体操作使用经典题集锦汇总
C基础:结构体数组综合训练 员工信息处理系统题目描述输入描述输出描述解题思路参考代码 员工信息处理系统 题目描述 在一家企业中,员工信息的准确性和时效性是日常人事管理工作的关键。由于企业员工数量众多,手动统计与更新员工信息不仅耗费大量时间&a…...
8. Flink-CDC
1. Flink-CDC的介绍 Flink-cdc主要是用来同步数据库中的数据,它的主要优势在于基于Flink框架直接用Flink Stream Api 或Flink SQL 直接编程,不需要引入第三方组件 2.Flink-CDC的使用 Flink-cdc在使用上需要注意的点 注意Flink-cdc在2.1版本之前需要导…...
Windows 权限结构和原理:深入浅出
一、什么是权限? 权限,是指在操作系统或应用程序中,某个对象(如用户、程序、设备等)对特定资源的可操作范围。具体来说,权限控制了一个主体(通常是用户或应用程序)对某个资源&#…...
Nginx环境安装
一、官网地址 Nginx官网:http://nginx.org/ Nginx中文网:https://nginx.p2hp.com/ 二、Nginx版本 mainline version 开发版本stableversion 稳定版本legacy version 历史版本 三、Windows系统安装Nginx 第一步:选择Windows版本,…...
