0

0

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

DDD

DDD

发布时间:2024-11-16 15:27:36

|

798人浏览过

|

来源于机器之心

转载

本文作者均来自北京大学王选计算机研究所。主要作者包括:林志威,北京大学博士生;王勇涛,北京大学副研究员;汤帜,北京大学研究员。

本文介绍了来自北京大学王选计算机研究所的王勇涛团队的最新研究成果 VL-SAM。针对开放场景,该篇工作提出了一个基于注意力图提示的免训练开放式目标检测和分割框架 VL-SAM,在无需训练的情况下,取得了良好的开放式 (Open-ended) 目标检测和实例分割结果,论文已被 NeurIPS 2024 录用。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

  • 论文标题:Training-Free Open-Ended Object Detection and Segmentation via Attention as Prompts
  • 论文链接:https://arxiv.org/abs/2410.05963

论文概述

本文提出了一个无需训练的开放式目标检测和分割框架,结合了现有的泛化物体识别模型(如视觉语言大模型 VLM)与泛化物体定位模型(如分割基础模型 SAM),并使用注意力图作为提示进行两者的连接。在长尾数据集 LVIS 上,该框架超过了之前需要训练的开放式方法,同时能够提供额外的实例分割结果。在自动驾驶 corner case 数据集 CODA 上,VL-SAM 也表现出了不错的结果,证明了其在真实应用场景下的能力。此外,VL-SAM 展现了强大的模型泛化能力,能够结合当前各种 VLM 和 SAM 模型。

研究背景

深度学习在感知任务方面取得了显著成功,其中,自动驾驶是一个典型的成功案例。现有的基于深度学习的感知模型依赖于广泛的标记训练数据来学习识别和定位对象。然而,训练数据不能完全覆盖真实世界场景中所有类型的物体。当面对分布外的物体时,现有的感知模型可能无法进行识别和定位,从而可能会发生严重的安全问题。

为了解决这个问题,研究者们提出了许多开放世界感知方法。这些方法大致可以分为两类:开集感知(open-set)和开放式感知(open-ended)。开集感知方法通常使用预训练的 CLIP 模型来计算图像区域和类别名称之间的相似性。因此,在推理过程中,这类方法需要预定义的对象类别名称作为 CLIP 文本编码器的输入。然而,在许多现实世界的应用场景中,并不会提供确切的对象类别名称。例如,在自动驾驶场景中,自动驾驶车辆可能会遇到各种意想不到的物体,包括起火或侧翻的事故车和各种各样的建筑车辆。相比之下,开放式感知方法更具通用性和实用性,因为这些可以同时预测对象类别和位置,而不需要给定确切的对象类别名称。 

与此同时,在最近的研究中,大型视觉语言模型(VLM)显示出强大的物体识别泛化能力,例如,它可以在自动驾驶场景中的长尾数据上(corner case)识别非常见的物体,并给出准确的描述。然而,VLM 的定位能力相比于特定感知模型较弱,经常会漏检物体或给出错误的定位结果。另一方面,作为一个纯视觉基础模型,SAM 对来自许多不同领域的图像表现出良好的分割泛化能力。然而,SAM 无法为分割的对象提供类别。基于此,本文提出了一个无需训练的开放式目标检测和分割框架 VL-SAM,将现有的泛化物体识别模型 VLM 与泛化物体定位模型 SAM 相结合,利用注意力图作为中间提示进行连接,以解决开放式感知任务。

方法部分

作者提出了 VL-SAM,一个无需训练的开放式目标检测和分割框架。具体框架如下图所示:

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

图 1 VL-SAM 框架图

具体而言,作者设计了注意力图生成模块,采用头聚合和注意力流的方式对多层多头注意力图进行传播,从而生成高质量的注意力图。之后,作者使用迭代式正负样本点采样的方式,从生成的注意力图中进行采样,得到 SAM 的点提示作为输入,最终得到物体的分割结果。

1、注意力图生成模块(Attention Map Generation Module)

给定一张输入图片,使用 VLM 给出图片中所有的物体类别。在这个过程中存储 VLM 生成的所有 query 和 key,并使用 query 和 key 构建多层多头注意力图:

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

其中 N 表示 token 的数量,H 表示多头注意力的数量,L 表示 VLM 的层数。

之后,采用 Mean-max 的方式对多头注意力图进行聚合,如图 2 所示:

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

图 2 多头注意力聚合

首先计算每个头的注意力的权重:

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

之后采用基于权重的多头注意力加权进行信息聚合:

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

PixVerse
PixVerse

PixVerse是一款强大的AI视频生成工具,可以轻松地将多种输入转化为令人惊叹的视频。

下载

其中NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割表示矩阵点乘。

在聚合多头注意力图之后,采用注意力流的方式进一步聚合多层注意力图,如图 3 所示

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

