CLIP4Clip:用于端到端视频检索的CLIP实证研究

article/2025/9/22 17:19:33

Luo, Huaishao, Lei Ji, Ming Zhong, Yang Chen, Wen Lei, Nan Duan and Tianrui Li. “CLIP4Clip: An Empirical Study of CLIP for End to End Video Clip Retrieval.” ArXiv abs/2104.08860 (2021).

1. Abstract

视频文本检索在多模态研究中起着至关重要的作用,已被广泛应用于许多实际的web应用中。CLIP(Contrastive Language Image Pretraining)是一种图像语言预训练模型,它展示了从网络收集的图像文本数据集中学习视觉概念的能力。在本文中,我们提出了一个CLIP4Clip模型,以端到端的方式将CLIP模型的知识迁移到视频语言检索中。本文通过实证研究探讨了以下几个问题:1)图像特征是否足以用于视频文本检索?2)基于CLIP的大规模视频文本数据集的post-pretraining如何影响性能?3)对视频帧之间的时间依赖性建模的实用机制是什么?4)模型对视频文本检索任务的超参数敏感性。大量实验结果表明,从CLIP迁移过来的CLIP4Clip模型可以在各种视频文本检索数据集(包括MSR-VTT、MSVC和LSMDC)上实现SOTA结果。我们将代码发布在https://github. com/ArrowLuo/CLIP4Clip。

2. Method, Experiment & Result

图1. CLIP4Clip的框架,它有3个组件,包括两个单模态编码器和一个相似度计算器。该模型采用视频-文本对作为输入。我们首先将输入视频采样为顺序帧(图像);接下来将这些图像帧重塑为一系列展平的2D patches;再通过线性patch嵌入层将这些patches映射到1D嵌入序列,并输入图像编码器进行表示;最后,相似度计算器预测文本表示和这些帧的表示序列之间的相似度得分。在这项工作中,我们研究了三种类型的相似度计算器,包括无参数型、序列型和紧凑型。⊗表示余弦相似度。我们用CLIP(ViT-B/32)初始化两个单模态编码器。

图2. 视频编码器中Flattened Patches线性投影的不同视图。

表1. MSR-VTT数据集上text-to-video检索的结果。

表2. MSVD数据集上text-to-video检索的结果。

表3. LSMDC数据集上text-to-video检索的结果。

表4. ActivityNet数据集上text-to-video检索的结果。

表5. DiDeMo数据集上text-to-video检索的结果。

图3. 不同批量大小、帧长、冻结层和学习率对检索结果的影响。

表6. 采样策略研究。Head、Tail、Uniform是从视频中选择帧的三种采样策略。

表7. 使用HowTo100M-380k数据集对meanP模型进行post-pretraining测试。

表8. 在meanP上测试2D和3D patch。

3. Conclusion / Discussion

在本文中,我们使用预训练好的CLIP作为backbone来解决视频检索任务。我们使用无参数型、序列型和紧凑型相似度计算器来获得最终的结果。实验结果证明了模型的有效性,并在MSR-VTT、MSVC、LSMDC、ActivityNet和DiDeMo数据集上实现了SOTA结果。此外,我们还从实证研究中得出以下几点启示:1)图像特征也能促进视频文本检索;2)在CLIP上进行post-pretrain,可以进一步提高视频文本检索的性能;3)3D patch线性投影和序列型相似度是检索任务中很有前途的方法;4)用于视频文本检索的CLIP具有学习率敏感性。

关注“多模态人工智能”公众号,一起进步!


http://chatgpt.dhexx.cn/article/TX135aVY.shtml

相关文章

同时利用字幕、音频、视频进行检索!Inria谷歌提出MMT用于高效跨模态视频检索,代码已开源!...

关注公众号,发现CV技术之美 ▊ 写在前面 检索与自然语言查询相关的视频内容对于有效处理互联网规模的数据集起着关键作用。现有的大多数文本到视频检索方法都没有充分利用视频中的跨模态线索。此外,它们以有限或没有时间信息的方式聚合每帧视觉特征。 在…

视频检索——BLSTM(论文翻译、理解)

视频检索BLSTM方法论文翻译 摘要1 介绍2 相关工作3 自监督时序哈希3.1 时序感知的哈希函数3.2 二进制的LSTM3.3 学习目标3.4 框架细节 4 二进制优化4.1 二进制求导4.2 算法细节 5 实验5.1 数据集5.2 实验设置5.3 结果分析 6 结论 Play and Rewind: Optimizing Binary Represent…

基于内容的视频检索(CBVR)

参考 1. 视频检索的基本流程 2. 视频的结构分层 各层都可以用一些属性来描述: 1. 视频序列的属性主要包括场景的个数和持续时间; 2. 场景的属性包括标题、持续时间、镜头数目、开始镜头、结束镜头等; 3. 镜头的属性包括持续时间、动态特征…

人脸视频检索系统设计(C++)

目录 人脸检索系统框架的构建 1 一.软件实现的主要界面 1 二.软件的需求概括 1 三.软件代码设计过程中需要注意的问题 2 四.程序到目前为止产生的诸多缺陷 4 五.程序的详细设计过程 4 1.输入部分的设计 4 2.检测结果部分的设计过程 10 人脸检索系统框架的构建 ------FaceMFC_v…

AAAI 2023 | 基于多模态标签聚合的视频检索模型TABLE,多项SOTA

