【论文笔记】Sign Language Video Retrieval with Free-Form Textual Queries

news2025/1/13 20:01:41

🍎个人主页:小嗷犬的个人主页
🍊个人网站:小嗷犬的技术小站
🥭个人信条:为天地立心,为生民立命,为往圣继绝学,为万世开太平。


基本信息

标题: Sign Language Video Retrieval with Free-Form Textual Queries
作者: Amanda Duarte, Samuel Albanie, Xavier Giró-i-Nieto, Gül Varol
发表: CVPR 2022
arXiv: https://arxiv.org/abs/2201.02495

基本信息

摘要

能够高效搜索手语视频集合的系统被强调为手语技术的一个有用应用。

然而,在文献中,超越单个关键词搜索视频的问题受到了有限的关注。

为了解决这一差距,本文引入了手语检索任务,该任务使用自由形式的文本查询:给定一个书面查询(例如一个句子)和一个大型的手语视频集合,目标是找到与书面查询最匹配的手语视频。

我们提出通过在最近引入的大规模How2Sign美国手语(ASL)数据集上学习跨模态嵌入来解决这一任务。

我们发现系统性能的关键瓶颈在于手语视频嵌入的质量,这受限于标记训练数据的稀缺性。

因此,我们提出了SPOT-ALIGN框架,该框架通过交替进行手语识别和特征对齐的迭代轮次来扩展可用训练数据的范围和规模。

我们通过在手语识别和提出的视频检索任务中的改进验证了SPOT-ALIGN学习稳健手语视频嵌入的有效性。

引言

Text-based sign language video retrieval

在这项工作中,我们引入了基于自由文本查询的手语视频检索,该任务是在手语视频集合中搜索与自由文本查询最佳匹配的内容,超越了单个关键词搜索。

手语检索

检索任务定义

V \mathcal{V} V 表示一个感兴趣的手语视频的数据集,并且令 t t t 表示一个自由形式的文本用户查询。手语视频检索与文本查询任务的目标是找到手语视频 v ∈ V v \in \mathcal{V} vV,其手语内容最匹配查询 t t t。我们使用文本到手语视频(T2V)作为表示来指代此任务。类似于现有跨模态检索文献中考虑的对称公式,我们也考虑反向手语视频到文本(V2T)任务,在该任务中,手语视频 v v v 用于查询文本集合 T \mathcal{T} T

跨模态检索嵌入

为了处理上述定义的检索任务,我们假设可以访问一个包含手语视频及其对应书面翻译的并行语料库。我们的目标是学习一对编码器 ϕ V \phi_{\mathcal{V}} ϕV ϕ T \phi_{\mathcal{T}} ϕT,它们将每个手语视频 v v v 和文本 t t t 映射到一个共同的实值嵌入空间中,即 ϕ V ( v ) , ϕ T ( t ) ∈ R C \phi_{\mathcal{V}}(v), \phi_{\mathcal{T}}(t) \in \mathbb{R}^C ϕV(v),ϕT(t)RC,使得 ϕ V ( v ) \phi_{\mathcal{V}}(v) ϕV(v) ϕ T ( t ) \phi_{\mathcal{T}}(t) ϕT(t) 在且仅在 t t t 对应于 v v v 中的手语内容时接近。这里 C C C 表示共同嵌入空间的维度。

为了学习这些编码器,我们采用了 Socher 等人提出的跨模态排序学习目标。具体来说,给定配对样本 { ( v n , t n ) } n = 1 N \{(v_n, t_n)\}_{n=1}^N {(vn,tn)}n=1N,我们优化最大间隔排序损失:

L = 1 B ∑ i = 1 , i ≠ j B [ η i j − η i i + m ] + + [ η j i − η i i + m ] + \mathcal{L} = \frac{1}{B} \sum_{i=1, i \neq j}^{B} [\eta_{ij} - \eta_{ii} + m]_+ + [\eta_{ji} - \eta_{ii} + m]_+ L=B1i=1,i=jB[ηijηii+m]++[ηjiηii+m]+

