【论文阅读】Progressive Spatio-Temporal Prototype Matching for Text-Video Retrieval

news2024/11/26 13:36:03

资料链接

论文链接:https://openaccess.thecvf.com/content/ICCV2023/papers/Li_Progressive_Spatio-Temporal_Prototype_Matching_for_Text-Video_Retrieval_ICCV_2023_paper.pdf
代码链接:https://github.com/imccretrieval/prost

背景与动机

文章发表于ICCV 2023,来自中科大IMCC实验室。
文本-视频检索是近年来比较新兴的领域,随着多模态和大模型的发展,这一领域也迸发出了前所未有的潜力。目前的主流方法是学习一个joint embedding space,将视频和文本编码成特征向量,在空间中含义相近的向量的位置也是相近的,从而通过计算向量间相似度实现检索。本文梳理了近期的一些工作,主要分为以下三个方向:
细粒度匹配:单一的特征向量难以编码丰富的细节信息,需要进行更细粒度的视频文本匹配。
多模态特征:视频有着丰富的多模态信息,使用多种多模态特征可增强检索性能。
大规模预训练:近年来大规模预训练广泛应用,经过预训练的模型检索能力得到显著提升。
作者团队在这一问题上,主要着重于第一个方向的研究。

典型的解决方案是直接对齐整个视频与句子的特征,这会忽视视频内容与文本的内在关系。因此,匹配过程应当同时考虑细粒度的空间内容和各种时间语义事件。这就是细粒度的匹配。
为此,作者团队提出一种具有渐进式时空原型匹配的文本-视频学习框架。它的大致框架如下:

方法

给定一个由n个视频以及它们对应的m个文本描述组成的数据集,文本-视频检索(TVR)旨在学习一个函数,以有效地衡量模态之间的相似性。

对于文本查询,应当有:

 因此,需要强大的文本编码网络和视频编码网络来生成高质量的特征,从而实现有效的匹配。

采用 CLIP 作为骨干网络。给定输入视频,均匀地选择L个帧作为关键帧,提取连续特征:

其中是全局帧token特征,KPatch数量,D是特征维数,XiShape(K+1) × D

给定查询文本,添加开始token和结束token,输出文本token特征可以定义为:

其中,是全局文本token特征,MD分别是单词和特征维数,yiShape(M+2) × D

方法 - 总体框架

对象-短语原型匹配阶段

空间原型生成机制预测关键Patch或单词,这些Patch或单词被聚合成对象或短语原型。重要的是,优化对象-短语原型之间的局部对齐有助于模型感知空间细节。

事件-句子原型匹配阶段

设计了一个时间原型生成机制,将帧内对象与帧间时间关系相互关联。这样逐步生成的事件原型可以揭示视频中的语义多样性,用于动态匹配。

方法 - 对象短语原型匹配

相较于现有方法学习一个单一的Patch-Event投影,作者团队使用分而治之的方式解耦时空建模过程。

首先进行Patch-对象和单词-短语的空间原型聚合,来揭示关键的局部细节。

分为两个步骤:

空间原型生成 Spatial Prototype GenerationSPG

对于Patch特征,首先需要生成它们的空间对象原型:

使用两个全连接(FC)层和ReLU函数来预测稀疏权重,其中No是对象原型的数目,这样就可以避免对象原型受到冗余Patch的影响,从而使得对象原型更准确、集中。

其中,Po为对象原型, ShapeNo×D

对于文本,同样借鉴SPG机制,并设计了一个类似的网络结构来聚合单词标记,生成短语原型

对象-短语匹配 Object-Phrase Matching

基于上一步骤生成的对象、文本原型,实现对象-短语原型匹配。

计算每个帧内的对象-短语原型的最大相似度,将最相似的短语原型和每个对象原型关联起来,反映了跨模态的细粒度分配。

然后,对于多帧对象相似度矩阵,找到跨帧序列的最大相似度分数,得到置信度更高的对象-短语匹配概率。最后将匹配得分求和,得到最终的相似性Sop

其中,No是对象原型的数量、Np是短语原型的数量、L是帧的数量。

这一部分的矩阵处理细节如下所示:

Pp与Po相乘以后,得到的矩阵首先按列取最大值,得到下面的矩阵:

它的含义是,对于每个对象原型,其与短语原型的最大相似度。

然后,对于每个关键帧都有一个上述的矩阵,在跨帧之间再取对于每个对象原型与短语原型的最大相似度,从而得到置信度更高的对象-短语匹配分数

