X-VLM多模态模型解读

X-VLM是一种新的多模态预训练模型,它通过灵活的patch embeddings表示不同粒度的视觉概念,直接优化模型对不同粒度的文本和视觉概念的对齐。此外,X-VLM还能预测文本对应的视觉概念坐标,进一步增强对齐学习。在4M和16M的数据集上,X-VLM在多种多模态任务上表现出色,超过了使用更多数据或更大规模模型的现有方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

论文:https://arxiv.org/abs/2111.08276
代码:https://github.com/zengyan-97/X-VLM 

研究背景

现有的多模态预训练模型大致分为两类:

1)依赖目标检测器提取基于物体(例如:车、人、树、背包)的特征来表示图片,这种方法可以学习到物体级别的视觉和语言对齐,如图1中(a)所示。这些方法要么直接利用预先训练的目标检测器,要么将目标检测过程合并到多模态预训练中;

2)用 ResNet 或者 Vision Transformer 编码整张图片,只学习图片和文本之间的对齐,如图1(b)所示。

这两种方法都存在一定的问题。首先,基于目标检测的方法会识别图片中所有可能的物体,其中不乏一些与配对文本无关的。此外,这种方法所提取的基于物体的视觉特征可能会丢失物体之间的信息(可以认为是一种上下文信息)。而且,这种方法只能识别有限种类的物体,我们很难预先定义合适的物体类别。而第二种方法则比较简单直接,但是较难学习到细粒度的视觉和语言对齐,例如:物体级别的对齐。这种细粒度的对齐关系被之前的工作证实对于视觉推理 (visual reasoning) 和视觉定位 (visual grounding) 任务很有帮助。

实际上,对于多模态预训练,有以下公开数据以供模型使用:1)图片和图片标题;2)区域标注,例如:图1中的文本 “man crossing the street” 关联到了图片中的某个具体区域。然而,之前的工作却粗略地将区域标注与整张图片对齐;3)物体标签,例如 “backpack”,这些标注被之前的工作用来训练目标检测器。

与之前的做法不同,本文中作者提出X-VLM,以统一的方式利用上述数据高效地学习多粒度的视觉和语言对齐,能够避免高开销的目标检测过程,也不局限于学习图像级别或物体级别的对齐。具体来说,作者提出可以使用基于 Vision Transformer 的 patch embeddings 来灵活表示各种粒度大小的视觉概念,如图1(c)所示:例如,视觉概念 “backpack” 由2个patch组成,而视觉概念 “man crossing the street” 由更多的patch组成。

因此,X-VLM学习多粒度视觉和语言对齐的秘诀在于:

1)使用 patch embeddings 来灵活表示各种粒度的视觉概念,然后直接拉齐不同粒度的视觉概念和对应文本,这一过程使用常用的对比学习损失、匹配损失、和MLM损失优化;

2)更进一步,在同一张图片中,给出不同的文本,要求模型能预测出对应粒度的视觉概念的坐标,以边界框坐标的回归损失和交并比损失优化。实验证明,这种预训练方法十分高效,模型规模无需很大,预训练数据无需很多,X-VLM 就能在下游多种多模态理解/生成任务上获得非常优秀的表现。

方法

X-VLM 由一个图像编码器,一个文本编码器,一个跨模态编码器组成。

图2左侧给出了视觉概念 (可以是物体/区域/图片)的编码过程:该图像编码器基于Vision Transformer,将输入图片分成patch编码。然后,给出任意一个边界框,灵活地通过取框中所有patch表示的平均值获得区域的全局表示。再将该全局表示和原本框中所有的patch表示按照原本顺序整理成序列,作为该边界框所对应的视觉概念的表示。通过这样的方式获得图片本身(I)和图片中视觉概念(V1,V2,V3)的编码。与视觉概念对应的文本,则通过文本编码器一一编码获得,例如图片标题、区域描述、或物体标签。

X-VLM采用常见的模型结构,其不同之处在于预训练的方法。作者通过以下两类损失进行优化:

第一,在同一张图片中,给出不同的文本,例如:T(text)、T1(text1)、T2(text2)、T3(text3),要求模型预测图片中对应视觉概念的边界框:

 是跨模态编码器在 [CLS] 位置的输出向量。Sigmoid 函数是为了标准化预测的边界框。Ground-truth bj对应了 ,依次是标准化后的的中心横坐标、中心纵坐标、宽、高。最后,该损失是边界框坐标的回归损失(L1)和交并比损失(GIoU)之和。作者认为在同一张图片中,给不同文字,要求模型预测出对应的视觉概念,能使模型更有效地学习到多粒度的视觉语言对齐。该损失也是首次被使用在多模态预训练中。