其中 m m m 表示间隔超参数, [ ⋅ ] + [\cdot]_+ []+ 表示铰链函数 max ⁡ ( ⋅ , 0 ) \max(\cdot, 0) max(,0) B B B 表示训练期间采样的小批量大小,而 η i j \eta_{ij} ηij 表示手语视频 v i v_i vi 和文本 t j t_j tj 之间的余弦相似度。

一旦学习完成,这些嵌入可以直接应用于 T2V(文本到手语视频)和 V2T(手语视频到文本)任务。对于前者,推理过程包括简单地计算文本查询 t t t 和每个索引手语视频 v ∈ V v \in \mathcal{V} vV 之间的余弦相似度以生成排名(反之亦然对于 V2T 任务)。

Encoder architectures 手语视频编码器 ϕ v \phi_v ϕv 首先由一个初始的手语视频嵌入 ψ v \psi_v ψv 组成,我们将其实现为一个 I3D 神经网络,该网络在 16 帧的片段上运行(因其在手语识别中的有效性而受到启发)。 ψ v \psi_v ψv 的输出在时间上聚合为一个固定大小的向量,然后投影到 C C C 维的跨模态嵌入空间中,即 ϕ v ( v ) ∈ R C \phi_v(v) \in \mathbb{R}^C ϕv(v)RC

为了实现 ϕ T \phi_T ϕT,每个文本样本 t t t 首先通过一个在大量书面文本语料库上预训练的语言模型进行嵌入。生成的词嵌入序列通过 NetVLAD 结合,并按照公式通过门控嵌入单元进行投影,以生成一个固定大小的向量 ϕ T ( t ) ∈ R C \phi_T(t) \in \mathbb{R}^C ϕT(t)RC

视频嵌入的迭代增强

如上所述,我们任务的有效跨模态嵌入需要一个好的手语视频嵌入。获得此类嵌入的一个关键挑战是用于训练的手语数据相对匮乏。例如,据我们所知,目前没有大规模公开的连续手语数据集,这些数据集包含与美国手语(ASL)对应的手语注释。

Method overview

为了解决这一挑战,我们提出了SPOT-ALIGN框架(图2a),利用该框架在How2Sign数据集上获取大量自动手语注释。该数据集提供了带有相应书面英语翻译的视频,但目前缺乏此类注释。

总之,我们首先利用近期研究中提出的采用嘴型线索和词典示例的识别技术,获取一组候选的手势标注。

我们通过以下方法补充这些稀疏的注释:迭代地增加基于字典的注释数量,重新训练我们的手语视频嵌入,并重新查询字典示例。接下来,我们将描述每个步骤。

基于嘴部动作的手语识别

首先,我们使用基于嘴部动作的手语识别框架来识别出现在书面How2Sign翻译中的单词对应的手语位置。

这种方法依赖于观察到手语有时会利用嘴部动作,除了头部运动和手动手势,它采用了关键词识别架构,并结合了Momeni等人提出的改进的P2G音素到图素关键词编码器。

我们从一个初始候选列表中搜索关键词,该列表包含12K个单词,这些单词是通过对文本进行规范化得到的(确保数字和日期转换为其书面形式,例如“7”变为“seven”),并过滤以保留至少包含四个音素的单词。

每当关键词识别模型以超过0.5(满分1分)的信心定位一个嘴部动作时,我们就记录一个注释。通过这种方法,我们从5K词汇量中获得了大约37K个训练注释。我们将这些单词过滤为出现在WLASL或MSASL词汇数据集中的单词。最终的9K训练注释覆盖了1079个单词的词汇量,这是我们用于训练手语识别模型的初始词汇表

基于词典的手语识别

接下来,我们采用了一种基于示例的手语识别方法。这种方法考虑了每个手语的一小部分视频示例,这些示例被用作视觉查询,与连续的测试视频进行比较。位置被记录为自动注释,用于查询手势在相似性最大时的时间点。这种查询和测试视频之间的相似性度量需要一个联合空间。在这项工作中,我们选择了一种更简单的机制,即联合训练一个带有I3D主干的手势识别模型,表示为 ψ v ′ \psi'_v ψv,在查询视频集上(这些视频通常来自孤立领域,如词汇词典)以及来自我们的搜索域(即从基于嘴动的定位前一步获得的How2Sign稀疏注释)的手势标注视频上。这个分类模型的潜在特征(现在大约在两个域之间对齐)随后用于计算余弦相似性。