方法 事件句子原型匹配

接下来,到了事件句子原型匹配阶段。

时间原型生成 Temporal Prototype GenerationTPG

直接基于全局帧特征获得视频级特征会导致模型不能感知局部细节,并且只能得到单一的视频级特征。

作者团队提出一种渐进式的方法,逐步将对象原型聚合到帧原型中,然后进行帧间交互,以生成各种事件原型。

首先设计一个帧解码器,将所有对象原型聚合到帧级原型中:

其中,是帧Query(Learnable),KoVo是对象原型Po的线性变换后的特征。

注意力掩码的定义是:

这一部分的矩阵处理细节如下所示:

注意观察Mf与的关联,可以理解它的作用是使得注意力仅存在于同一帧的对象原型之间,从而不受到其他帧的对象原型的干扰。

Softmax后的权重再乘以对应帧的𝑣𝑜从而得到帧原型矩阵Pf,形状为(L × D

后面使用全局帧信息Qf进行一个Residual Connection。

将帧原型pf和相应帧的原始全局特征xc相加,以增强模型的稳健性:

然后,使用一个动态事件解码器来学习Pf中的帧间关系,它可以获得不同的事件原型 来展示视频的丰富信息。

其中,是事件Query(Learnable),KfVf是帧原型Pf的线性变换后的特征。

在训练过程中,每个事件Query都学习如何自适应地聚焦于视频帧原型,而多个Query隐含地保证了一定的事件多样性。

事件句子匹配 Event-Sentence Matching

由于同一个视频通常对应多个文本语义描述,我们直接使用全局文本表示yE作为句子原型与事件原型Pe进行对齐,找到句子原型与事件原型的最大相似度,作为最终的相似性Ses

方法 – 训练与推断

训练阶段

采用InfoNCE损失函数来优化batch内的原型匹配。将文本-视频对视为正样本,同时考虑batch内的其他成对组合作为负样本:

其中,SopSes分别为来自 对象短语原型匹配 和 事件句子原型匹配阶段 的 对象-短语原型相似度 和 句子-事件原型相似度 。

推理阶段

直接对最终相似度匹配加权了时空匹配得分:
其中是空间匹配因子。

实验 评价指标与结果

Recall@K (R@K)

这个指标衡量在前K个检索结果中正确匹配的比例。

Median Rank (MdR)

中位数排名指标表示正确匹配项在所有检索结果中的中位数排名。

Mean Rank (MnR)

平均排名指标表示所有正确匹配项在所有检索结果中的平均排名。

实验 消融实验

此外,作者进行了消融实验并做出了以下分析:
  • 只使用ESPM时,R@1下降了2.6个点,证实了细粒度空间细节对于ESPM的补充作用。
  • 只使用OPPM时,模型性能仍然较差,因为其缺乏对时间的理解,无法解决关系模糊性。
  • SPG替换为TPG,性能下降说明了原始视频标记中存在冗余,SPG能够有效地过滤冗余信息。
  • TPG替换为SPG,性能下降说明了帧间信息的交互对于生成更好得到事件原型是很重要的

  • -F-M-R(移除帧解码器、attention mask、残差连接)的结果下降,表明帧内的局部对象关系和全局帧特征共同补充了全面的帧级空间信息。
  • P-PO-W(使用patch-phraseobject-word,而不是原型)表明使用原型匹配能减缓模态对齐问题。
  • F-WF-S(直接使用CLS或直接使用平均池化获得帧token)会影响信息的细节,从而降低性能。
  • 在原型数量的设置上,也进行了实验,最后确定了最好的原型配置。表明在原型太多时会引入局部噪音,而太少时则无法表达语义。
  • 同时也针对空间匹配因子β做了测试,找到了最合适的β值。表明需要同时合理地利用底层细粒度的空间信息和时间原型匹配,才能得到好的结果。

实验 定性分析

原型可视化

通过对象原型和时间原型的可视化图片,可以看见它们之间具体的匹配关系。可以看到不同的事件原型在不同帧上的权重差异很大,说明模型能够学习到时间关系。

检索结果

通过举例分析说明了对象-短语原型匹配提供了重要的细粒度空间知识,从而能够给出更好的查询结果。

总结

提出了一种新颖的文本-视频检索框架,称为ProST,将匹配过程分解为互补的对象-短语和事件-句子原型对齐。

在对象-短语原型匹配阶段,设计了空间原型生成机制,以便专注于重要的视频内容并加强精细的空间对齐。

在事件-句子原型匹配阶段,他们使用时间原型生成机制逐渐生成多样化的事件原型,并学习动态的一对多关系。

希望通过这篇论文不仅能够提供有关互补的时空匹配的重要性的见解,还能够促进未来的研究,通过解决设计缺陷而不是主要是尝试和错误来推动文本-视频检索领域的进展。

个人感受

读完这篇文章,唯一的感觉就是太花了,实在是太花了。学习之路任重而道远!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

HTML使用canvas绘制海报(网络图片)

生成前&#xff1a; 生成后&#xff1a; <!DOCTYPE html> <html><head><meta charset"utf-8"><title>媒体参会嘉宾邀请函生成链接</title><link rel"stylesheet" href"https://cdn.jsdelivr.net/npm/vant2.10…

矩阵键盘独立接口设计(Keil+Proteus)

前言 实验&#xff1a;通过4*4的矩阵键盘&#xff0c;按下某个按钮之后会在数码管上面显示对应的键号。&#xff08;0~F&#xff09; 基础操作参考这篇博客&#xff1a; LED数码管的静态显示与动态显示&#xff08;KeilProteus&#xff09;-CSDN博客https://blog.csdn.net/w…

maven 上传本地jar包到nexus

maven上传命令 mvn deploy:deploy-file -DgroupIdcom.microsoft.sqlserver -DartifactIdsqljdbc4 -Dversion4.0 -Dpackagingjar -DfileC:\java\top-sdk-java-1.0.1-lib\lib\bcprov-jdk16-1.46.jar -Durlhttp://ip:port/repository/maven-releases/ -DrepositoryIdsnapshot…

一个Linux自动备份脚本的示例

一个简单的Linux自动备份脚本的示例&#xff0c;根据需要进行自定义&#xff1a; 请确保按照您的需求修改source_dir和backup_dir为要备份的源目录和备份目录的路径。此脚本使用tar命令创建一个以当前日期命名的压缩备份文件&#xff0c;并在备份完成后检查是否成功。此外&…

vite基础学习笔记:13.Dialog 对话框 (用户注册与登录)

说明&#xff1a;自学做的笔记和记录&#xff0c;如有错误请指正 1. Dialog 对话框组件 目标效果&#xff1a;点击“登录/注册”&#xff0c;弹框 &#xff08;1&#xff09;创建全局组件&#xff0c;在官网中查询代码粘贴 &#xff08;2&#xff09; 注册和使用全局组件 &a…

Android ConstraintLayout

0dp 充满约束 to左侧是控件本身,to右边是约束条件 例如: app:layout_constraintBottom_toBottomOf"id/image_1" app:layout_constraintTop_toBottomOf"id/image_1" 指定权重: app:layout_constraintHorizontal_weight"" app:layout_constra…

[云原生案例2.1 ] Kubernetes的部署安装 【单master集群架构 ---- (二进制安装部署)】

文章目录 1. 常见的K8S安装部署方式1.1 Minikube1.2 Kubeadm1.3 二进制安装部署 2. Kubernetes单master集群架构 ---- &#xff08;二进制安装部署&#xff09;2.1 前置准备2.2 操作系统初始化2.3 部署 docker引擎 ---- &#xff08;所有 node 节点&#xff09;2.4 部署 etcd 集…

cygwin编译redis、nssm配置redis服务

一、总结 本文尝试了redis-7.2.1、redis-7.2、redis-7.0.12、redis-6.2.13&#xff0c;其中redis-7.0.12、redis-6.2.13下载下来后&#xff0c;没有修改redis项目的任何代码&#xff0c;直接在解压后的根目录下执行make命令就可以成功&#xff0c; 结果总结如下&#xff1a; r…

京东数据分析:2023年9月京东笔记本电脑行业品牌销售排行榜

鲸参谋监测的京东平台9月份笔记本电脑市场销售数据已出炉&#xff01; 9月份&#xff0c;笔记本电脑市场整体销售下滑。鲸参谋数据显示&#xff0c;今年9月份&#xff0c;京东平台上笔记本电脑的销量将近59万&#xff0c;环比下滑约21%&#xff0c;同比下滑约40%&#xff1b;销…

RTMP协议详解及Wiresahrk抓包分析

文章目录 前言一、RTMP 简介1、RTMP 介绍2、变种 二、wireshark 抓 RTMP 报文1、搭建 RTMP 服务器2、运行 RTMP 服务器3、打开 wireshark4、ffmpeg 推流5、VLC 拉流 三、RTMP 协议详解1、前言2、总体介绍3、握手4、RTMP Chunk Stream①、message&#xff08;消息&#xff09;②…

人工智能-卷积神经网络之多输入多输出通道

多输入多输出通道 每个图像的多个通道和多层卷积层。例如彩色图像具有标准的RGB通道来代表红、绿和蓝。 但是到目前为止&#xff0c;我们仅展示了单个输入和单个输出通道的简化例子。 这使得我们可以将输入、卷积核和输出看作二维张量。 当我们添加通道时&#xff0c;我们的输…

Qt 项目实战 | 音乐播放器

Qt 项目实战 | 音乐播放器 Qt 项目实战 | 音乐播放器播放器整体架构创建播放器主界面 官方博客&#xff1a;https://www.yafeilinux.com/ Qt开源社区&#xff1a;https://www.qter.org/ 参考书&#xff1a;《Qt 及 Qt Quick 开发实战精解》 Qt 项目实战 | 音乐播放器 开发环…

揭开堆叠式自动编码器的强大功能

一、介绍 在不断发展的人工智能和机器学习领域&#xff0c;深度学习技术因其处理复杂和高维数据的能力而广受欢迎。在各种深度学习模型中&#xff0c;堆叠式自动编码器是一种多功能且功能强大的工具&#xff0c;可用于特征学习、降维和数据表示。本文探讨了堆叠式自动编码器在深…

UE5、CesiumForUnreal实现加载GeoJson绘制单面(Polygon)功能(StaticMesh方式)

文章目录 1.实现目标2.实现过程2.1 实现原理2.1.1 数据读取2.1.2 三角剖分2.1.3 创建StaticMesh2.2 应用测试2.2.1 具体代码2.2.2 蓝图应用测试3.参考资料1.实现目标 通过读取本地GeoJson数据,在UE中以StaticMeshComponent的形式绘制出面数据,支持Editor和Runtime环境,GIF动…

高压放大器能够在哪里使用呢

高压放大器是一种重要的电子设备&#xff0c;可以在许多不同的领域和应用中使用。下面西安安泰将详细介绍高压放大器的应用。 医学影像&#xff1a;高压放大器在医学影像领域具有广泛的应用。医学影像设备&#xff08;如X射线机、CT扫描仪等&#xff09;需要高压来产生足够的能…

通俗理解repartition和coalesce区别

官方的解释 reparation 返回一个具有恰好numPartitions分区的新RDD。 可以增加或减少此RDD中的并行级别。在内部,reparation会使用shuffle来重新分发的数据。 如果要减少此RDD中的分区数量,请考虑使用coalesce,这样可以避免执行shuffle。 coalesce 返回一个新的RDD,该RDD被…

nginx--install

1. ubuntu 1.1 下载并解压依赖 每个包去各自官网下载 stable 版就行。 tar xzvf nginx-1.24.0.tar.gz tar xzvf openssl-3.1.4.tar.gz tar xzvf pcre2-10.42.tar.gz tar xzvf zlib-1.3.tar.gz1.2 配置及安装 参数含义详见 nginx 官网 cd nginx-1.24.0./configure --pre…

11 抽象向量空间

抽象向量空间 向量是什么函数什么是线性推论向量空间 这是关于3Blue1Brown "线性代数的本质"的学习笔记。 向量是什么 可以是一个箭头&#xff0c;可以是一组实数&#xff0c;即一个坐标对。 箭头在高维&#xff08;4维&#xff0c;甚至更高&#xff09;空间&…

免费音效素材,不能错过这6个网站

找免费音效素材&#xff0c;那必须要上这6个网站&#xff0c;热门音效、BGM都能免费下载&#xff0c;赶紧收藏起来。 1、菜鸟图库 https://www.sucai999.com/audio.html?vNTYwNDUx 菜鸟图库是一个综合性素材网站&#xff0c;站内涵盖设计、图片、办公、视频、音效等素材。其中…

【23真题】Easy!速成120两个月够了!

今天分享的是23年广西科技809的信号与系统试题及解析。 本套试卷难度分析&#xff1a;本套试题内容难度中等偏下&#xff0c;题量不大&#xff0c;考察的知识点很基础。所有的知识点都出现在它应该出现的地方&#xff0c;无任何偏难怪&#xff0c;非常常规的试卷&#xff01;个…