NeurIPS'24|VL-SAM:北大出品,完全无训练的开放式检测分割模型

科技   2024-11-24 00:01   江苏  

点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达

添加小助理:cv3d001,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。

扫描下方二维码,加入「3D视觉从入门到精通」知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门秘制视频课程最新顶会论文、计算机视觉书籍优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!

作者丨VincentLee
来源丨晓飞的算法工程笔记
编辑丨极市平台

论文: Training-Free Open-Ended Object Detection and Segmentation via Attention as Prompts

  • 论文地址:https://arxiv.org/abs/2410.05963

创新点

  • 提出了一个无需训练框架VL-SAM,将广义物体识别模型(即视觉-语言模型)与广义物体定位模型(即Segment-Anything模型)结合起来,以解决开放式物体检测和分割任务。
  • 设计了一个注意力图生成模块,通过头聚合和正则化的注意力流来聚合VLM中所有头和层的注意力图,从而生成高质量的注意力图。
  • 设计了提示生成模块迭代地从注意力图中迭代地抽样正负点,并将抽样的点发送给SAM以分割相应的物体。
  • VL-SAM在长尾实例分割数据集(LVIS)和边缘案例物体检测数据集(CODA)上也表现出了良好的性能,证明了VL-SAM在现实世界应用中的有效性。
  • VL-SAM表现出良好的模型泛化能力,可以结合各种VLMSAM

内容概述

现有的基于深度学习的感知模型依赖于大量标注的训练数据来学习识别和定位物体。然而,训练数据无法覆盖现实世界场景中的所有类型的物体。当遇到分布外的物体时,现有的感知模型可能无法识别和定位物体,这可能导致严重的安全问题。

开放世界感知试图在动态和不可预测的环境中提供准确的结果,这些环境包含新颖的物体并涉及场景领域的转变。目前的开放世界感知方法大致可以分为两类:开放集和开放式。开放集方法通常使用预训练的CLIP模型计算图像区域与类别名称之间的相似性,但在推理过程中需要预定义的物体类别作为CLIP文本编码器的输入。开放式则利用大型视觉语言模型(VLMs)强大的泛化能力来识别物体,但VLM的定位能力不如特定的感知模型准确。

为此,论文提出了VL-SAM,将现有的通用物体识别模型VLM与通用物体定位模型SAM结合起来解决开放式物体检测和分割任务。这是一个无训练的框架,通过注意力图作为中间提示连接这两个通用模型。

给定一个图像输入,首先使用VLM描述场景并列出图像中所有可能的物体。然后,对于每个物体,利用带有头聚合和注意力流的注意力生成模块,从VLM获得高质量的注意力图。最后,从注意力图生成点提示,并将其迭代发送给SAM以获得位置预测。

VL-SAM

现有模型

  • SAM模型

SAM是一个基于提示的分割模型,由三个组件组成:图像编码器、掩码解码器和提示编码器。SAM以图像和一组提示(包括点、框和掩码)作为输入,多尺度分割掩码。

  • 基于自回归的VLM模型

基于自回归的VLM的主流框架由四个部分组成:图像编码器、文本分词器、投影层和语言解码器。给定图像和文本作为输入,采用下一个符号预测范式。

注意力生成模块

VL-SAM的主要思想是将物体的注意力图用作SAM的分割提示,如何为一个物体生成高质量的注意力图至关重要。

  • 头聚合

给定一幅图像输入,请求VLM提供图像中所有可能的物体。在这个过程中,缓存来自VLM的所有查询和键。

通过因果掩码和 SoftMax 归一化对查询和键进行相乘, 获得相似性矩阵 , 其中 是查询和键的长度, 是 Transformer 头的数量, 表示 Transformer 层的数量。

使用均值-最大注意力头权重从所有 Transformer 头中聚合信息, 即选择矩阵 在维度 上的最大相似性权重, 并在维度 上进行平均, 以获得权重 , 表明每个层中每个头的重要性:

逐点乘以权重 和相似性矩阵 并进行平均, 得到每层的注意力图:

  • 注意力流

注意力流用于以进一步聚合所有层的注意力, 使用注意力展开方法来计算从层 到层 的注意力:

经过注意力展开后,只需要最后一层的注意力图。为了获得生成的token的图像注意力图,从中选择相应的行和列。

由于VLM使用因果掩码进行自回归生成,简单地采用注意力展开方法会导致注意力崩溃。

论文使用一个简单的正则化项来有效地缓解这个问题。对于每一列,假设未掩码的长度为 ,将该列中的每个值乘以 。通过这个正则化项, 左上角的注意力值将受到限制。

SAM提示生成器