第二,使用patch embeddings来灵活表示各种粒度的视觉概念,然后直接优化模型去拉齐不同粒度的文本和视觉概念,包括了物体/区域/图片与文本的对齐。作者使用多模态预训练中常见的三个损失优化,依次是:

1)对比学习损失:

 是ground-truth相似度, 对角线为1,其余为0。

  是模型基于文字编码器输出和图像编码器输出所计算的相似度。

   2)匹配损失:

pmatch是基于跨模态编码器计算,预测所给(视觉概念,文本)对是否匹配(换句话说,0/1分类)。对于每对正例,作者采样一对负例。

3)Masked Language Modeling损失:

 T(估计值)中的一些词已经被随机替换成了 [MASK],pj(VT(估计值))是跨模态编码器在词tj位置的输出向量所计算的词表概率分布。

最终优化loss即上述几个loss相加:

实验

作者使用多模态预训练中常见的中等规模的4M和16M图片数据集进行实验,如下表所示:

其中,标注(# Ann)是区域标注和物体标签的总和。可以看出,有些数据集没有图片标题,例如Visual Genome(VG),有些数据集没有图片标注,例如CC-3M/12M。

 表2展示了在图像文本检索任务 (MSCOCO和Flickr30K) 上的表现。即使,之前的方法在更大量的内部数据上预训练或者模型规模更大,在4M图片数据集下训练的X-VLM就已经可以超过之前的方法。

表3展示了在视觉推理 (VQA2.0和NLVR2)、视觉定位 (RefCOCO+) 、图片描述生成 (COCO Caption) 上的模型表现。为了公平的对比,X-VLM 沿用了之前工作的 fine-tune 方法,没有进行额外的调整。结合表2和表3,可以看出,相比之前的方法,X-VLM支持更多种类的下游任务,并且在这些常见的视觉语言任务上都取得了十分优秀的表现。

总结和讨论

在本文中,作者提出了X-VLM以学习多粒度的视觉和语言对齐,能够避免高开销的目标检测过程,也不局限于学习图像级别或物体级别的对齐。X-VLM 的秘诀在于:

1)基于 patch embeddings 灵活表示各种粒度的视觉概念,然后直接拉齐不同粒度的视觉概念和对应文本;

2)更进一步,在同一张图片中,给出不同的文本,要求模型能预测出对应视觉概念的坐标。实验证实这种预训练方法十分高效。

在实验部分,作者使用常用的4M和16M数据,训练总参数量216M的 X-VLM ,就能超过更大规模的模型或使用大量预训练数据的模型,在下游多种多模态理解/生成任务上取得非常优秀的表现。