图 3 注意力流

具体而言,采用 attention rollout 的方式,计算第NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割层到第NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割层的注意力图传播:

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

其中NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割表示单位矩阵。最后,作者仅使用传播后的最后一层注意力图作为最终的注意力图。

2、SAM 提示生成

生成的注意力图中可能会存在不稳定的假阳性峰值。为了过滤这部分假阳性,作者首先采用阈值过滤的方式进行初步过滤,并找到剩余激活部分的最大联通区域作为正样本区域,其余的部分作为负样本区域。之后,采用峰值检测的方式分别从正负样本区域进行采样,得到正负样本点,作为 SAM 的点提示输入。

3、迭代式分割优化

从 SAM 得到分割结果可能会存在粗糙的边界或者背景噪声,作者采用两种迭代式方式进一步对分割结果进行优化。在第一种迭代方式中,作者借鉴 PerSAM 使用 cascaded post-refinement 的方式,将初始的分割结果作为额外的提示输入到 SAM 中。对于第二种迭代方式,作者使用初始的分割结果对注意力图进行掩码,之后在掩码的区域进行正负样本点采样。

4、多尺度聚合和问题提示聚合

作者还采用两种聚合(Ensemble)的方式进一步改良结果。对于 VLM 的低分率问题,作者使用多尺度聚合,将图片切成 4 块进行输入。此外,由于 VLM 对问题输入较为敏感,作者采用问题提示聚合,使得 VLM 能够尽量多得输出物体类别。最后,采用 NMS 对这些聚合结果进行过滤。

实验结果

在包含 1203 类物体类别的长尾数据集 LVIS 验证集上,相比于之前的开放式方法,VL-SAM 取得了更高的包围框 AP 值。同时,VL-SAM 还能够获取物体分割结果。此外,相比于开集检测方法,VL-SAM 也取得了具有竞争力的性能。 

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

表 1 LVIS 结果

在自动驾驶场景 corner case 数据集 CODA 上,VL-SAM 也取得了不错的结果,超过了开集检测和开放式检测的方法。

NeurIPS 2024 | 无需训练,一个框架搞定开放式目标检测、实例分割

表 2 CODA 结果

结论

本文提出了 VL-SAM,一个基于注意力图提示的免训练开放式目标检测和分割框架 VL-SAM,在无需训练的情况下,取得了良好的开放式 (Open-ended) 目标检测和实例分割结果。

相关专题

更多
登录token无效
登录token无效

登录token无效解决方法:1、检查token的有效期限,如果token已经过期,需要重新获取一个新的token;2、检查token的签名,如果签名不正确,需要重新获取一个新的token;3、检查密钥的正确性,如果密钥不正确,需要重新获取一个新的token;4、使用HTTPS协议传输token,建议使用HTTPS协议进行传输 ;5、使用双因素认证,双因素认证可以提高账户的安全性。

6090

2023.09.14

登录token无效怎么办
登录token无效怎么办

登录token无效的解决办法有检查Token是否过期、检查Token是否正确、检查Token是否被篡改、检查Token是否与用户匹配、清除缓存或Cookie、检查网络连接和服务器状态、重新登录或请求新的Token、联系技术支持或开发人员等。本专题为大家提供token相关的文章、下载、课程内容,供大家免费下载体验。

805

2023.09.14

token怎么获取
token怎么获取

获取token值的方法:1、小程序调用“wx.login()”获取 临时登录凭证code,并回传到开发者服务器;2、开发者服务器以code换取,用户唯一标识openid和会话密钥“session_key”。想了解更详细的内容,可以阅读本专题下面的文章。

1062

2023.12.21

token什么意思
token什么意思

token是一种用于表示用户权限、记录交易信息、支付虚拟货币的数字货币。可以用来在特定的网络上进行交易,用来购买或出售特定的虚拟货币,也可以用来支付特定的服务费用。想了解更多token什么意思的相关内容可以访问本专题下面的文章。

1235

2024.03.01

golang map内存释放
golang map内存释放

本专题整合了golang map内存相关教程,阅读专题下面的文章了解更多相关内容。

75

2025.09.05

golang map相关教程
golang map相关教程

本专题整合了golang map相关教程,阅读专题下面的文章了解更多详细内容。

33

2025.11.16

golang map原理
golang map原理

本专题整合了golang map相关内容,阅读专题下面的文章了解更多详细内容。

59

2025.11.17

java判断map相关教程
java判断map相关教程

本专题整合了java判断map相关教程,阅读专题下面的文章了解更多详细内容。

37

2025.11.27

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Git 教程
Git 教程

共21课时 | 2.7万人学习

Django 教程
Django 教程

共28课时 | 3.1万人学习

MySQL 教程
MySQL 教程

共48课时 | 1.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号