点击下方卡片,关注「3D视觉工坊」公众号
选择星标,干货第一时间送达
添加小助理:cv3d001,备注:方向+学校/公司+昵称,拉你入群。文末附3D视觉行业细分群。
扫描下方二维码,加入「3D视觉从入门到精通」知识星球,星球内凝聚了众多3D视觉实战问题,以及各个模块的学习资料:近20门秘制视频课程、最新顶会论文、计算机视觉书籍、优质3D视觉算法源码等。想要入门3D视觉、做项目、搞科研,欢迎扫码加入!
论文: 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
表现出良好的模型泛化能力,可以结合各种VLM
和SAM
。
内容概述
现有的基于深度学习的感知模型依赖于大量标注的训练数据来学习识别和定位物体。然而,训练数据无法覆盖现实世界场景中的所有类型的物体。当遇到分布外的物体时,现有的感知模型可能无法识别和定位物体,这可能导致严重的安全问题。
开放世界感知试图在动态和不可预测的环境中提供准确的结果,这些环境包含新颖的物体并涉及场景领域的转变。目前的开放世界感知方法大致可以分为两类:开放集和开放式。开放集方法通常使用预训练的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
解码器的分割结果可能包含粗糙的边缘和背景噪声,采用两种迭代策略进一步优化分割结果。
遵循 PerSAM
中的级联后优化,将使用正负对生成的初始分割掩码作为SAM
解码器的额外提示输入。使用第一种迭代策略中的分割掩码来过滤注意力图 。然后,从被过滤的注意力图中使用提示生成方法迭代生成正负对,并将它们发送到 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点云+清华+小草莓), 拉你入群。
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视觉模组选型:www.3dcver.com
点这里👇关注我,记得标星哦~