前面产生的注意力图中存在一些不稳定的假阳性峰值。为了过滤这些假阳性区域,首先使用阈值来过滤弱激活区域,并找到最大连通区域作为正区域。剩余区域作为负区域。之后,从正区域中抽取一个具有最大激活值的正点,并从负区域中抽取一个具有最弱激活值的负点,作为SAM的点提示对。

迭代优化

SAM解码器的分割结果可能包含粗糙的边缘和背景噪声,采用两种迭代策略进一步优化分割结果。

  1. 遵循PerSAM中的级联后优化,将使用正负对生成的初始分割掩码作为SAM解码器的额外提示输入。
  2. 使用第一种迭代策略中的分割掩码来过滤注意力图  。然后,从被过滤的注意力图中使用提示生成方法迭代生成正负对,并将它们发送到SAM解码器,最后使用NMS汇总结果。

多尺度集成

由于 VLM 中图像编码器的低分辨率图像输入, VLM 可能无法识别小物体。为了解决这个问题,遵循 SPHINX 的方法,将图像( )从四个角落分割成四个子图像( ),并独立地将每个子图像发送给 VL-SAM 。最后, 将 VL-SAM 对四个子图像和整张图像的输出进行集成。

问题提示集成

VLM的输出对输入提示非常敏感。为了获得对输入图像更全面的描述,要求VLM生成十个用于场景描述的问题提示,然后,使用生成的问题提示来进行VL-SAM的物体分割,并对所有问题提示的输出进行集成。

主要实验

本文仅做学术分享,如有侵权,请联系删文。

3D视觉交流群,成立啦!

目前我们已经建立了3D视觉方向多个社群,包括2D计算机视觉最前沿工业3D视觉SLAM自动驾驶三维重建无人机等方向,细分群包括:

工业3D视觉:相机标定、立体匹配、三维点云、结构光、机械臂抓取、缺陷检测、6D位姿估计、相位偏折术、Halcon、摄影测量、阵列相机、光度立体视觉等。

SLAM:视觉SLAM、激光SLAM、语义SLAM、滤波算法、多传感器融合、多传感器标定、动态SLAM、MOT SLAM、NeRF SLAM、机器人导航等。

自动驾驶:深度估计、Transformer、毫米波|激光雷达|视觉摄像头传感器、多传感器标定、多传感器融合、自动驾驶综合群等、3D目标检测、路径规划、轨迹预测、3D点云分割、模型部署、车道线检测、Occupancy、目标跟踪等。

三维重建:3DGS、NeRF、多视图几何、OpenMVS、MVSNet、colmap、纹理贴图等

无人机:四旋翼建模、无人机飞控等

2D计算机视觉:图像分类/分割、目标/检测、医学影像、GAN、OCR、2D缺陷检测、遥感测绘、超分辨率、人脸检测、行为识别、模型量化剪枝、迁移学习、人体姿态估计等

最前沿:具身智能、大模型、Mamba、扩散模型、图像/视频生成等

除了这些,还有求职硬件选型视觉产品落地、产品、行业新闻等交流群

添加小助理: cv3d001,备注:研究方向+学校/公司+昵称(如3D点云+清华+小草莓), 拉你入群。

▲长按扫码添加助理:cv3d001

3D视觉工坊知识星球

「3D视觉从入门到精通」知识星球,已沉淀6年,星球内资料包括:秘制视频课程近20门(包括结构光三维重建、相机标定、SLAM、深度估计、3D目标检测、3DGS顶会带读课程、三维点云等)、项目对接3D视觉学习路线总结最新顶会论文&代码3D视觉行业最新模组3D视觉优质源码汇总书籍推荐编程基础&学习工具实战项目&作业求职招聘&面经&面试题等等。欢迎加入3D视觉从入门到精通知识星球,一起学习进步。

▲长按扫码加入星球
3D视觉工坊官网:www.3dcver.com

具身智能、3DGS、NeRF结构光、相位偏折术、机械臂抓取、点云实战、Open3D、缺陷检测BEV感知、Occupancy、Transformer、模型部署、3D目标检测、深度估计、多传感器标定、规划与控制无人机仿真C++、三维视觉python、dToF、相机标定、ROS2机器人控制规划、LeGo-LAOM、多模态融合SLAM、LOAM-SLAM、室内室外SLAM、VINS-Fusion、ORB-SLAM3、MVSNet三维重建、colmap、线面结构光、硬件结构光扫描仪等。

长按扫码学习3D视觉精品课程

3D视觉模组选型:www.3dcver.com

—  —

点这里👇关注我,记得标星哦~

一键三连「分享」、「点赞」和「在看」

3D视觉科技前沿进展日日相见 ~ 

3D视觉工坊
专注于工业3D视觉、SLAM、自动驾驶、三维重建、无人机、具身智能、扩散模型等前沿技术分享与产业落地,力争打造为国内最专业的3D视觉社区。官网:www.3dcver.com 佳v:cv3d007 或 13451707958
 最新文章