【多模态检索】Coarse-to-Fine Visual Representation

快手文本视频多模态检索论文

论文:Towards Efficient and Effective Text-to-Video Retrieval with Coarse-to-Fine Visual Representation Learning
链接:https://arxiv.org/abs/2401.00701

摘要

近些年,基于CLIP的text-to-video检索方法广为流行,但大多从视觉文本对齐方法上演进。按照原文:design a heavy fusion block for sentence (words)-video (frames) interaction,而忽视了复杂度和检索效率。

  • 升级点
  • 本文采用多粒度视觉特征学习,捕获从抽象到具体的视觉内容。Multi-granularity visual feature learning, ensuring the model’s comprehensiveness in capturing visual content features spanning from abstract to detailed levels during the training phase.
  • 设计两阶段检索框架,优点在于 balances the coarse and fine granularity of retrieval content.
    • 在训练阶段,设计一个parameter-free text-gated interaction block (TIB) 模块用于细粒度视觉表征学习并嵌入一个额外的 Pearson Constraint来优化跨模态表示学习。
    • 在检索阶段,使用粗粒度视觉表征快速检索topk结果,然后使用细粒度视觉表示rerank(recall-then-rerank pipeline)。
  • 效果:nearly 50 times faster
  • 难点:对比原始图像文本匹配任务(包含较少的视觉信息),聚合整个视频表示易导致过度抽象以及误导。在视觉文本检索任务中,一个句子通常只描述一个感兴趣的视频子区域。现有工作很多不够合理与成熟,衍生出很多CLIP的变体,大体分为两个方向。例如CLIP4Clip,仅仅是将预训练的CLIP简单进行MeanPooling就从image-text迁移到video-text领域。
    • 设计a heavy fusion block来加强视觉和文本的交互以达到模态间更好地对齐的目的;
    • 优化text-driven video representations,keep multi-grained features including video-level and frame-level for brute-force search。
  • 近些年方法虽然有效果提升,但却需要巨大的计算成本(text-video similarity calculation)。
    在这里插入图片描述
    过于细粒度的计算可能会放大视频局部噪声,降低检索效率。需要在有效性和效率上做trade-off。

方法

  • 整体架构
    在这里插入图片描述

  • 特征输入:a video v consists ofT sequential frames {f1, f2, …, fT |fi ∈ RH ×W ×C};each frame is divided into N patches {f 1i , f 2i , …, f N i |f n i ∈RP×P×C} with P × P size;text t。

  • 模型结构

    • 视觉端

      • a spatial encoder (SE) with 12 transformer layers initialized by the public CLIP checkpoints
      • a temporal encoder (TE) with 4 transformer layers to model temporal relationship among sequential frames, [CLS] enocde patch to frame(0th patch feature represent frame)
      • a MeanPooling layer (MP) to aggregate all frame-level features into a text-agnostic feature vector
        注:patch 和 frame都包含位置编码在这里插入图片描述
    • 视觉文本交互 – Text-Gated Interaction Block

      • 简单的attention机制,π is the temperature,决定多少视觉信息被保留(A small value of π only emphasizes those most relevant visual cues, while a large value pays attention to much more visual cues.)
      • 未引入任何参数
        在这里插入图片描述
  • 损失函数(Inter- and Intra-Feature Supervision Loss)

    • 数据形式:Each batch of B video-text pairs,in each pair, the text tb is a corresponding description of the video vb
    • Contrastive Loss for Inter-Feature Supervision - infoNCE loss,batch内其他为负样本
      在这里插入图片描述
    • Pearson Constraint for Intra-Feature Supervision
      在这里插入图片描述
      在这里插入图片描述
    • Total Loss
      在这里插入图片描述
  • 检索中的两阶段策略 - To balance the efficiency and effectiveness

    • 使用VL1作为tok召回阶段特征
    • rerank这些召回结果用VL2和VL3
    • 两阶段的优点:效率提升 & 过于细粒度的特征可能会导致对局部噪声的过度关注。

实验

主实验:
在这里插入图片描述