类似于嘴动方法,我们根据字幕为每个视频选择候选查询词。然而,在使用词典定位时,我们寻找单词的原始形式和词形变化形式(去除词形变化),因为所使用的手势语言词典通常包含每个单词的一个版本(例如‘run’而不是‘running’)。

作为我们构建查询的手语示例来源,我们利用了WLASL和MSASL的训练集,这两个数据集分别包含2K和1K词汇量的孤立手语。为了联合训练,我们从它们的训练子集中选择出现在我们之前嘴动注释中的1079个手语词汇表中的样本。然而,我们在查询时使用完整的训练集,这使我们能够自动标注初始1079个手语之外的手语。我们记录所有注释,其中最大相似度(在每个手语的所有示例中)高于0.75(满分1),从而从扩展后的1887个手语词汇表中获得59K个训练注释。

通过SPOT-ALIGN进行迭代增强

从前两种方法中,我们获得了一组初始的自动标注。然而,基于字典的定位方法的效果受到How2Sign视频与用于获取示例的数据集之间的领域差距的严重限制。因此,很自然地会问,我们是否可以通过在字典示例和How2Sign领域之间实现更好的特征对齐来提高基于字典的定位效果。为此,我们引入了一个重新训练和重新查询的框架,我们称之为SPOT-ALIGN,接下来将对其进行描述。

在第 i i i 次迭代中,我们使用通过WLASL-MSASL词典和How2Sign自动标注(由第 i − 1 i - 1 i1 次迭代提供)的联合训练获得的I3D潜在特征。我们观察到效果显著提高(例如, D 2 D_2 D2 中有160K标注,而 D 1 D_1 D1 中只有59K标注),尽管使用相同的示例和相同的字幕来构建我们的查询。关键区别在于我们比较示例视频和测试视频时使用的更好对齐的嵌入。

Iterative enhancement of automatic annotations

在图3中,我们展示了在连续时间轴上对样本视频的稀疏标注结果,我们观察到随着SPOT-ALIGN迭代,标注的密度显著增加。我们用 D i D_i Di 表示应用第 i i i 次迭代后自动训练标注的集合。此过程的概述如图2a所示。

给定此过程最终迭代的标注,我们训练一个新的手语识别模型(仅在连续数据集,即How2Sign上训练),从中我们使用1887个手语的分类层之前的(1024维)潜在表示获得最终的视频手语嵌入 ψ v \psi_v ψv。如图2b所示,此嵌入支撑了我们跨模态嵌入的手语视频编码器 ϕ v \phi_v ϕv,并且还用于对单个手语进行分类,以实现基于文本的检索,接下来将对此进行描述。

通过手语识别进行基于文本的检索

用于训练手语视频嵌入 ψ v \psi_v ψv 的单个手语识别模型,如果以滑动窗口的方式应用于来自 v v v 的长手语视频,自然可以用于获得手语序列。虽然由于缺乏连续标注导致缺乏时间建模,该模型的性能预计不会很高,但预测的手语类别输出列表为我们提供了一组候选词,可用于检查与查询文本的重叠。这类似于用于口语内容检索的级联自动语音识别(ASR),但手语识别比语音识别困难得多(部分原因是缺乏训练数据)。由于手语的顺序不一定遵循翻译文本中的词序,我们简单地计算交并比(IoU)来衡量查询文本与识别的手语之间的相似度。在计算IoU之前,我们对查询词和预测词都进行词形还原。我们通过去除重复项和去除概率低于一定阈值(我们实验中为0.5)的分类来约束识别的手语集合。在实验中,我们表明这种基于文本的检索方法,虽然性能不如跨模态检索方法,但具有互补性,可以显著提高整体性能。

实验

Iteratively increasing the sign annotations

