视频序列对比学习

news2024/11/20 23:27:11

前言

视频embedding化也即表征有很多实际的应用场景,比如文本-视频 pair的检索等等。由于视频一般来说较长,所以对于给定的一段话,其中的某些sentence句子一般对应着视频中某几个clip片段,之前常规的做法都是去匹配所有的sentence-clip pairs对。

但是这种单元级别匹配的做法会天然的忽略掉全局的时间序列,这样就在一定程度上限制了泛化性,比如对于一些背景相似的视频,通常会出现一种匹配错误的情况(如下图(a)(b)在画面视觉上很相似,但是分别对应着文本(1)(2)),为此本文提出了一种序列对比学习用以解决这种问题。

alt

如果有小伙伴对多模态方向有兴趣,可以选择性的翻看笔者之前的文章进行穿梭,比如:

《多模态预训练模型综述》:https://zhuanlan.zhihu.com/p/435697429

《第一个大规模中文视频多模态相似度数据集》:https://zhuanlan.zhihu.com/p/539833773

《多模态事件图谱》:https://zhuanlan.zhihu.com/p/530325352

《最新图文大一统多模态模型:FLAVA》:https://zhuanlan.zhihu.com/p/453581899

等等,感兴趣的小伙伴可以参考~

本次分享论文:https://arxiv.org/pdf/2212.13738.pdf

方法

  • 任务定义

假设有一对样本(一段文本或者一个视频) ,由于文本或者视频通常来说比较长,网络比较难一次性提取表征,所以需要切片即 ,其中 就是 的第i个切片, 就是切片的总长度, 是表征后向量的维度;同理 的含义同上;在匹配的时候, 的某一个分片 可以对应 的连续几个分片 其中 对应 的那几个连续分片的开始和结束分片。

  • 序列对比学习
alt

对比学习,相信大家都不陌生,主要就是要找正负样本对,然后直接套用公式即可。

每一个Paragraph段落由多个sentence句子组成,每个句子对应一个视频segment,每个视频segment由多个视频clip分片组成。

假设有一个正样本对 ,其首先通过随机shuffle 乱 得到 ,这样就打破了 在时间序列上的一致性,同时为了考虑 segment-level 级别的匹配,所以作者在具体打乱的时候是先修改segment的顺序,然后再在每个egment中打乱各自的顺序。

在得到 后,就可以做对比学习了即S_{a}和 做对比学习:

alt
  • Sequence-level distance

为了更好的检索,作者这里借鉴了DTW(Dynamic Time Wrapping)算法,该算法可以计算两个时间序列的相似度,尤其适用于不同长度、不同节奏的时间序列。其本质上是一个动态规划问题(更细节的大家可以直接查询即可,很多资料):

alt

作者这里对应的设计了一个矩阵 ,首先 中至少得存在一个能够匹配上即 同时假设 匹配,那么 将不能和 中的任一个匹配也即 ;有了这个矩阵也即 ;最终两个序列的距离就是

同时作者还实验了DTW的一个变种算法OTAM。

实验

作者也进行了很多实验,这里贴一个检索任务的实验,可以看到相对于基线还是有一些提高的。

alt

总结

大家可以学习一下怎么把序列信息应用到对比学习中以及了解一下DTW算法。

关注

欢迎关注,下期再见啦~

知乎,csdn,github,微信公众号

本文由 mdnice 多平台发布

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

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

相关文章

人工服务、人工智能和分析是联络中心的主要趋势

数字联络中心提供商 IPI 宣布了其对 2023 年的预测。IPI 非常重视提供卓越的客户联系,认为未来一年将由以下趋势定义:专注于人工服务;增加对人工智能和自动化的采用;以及更多地使用数据和分析。 关注人性化服务 据 IPI 称&#…

实现QTreeView、QTableView子项中的复选框勾选/取消勾选功能

1.前言本博文所说的技术点适用于同时满足下面条件的所有视图类:模型类从 QAbstractItemModel派生。代理类从QStyledItemDelegate派生。故本博文所说的技术点也适用于QTableView。2.需求提出基于Qt的model/view framework技术,利用QTreeView树视图实现业务…

【异常】SpringSecurity登录失败:Full authentication is required to access this resource

一、报错提示 SpringSecurity提示如下内容: 2023-01-07 06:08:51.843 [cdi-ids-commonprovider] [http-nio-9092-exec-14] WARN com.desaysv.tsp.logic.ids.config.MyAuthenticationEntryPoint - 登录失败:Full authentication is required to acces…

基于Java+Jsp+SpringMVC漫威手办商城系统设计和实现

基于JavaJspSpringMVC漫威手办商城系统设计和实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留言 文末获取源码联…

2023 年值得关注的 7 大人工智能 (AI) 技术趋势

💂 个人网站:【海拥】【摸鱼游戏】【神级源码资源网】🤟 前端学习课程:👉【28个案例趣学前端】【400个JS面试题】💅 想寻找共同学习交流、摸鱼划水的小伙伴,请点击【摸鱼学习交流群】 人工智能 (AI) 已经接…

图数据库Neo4j实战(全网最详细教程)