其他数据集:
在这里插入图片描述
消融实验:
可以看到去掉帧粒度的文本交互特征指标下降明显。当去掉所有文本交互特征时,只使用视觉特征会引入很多噪声(引入喝多与文本无关的特征),mislead the matching process。
在这里插入图片描述
top100的下降可能是由于重新排序阶段过度关注视觉局部细节,增加 top-k 引入的噪声会对重新排序阶段造成更多的干扰
在这里插入图片描述
Re-ranking 消融
在这里插入图片描述
Intra-Feature Pearson Constraint消融
在这里插入图片描述
Visualization of Coarse-to-Fine Retrieval
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/624052.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

二维旋转变换

求点 P(x1, y1) 绕点 Q(x2, y2) 逆时针旋转 θ 得到的点的坐标 先看绕原点旋转的情况: 如图所示点 v 绕 原点旋转 θ 角,得到点v’,假设 v点的坐标是(x, y) ,那么可以推导得到 v’点的坐标(x’, y’): { x …

JVM主要知识点详解

目录 1. 性能监控和调优 1.1 调优相关参数 1.2 内存泄漏排查 1.3 cpu飙⾼ 2. 内存与垃圾回收 2.1JVM的组成(面试题) 2.2 Java虚拟机栈的组成 2.3 本地方法栈 2.4 堆 2.5 方法区(抽象概念) 2.5.1 方法区和永久代以及元空…

【终于明白为啥有团队禁止使用lombok】

终于明白为啥有团队禁止使用lombok 背景我们的问题难点如何解决是什么东西?最后 背景 团队内部,idea版本不一样,有2021,有2022,有2023。 项目pom中lombok版本过低。 我们的问题 有用较新版本idea的同学,…

计算机组成原理【CO】Ch2 数据的表示和应用

文章目录 大纲2.1 数制与编码2.2 运算方法和运算电路2.3 浮点数的表示和运算 【※】带标志加法器OFSFZFCF计算机怎么区分有符号数无符号数? 【※】存储排列和数据类型转换数据类型大小数据类型转换 进位计数制进制转换2的次幂 各种码的基本特性无符号整数的表示和运算带符号整…

【电控笔记6.2】拉式转换与转移函数

概要 laplace:单输入单输出,线性系统 laplace 传递函数 总结

使用Python模仿文件行为

在Python中,你可以通过文件操作函数(如open()函数)以及模拟输入输出流的库(如io模块)来模拟文件行为。下面是一些示例,展示了如何使用这些工具在Python中模拟文件行为。 1、问题背景 在编写一个脚本时&…

MSQL DML数据操作语言

🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…

随机游走的艺术-图嵌入表示学习

图嵌入引入 机器学习算法: 厨师 样本集: 食材 只有好的食材才能做出好的饭菜 我们需要把数据变成计算机能够读懂的形式(将数据映射成为向量) 图嵌入概述 传统图机器学习 图表示学习 自动学习特征,将…

【Altium Designer 20 笔记】PCB铺铜过程

PCB铺铜步骤 切换到Keep-Out Layer(禁止布线层) 使用shifts键切换单层显示 画禁止布线范围(防止铺铜过大) 切换到需要铺铜的层 选择铺铜网络,通常是地(GND)或某个电源网络 隐藏覆铜:…

leetcode:42.接雨水

单调栈解题思路: 需要知道当前遍历到的元素左边和右边第一个比该元素大的元素。 如果当前遍历到的元素大于栈顶元素,则该元素为栈顶元素右边第一个比它大的元素,此时,栈顶元素的栈内相邻元素是该元素左边第一个比它大的元素。【…

Python 入门指南(一)

原文:zh.annas-archive.org/md5/97bc15629f1b51a0671040c56db61b92 译者:飞龙 协议:CC BY-NC-SA 4.0 前言 这个学习路径帮助你在 Python 的世界中感到舒适。它从对 Python 的全面和实用的介绍开始。你将很快开始在学习路径的第一部分编写程序…

上海人工智能实验室的书生·浦语大模型学习笔记(第二期第四课——上篇)

书生浦语是上海人工智能实验室和商汤科技联合研发的一款大模型,这次有机会参与试用,特记录每日学习情况。 今天就ddl,但这次学习的内容太多,需要很长时间去消化,要抓紧最后时间,不然来不及了 这次记录的是…