©作者 | QQ浏览器搜索技术中心、腾讯PCG ARC Lab 来源 | 机器之心 近年来,互联网短小视频内容的爆发式增长,对视频 - 文本检索(Video-Text Retrieval)的能力提出了更高的要求。在 QQ 浏览器搜索中,视频通常包含标…

5分钟实现「视频检索」:基于内容理解,无需任何标签

Notebook 教程:text-video retrieval 「视频检索」任务就是输入一段文本,检索出最符合文本描述的视频。随着各类视频平台的兴起和火爆,网络上视频的数量呈现井喷式增长,「视频检索」成为人们高效查找视频的一项新需求。传统的视频…

视频内容检索概述

视频内容检索 针对目前多媒体搜索引擎技术,视频数量的井喷式增加以及多媒体视频内容的多样性和数据结构的复杂性,如何快速的从有效地这些视频检索出人们感兴趣的已经成为当今信息化时代的难题。 数字视频内容检索 基于内容的视频检索(CBVR…

ad建集成库_手把手教你创建自己的Altium Designer集成元件库

一个善于规划、管理及总结的硬件开发工程师都喜欢创建自己的集成库,这样就相当于给自己打造了一款更适合自己的尖兵利器,无论是硬件设计的统一性还是硬件模块的可重用性,都会给工程师带来更多的设计便利。 一个管理规范的硬件开发企业,在集成库的制作及使用方面都会做出很多…

NC57中间表数据源的设置流程

目前场景如下:NC定时将数据写入中间库中,第三方去中间库中抓取; 方式一: 第一步:在NC客户端【客户化】——【二次开发工具】——【参数设置】——【参数模板管理】添加所设置的数据源数据 找到对应的数据库表pub_sysi…

分库分表介绍

目录 一、前言 二、何谓数据切分? 三、垂直切分 1、垂直分库 2、垂直分表 3、垂直切分优缺点 4、拆分需考虑的业务因素 四、水平切分 1、水平分库 2、水平分表 3、水平切分优缺点 五、垂直与水平切分的联合使用 六、数据分片规则 1、Hash取模分表 2、数…

分库分表入门介绍

本文收集网上资料,多合一 编撰于2020年4月21日 原文链接1 原文链接2 原文链接3 目录 为什么要分库分表读写分离,主从复制Why Not NoSQL/NewSQL?什么是RDBMS 分库分表概述切分策略路由规则范围路由hash算法路由配置 分库分表带来的问题join操作COUNT&…

工作区、暂存区、仓库三者关系

区分三者关系 Git最让你迷惑的无非是它里面的各种概念了,如果是刚开始接触Git希望看完本篇介绍之后有一个清晰的认识,笔者认识也有限这里只说说个人对使用Git的感受,说一下它里面的几个最常用的概念的理解。 在初始化git版本库之后会生成一个…

浅谈MYSQL中的基本表、中间表、临时表、派生表和视图

简单介绍 首先我们先了解一下什么叫虚拟表虚拟表,顾名思义就是就是实际上并不存在(物理上不存在),但是逻辑上存在的表。 在MYSQL中存在三种虚拟表:临时表、内存表、视图 1、基本表 基本表是本身独立存在的表&#x…

常见的系统间接口方式(02)-中间件的数据接口模式

导读: 原文路径:https://mp.weixin.qq.com/s/uq9DfxE5_cvAsitqlcblBg 大家可以关注我个人公众号,所有分享内容,会在公众号第一时间推送,且阅读排版更好。 愿大家的学习,轻松且愉快。 如果大家觉得有用&…

python matlab库使用_python matlab库

python与matlab的优缺点比较matlab主要是用来做数值计算的(矩阵,向量是强项),当然还加入了其他的许许多多的库。主要用来模拟一些东西。 python是一门语言,现在也有模拟matlab的库,不过功能显然还是很弱的。 python与matlab哪个简单 简单对比: python和matlab的共同点都是…

MYSQL:创建中间表

mysql> create table role_to_privilege( -> id int primary key auto_increment, -> rId int not null, -> pId int not null -> ); Query OK, 0 rows affected (0.09 sec)

中间表是什么?和报表有什么关系?会带来怎样的问题?又如何解决?

在数据库中有一类用于保存中间计算结果的物理表,通常被称为“中间表”。中间表主要跟 OLAP(在线联机分析)业务有关,产生的原因主要有以下几方面。 中间表来源 1. 计算逻辑复杂 在 OLAP(报表或查询)业务中&…

mysql 中中间表是什么意思_为什么会有这么多中间表?

中间表的由来 中间表是数据库中专门存放中间计算结果的数据表。报表系统中的中间表是普遍存在的。那么,这些中间表是如何出现的?为什么中间表会越来越多?中间表会给项目组带来什么样的困扰,如何解决这些困扰?这里我们就尝试探讨一下这个问题。 中间表出现的典型场景主要有…

IT 接口对接:足迹第十二步接口对接的定义(接口对接分三种:中间库方式的接口对接,Rest格式URL对接和HTTP格式URL对接;)

1)接口对接的定义:服务端通过暴露地址/参数名称/编码,指引客户端发送一个Rest风格的URL请求,服务端读取Rest风格的URL,并返回一个响应; 接口有四部分组成:方法、uri、请求参数、返回参数&#…

MSSQL中间库对接MySQL

需要下载MySQL ODBC数据源驱动程序, 在MSSQL所在服务器安装MySQL ODBC数据源驱动程序,安装完成之后,在【控制面板】->【工具管理】->【ODBC数据源(64bit)/ODBC数据源(32bit)】->【系统DSN】->【添加】下多了MySQL数据源的驱动程…