Effect of sign video embeddings

Qualitative results on text to sign language retrieval

Influence of sign video embedding aggregation strategy

Influence of the text embedding

Thresholding sign recognition probabilities

Effect of subtitle alignment

Combination of models

Retrieval performance on the PHOENIX2014T dataset

总结

在这项工作中,我们引入了基于自由文本查询的手语视频检索任务。我们在How2Sign和PHOENIX2014T数据集上提供了该任务的基线。我们还提出了SPOTALIGN框架以获得自动标注,并展示了其在生成有效的手语视频嵌入以用于检索方面的价值。

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

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

相关文章

Observability:将 OpenTelemetry 添加到你的 Flask 应用程序

作者:来自 Elastic jessgarson 待办事项列表可以帮助管理与假期计划相关的所有购物和任务。使用 Flask,你可以轻松创建待办事项列表应用程序,并使用 Elastic 作为遥测后端,通过 OpenTelemetry 对其进行监控。 Flask 是一个轻量级…

网站目录权限加固

说明 在一个入侵链路中,往往是利用某个安全漏洞,向服务器写入或上传一个webshell(后门),再通过webshell提权或进行后续渗透入侵行为。 这个过程中,获取webshell是最关键最重要的一个步骤,如能在…

qt QPainter setViewport setWindow viewport window

使用qt版本5.15.2 引入viewport和window目的是用于实现QPainter画出来的内容随着窗体伸缩与不伸缩两种情况,以及让QPainter在widget上指定的区域(viewport)进行绘制/渲染(分别对应下方demo1,demo2,demo3)。 setViewpo…

一些计算机零碎知识随写(25年1月)-1

我原以为世界上有技术的那批人不会那么闲,我错了,被脚本真实了。 今天正隔着画画呢,手机突然弹出几条安全告警通知。 急忙打开服务器,发现问题不简单,直接关服务器重装系统..... 首先,不要认为小网站&…

分布式锁Redisson详解,Redisson如何解决不可重入,不可重试,超时释放,主从一致问题的分析解决(包括源码简单分析)

目录 1. Redisson解决不可重入锁导致的死锁问题 2. 不可重试问题 Pub/Sub 的优势 锁释放的发布逻辑 3. 超时释放的问题 1. 锁的超时释放机制背景 2. 源码分析 2.1 锁的获取 2.2 看门狗机制 2.3 看门狗续期实现 2.4 手动设置锁的过期时间 总结 4. 主从一致性 问题…

【微服务】面试 4、限流

微服务限流技术总结 一、微服务业务面试题引入 在微服务业务面试中,限流是重要考点,常与分布式事务、分布式服务接口幂等解决方案、分布式任务调度等一同被考查。面试官一般会询问项目中是否实施限流及具体做法,回答需涵盖限流原因、采用的方…

爬虫基础之爬取歌曲宝歌曲批量下载