<think>嗯,用户现在想了解NMS-AP的计算方法以及它如何用于评估VLM(Vision-Language Models)大模型的训练效果。我需要先回顾一下之前关于NMS-AP的解释,再结合用户提供的引用内容来调整回答。 首先,用户之前的问题是关于NMS-AP的计算和在大模型评估中的应用,我之前已经详细解释了NMS-AP的步骤、YOLOv5的实现以及大模型评估的实践。现在用户再次提问,可能希望更深入或者结合VLM的具体应用。 用户提供的引用内容提到了几个数据集(LVIS、CODA)和一些模型(VL-SAM、HOICLIP)在零样本评估中的表现,特别是AP指标的使用。例如,引用[1]提到在LVIS minival数据集上使用标准AP指标评估零样本能力,引用[2]和[3]讨论了在不同数据集上的mAR和AP结果,引用[4]则比较了HOICLIP的mAP提升。这些信息显示AP在评估VLM模型时的重要性,特别是在零样本或开放词汇场景下的应用。 我需要将NMS-AP的计算方法与VLM模型的特点结合起来。VLM通常结合视觉和语言模态,可能在目标检测任务中需要处理开放词汇或罕见类别,这时候NMS-AP的作用可能更关键,因为它涉及到检测框的过滤和精确度评估。例如,在零样本检测中,模型需要检测未在训练中见过的类别,这时候NMS的参数设置可能影响AP值,进而反映模型的泛化能力。 另外,用户提到的引用中,VL-SAM和HOICLIP都展示了AP或mAP的提升,这说明在这些模型中,NMS-AP的计算可能用于验证模型改进的有效性。需要解释NMS-AP如何在这些场景下应用,比如如何调整NMS参数以适应开放集检测,或者如何处理多模态特征带来的检测框变化。 可能还需要考虑VLM特有的挑战,比如如何处理文本和视觉特征的对齐,如何影响检测框的置信度和NMS过程。例如,在HOICLIP中,知识迁移可能影响检测的精度,而NMS-AP可以衡量这种迁移是否有效。 此外,用户可能想知道在VLM训练中,如何利用NMS-AP进行调优,比如调整iou_thres或conf_thres来平衡精度和召回,尤其是在处理罕见类别时。引用[3]提到VL-SAM在罕见类别上的表现,这可能涉及到NMS参数对AP的影响,比如更宽松的iou_thres可能保留更多罕见类别的检测框,从而提高召回但可能降低精度。 最后,需要将NMS-AP的计算步骤与VLM的具体评估流程结合起来,比如在零样本评估中,如何使用LVIS或COCO数据集,应用NMS后计算AP,以及如何解读结果来优化模型。可能需要提到多模态特征如何影响检测框的生成和过滤,从而影响最终的AP值。</think>### 一、NMS-AP计算方法详解 NMS-AP(Non-Maximum Suppression Average Precision)是目标检测领域评估模型性能的核心指标,其计算过程紧密融合了非极大值抑制(NMS)处理流程。以下是关键步骤: #### 1. 检测后处理流程 $$ \text{原始预测框} \xrightarrow[\text{置信度排序}]{\text{降序排列}} \text{候选框} \xrightarrow[\text{IOU过滤}]{\text{NMS}(iou_{thres})} \text{有效检测} \xrightarrow[\text{匹配策略}]{\text{GT比对}} \text{TP/FP判定} $$ #### 2. 数学计算过程 - **PR曲线生成**:按置信度阈值滑动生成精确率-召回率对 $$ P = \frac{TP}{TP+FP},\quad R = \frac{TP}{TP+FN} $$ - **插值计算AP**(COCO标准): $$ AP = \frac{1}{101} \sum_{r\in\{0,0.01,...,1\}} P_{interp}(r) $$ 其中$P_{interp}(r)$为当前召回率$r$对应的最大精确率[^1] ### 二、VLM模型评估的特殊性 #### 1. 多模态特征融合影响 在视觉-语言模型(如VL-SAM、HOICLIP)中,NMS处理需考虑: - **跨模态对齐**:文本引导的检测框置信度校准 - **开放集检测**:处理未见过类别的特征响应(参考CODA数据集实验[^2]) #### 2. 典型评估协议对比 | 评估模式 | 数据特点 | NMS-AP作用 | |----------------|---------------------------|--------------------------------| | 零样本检测 | LVIS minival数据集 | 衡量跨类别泛化能力[^1] | | 长尾分布检测 | COCO-LT子集 | 重点评估尾部类别AP | | 角落案例检测 | CODA数据集 | 验证NMS对模糊目标的鲁棒性[^2] | ### 三、VLM训练中的关键实践 #### 1. 参数优化策略 ```python # 典型VLM验证代码片段(以HOICLIP为例) def evaluate_vlm(model, val_loader): model.eval() with torch.no_grad(): for images, text_queries in val_loader: # 多模态特征融合 visual_feats = model.vision_encoder(images) # (B,C,H,W) text_feats = model.text_encoder(text_queries) # (N,D) # 跨模态检测头 pred_boxes, conf_scores = model.fusion_head(visual_feats, text_feats) # NMS参数动态调整 nms_boxes = batched_nms(pred_boxes, conf_scores, iou_threshold=0.5, text_specific=True) # 文本感知NMS # AP计算 ap_metrics.update(nms_boxes, gt_boxes) return ap_metrics.compute() ``` #### 2. 性能提升技巧 - **文本感知NMS**:根据文本embedding调整IOU阈值 - **置信度校准**:使用温度缩放平衡视觉-语言特征得分 - **多阶段过滤**: $$ \text{粗筛}(iou=0.7) \rightarrow \text{精筛}(iou=0.5) \rightarrow \text{跨模态验证} $$ ### 四、实验结果分析 根据HOICLIP论文数据[^4],VLM优化效果验证: ``` | 方法 | NF-UC mAP | UO稀有类mAP | |------------|-----------|-------------| | GEN-VLKT | 31.2 | 28.5 | | HOICLIP | 35.24 | 34.19 | ``` - **提升机制**:通过知识迁移增强跨模态对齐,使NMS阶段保留更多有效检测框 ### 五、挑战与解决方案 | 挑战类型 | 现象描述 | 解决方案 | |--------------------|------------------------------|------------------------------| | 模态不匹配 | 文本查询与视觉特征错位 | 引入对比学习损失[^3] | | 置信度偏差 | 语言先验导致分数膨胀 | 实施分数标准化 | | 密集目标漏检 | NMS过度抑制相似目标 | 采用soft-NMS策略 | --- ### 相关问题 1. 在多模态目标检测中,如何设计文本感知的NMS算法? 2. VLM模型训练时如何平衡视觉和语言特征对AP指标的影响? 3. 零样本检测任务中NMS参数选择有哪些特殊考量? [^1]: 零样本评估方法参考LVIS数据集验证协议 [^2]: CODA数据集实验显示开放集检测的挑战性 [^3]: 跨模态对齐技术对检测性能的提升作用 [^4]: HOICLIP论文中的对比实验结果分析
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值