1.图数据库Neo4j介绍 1.1 什么是图数据库(graph database) 随着社交、电商、金融、零售、物联网等行业的快速发展,现实社会织起了了一张庞大而复杂的关系网,传统数据库很难处理关系运算。大数据行业需要处理的数据之间的关系随数…

《Go 并发数据结构和算法实践》学习笔记 Day 1

极客时间21天打卡活动:2023.1.16-2.5 链表的接口: 插入元素删除元素读取元素 并发化改造: 并发插入元素并发删除元素并发读取元素 锁,每个节点都定义一把锁。 并发插入 区域猜想:如果某个CPU 锁定了某个节点&…

U3D客户端框架(资源管理篇)之资源热更新管理器 ResourceManager

一、资源热更新管理器模块设计 1.热更新是什么? 游戏或者软件内的 美术/脚本代码等资源 发生变化时,无需下载客户端重新进行安装,而是在应用程序启动的情况下,通过比对本地资源与CDN资源的MD5码,如果本地资源与CDN中…

Visual Code 打开方式添加到右键菜单

一、配置右键打开 文件 注册表找到分支: 计算机\HKEY_CLASSES_ROOT\*\shell 在这个里面 shell 分支里右键添加项 VisualCode(这个可以随便起,便于识别就行) 在 VisualCode 分支里右键添加项 Command(必须这个名&am…

【C++】双指针用法

快慢指针/同向指针 [0,i)的数据代表处理好的数据[i,j)的数据是那些处理过但不需要的数据[j,array.length)区间的数据为接下来待处理的数据。 以上三个区间的开和闭需要根据题目要求定义,但是要保持一致。 用此方法处理过的数组,处理好的数据相对位置会保…

(mysql)Waiting for table metadata lock

MySQL5.5 中引入了 metadata lock. 顾名思义,metadata lock 不是为了保护表中的数据的,而是保护 database objects(元数据)的。包括表结构、schema、存储过程、函数、触发器、mysql的调度事件(events). 要理解 metadata lock 最重要的一点就是&#xff1…

python连接mysql之PyMySQL的基本使用

一、PyMySQL的基本使用使用pymysql 直接连接mysqlPyMySQL安装pip3 install pymysqlimport pymysql# 连接数据库,创建连接对象connection # 连接对象作用是:连接数据库、发送数据库信息、处理回滚操作(查询中断时,数据库回到最初状…

关于Docker如何安装nginx

目录 1.Nginx 1.2. 安装nginx 2.容器之间相互通信 2.1.两个容器在同一网段 2.2.两个容器在不同网段 1.Nginx Nginx也是一款服务器,我们常用它做如:反向代理、负载均衡、动态与静态资源的分离的工作 反向代理:反向代理(Revers…

java spring下载步骤

首先 我们要下载一下 spring 我们访问spring的官网 地址非常的好记 spring.io project进入官网我们选择 project>Spring Framework 进入界面 我们选择 Learn 下面就会给我们列举出版本 这边建议大家下5.3.24 首先 要下GA的 因为这表示它比较稳定 其次 版本比较适中 大部分…

黑客动态播报 | 2023年网络攻击趋势

今天是跨入2023年大门的第一个工作日,作为开年的第一篇内容,我们从安全说起。      自2020年勒索软件攻击呈爆发式增长以来,全球企业都经历了“噩梦”般的三年,层出不穷的手段和无孔不入的方式,都让我们绷紧了每一条神经。      而在这三年里,我们并不是疲于应对,通过不…

过年了,怎么样批量爬取某东商品信息,并做可视化

前言 马上就要过年了,大家都在屯年货了网络上商品信息太多,不知道如何选择,今天,我们就用python爬取商品信息,并做可视化。 环境使用 python 3.9pycharm 模块使用 requestsseleniumtime谷歌驱动 说明 一、谷歌驱动…

前端学习之BootStrap

前言 Bootstrap 最初是由 mdo 和 fat 于 2010 年中旬创造就职于 Twitter 时创造的。在成为开源框架之前,Bootstrap 被称为 Twitter Blueprint。经过几个月的开发,Twitter 举办了首届黑客周(Hack Week),该项目获得了爆…

基于Java+SpringBoot+vue+elementUI私人健身教练预约管理系统设计实现

基于JavaSpringBootvueelementUI私人健身教练预约管理系统设计实现 博主介绍:5年java开发经验,专注Java开发、定制、远程、文档编写指导等,csdn特邀作者、专注于Java技术领域 作者主页 超级帅帅吴 Java毕设项目精品实战案例《500套》 欢迎点赞 收藏 ⭐留…

Linux中的文件描述符

目录 文件描述符 系统调用 open 为什么fd从3开始呢? 为什么是0,1,2,3...呢? 文件描述符分配规则 系统调用 close 系统调用 wirte 系统调用 read 文件描述符 在了解文件描述符之前,先了解关于操作文件的系统调用,C语言中的f…

Spring Cloud整体架构

Spring Cloud的中文名我们就暂且称呼它为“春云”吧,听上去是多么朴实无华的名字,不过呢一般名字起的低调的都是厉害角色,我们就看看Spring Cloud都提供了哪些靠谱功能吧。 技多不压身 我们前面说过,Spring Cloud是一款微服务架…