声明:本案列仅供学习交流使用 任何用于非法用途均与本作者无关 需求分析: 网站:邓紫棋-mp3在线免费下载-歌曲宝-找歌就用歌曲宝-MP3音乐高品质在线免费下载 (gequbao.com) 爬取 歌曲名 歌曲 实现歌手名称下载所有歌曲 本案列所使用的模块 requests (发送…

树莓派-5-GPIO的应用实验之GPIO的编码方式和SDK介绍

文章目录 1 GPIO编码方式1.1 管脚信息1.2 使用场合1.3 I2C总线1.4 SPI总线2 RPI.GPIO2.1 PWM脉冲宽度调制2.2 静态函数2.2.1 函数setmode()2.2.2 函数setup()2.2.3 函数output()2.2.4 函数input()2.2.5 捕捉引脚的电平改变2.2.5.1 函数wait_for_edge()2.2.5.2 函数event_detect…

Scala分布式语言二(基础功能搭建、面向对象基础、面向对象高级、异常、集合)

章节3基础功能搭建 46.函数作为值三 package cn . itbaizhan . chapter03 // 函数作为值,函数也是个对象 object FunctionToTypeValue { def main ( args : Array [ String ]): Unit { //Student stu new Student() /*val a ()>{"GTJin"…

CVE-2025-22777 (CVSS 9.8):WordPress | GiveWP 插件的严重漏洞

漏洞描述 GiveWP 插件中发现了一个严重漏洞,该插件是 WordPress 最广泛使用的在线捐赠和筹款工具之一。该漏洞的编号为 CVE-2025-22777,CVSS 评分为 9.8,表明其严重性。 GiveWP 插件拥有超过 100,000 个活跃安装,为全球无数捐赠平…

支付宝租赁小程序提升租赁行业效率与用户体验

内容概要 在当今数字化的世界里,支付宝租赁小程序的出现构建了一种新的租赁模式,使得用户在使用过程中体验更加流畅。想象一下,你在寻找租赁服务时,不再需要繁琐的流程和冗长的等待,只需通过手机轻松点击几下&#xf…

关于使用FastGPT 摸索的QA

近期在通过fastGPT,创建一些基于特定业务场景的、相对复杂的Agent智能体应用。 工作流在AI模型的基础上,可以定义业务逻辑,满足输出对话之外的需求。 在最近3个月来的摸索和实践中,一些基于经验的小问题点(自己也常常…

服务器/电脑与代码仓gitlab/github免密连接

git config --global user.name "xxxx" git config --global user.email "xxxxxx163.com" #使用注册GitHub的邮箱 生成对应邮箱的密码对 ssh-keygen -t rsa -b 4096 -C "xxxxxx163.com" 把公钥id_rsa.pub拷贝到github中 Setting----->…

【C语言系列】函数递归

函数递归 一、递归是什么?1.1尾递归 二、递归的限制条件三、递归举例3.1举例一:求n的阶乘3.2举例二:顺序打印一个整数的每一位 四、递归与迭代4.1举例三:求第n个斐波那契数 五、拓展学习青蛙跳台问题 一、递归是什么? …

springboot 默认的 mysql 驱动版本

本案例以 springboot 3.1.12 版本为例 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.1.12</version><relativePath/> </parent> 点击 spring-…

[QCustomPlot] 交互示例 Interaction Example

本文是官方例子的分析: Interaction Example 推荐笔记: qcustomplot使用教程–基本绘图 推荐笔记: 4.QCustomPlot使用-坐标轴常用属性 官方例子需要用到很多槽函数, 这里先一次性列举, 自行加入到qt的.h中.下面开始从简单的开始一个个分析. void qcustomplot_main_init(void); …

openMetaData docker方式安装部署记录

OpenMetadata一站式元数据管理平台&#xff0c;是一款功能强大的开源元数据管理平台&#xff0c;旨在帮助企业更好地发现、理解和管理其数据资产。它提供了一套全面的工具和功能&#xff0c;涵盖了数据发现、数据血缘、数据质量、数据探查、数据治理和团队协作等多个方面。 那…

57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景

57. Three.js案例-创建一个带有聚光灯和旋转立方体的3D场景 实现效果 该案例实现了使用Three.js创建一个带有聚光灯和旋转立方体的3D场景。 知识点 WebGLRenderer&#xff08;WebGL渲染器&#xff09; THREE.WebGLRenderer 是 Three.js 中用于将场景渲染为 WebGL 内容的核…

本地视频进度加入笔记+根据进度快速锁定视频位置

本地视频进度记录快速回溯 引言 在学习的过程中, 如果我们想快速记录当前看视频的位置, 后续回溯查找就会非常方便了。 实现效果 进度记录 通过按下快捷键ctrlaltu&#xff0c; 快速记录当前视频的进度信息,然后复制到typora软件内 快速回溯 在typora软件内, 选中视频索引…

Spring Boot 支持哪些日志框架

Spring Boot 支持多种日志框架&#xff0c;主要包括以下几种&#xff1a; SLF4J (Simple Logging Facade for Java) Logback&#xff08;默认&#xff09;Log4j 2Java Util Logging (JUL) 其中&#xff0c;Spring Boot 默认使用 SLF4J 和 Logback 作为日志框架。如果你需要使…