热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

跨模态检索|VisualRepresentationLearning

这篇论文最近被TCSVT接收,其主要任务为视频文本检索,并主要针对于视频特征表示学习。由于人们阅读时,通常会首先阅读概述,然

这篇论文最近被TCSVT接收,其主要任务为视频文本检索,并主要针对于视频特征表示学习。由于人们阅读时,通常会首先阅读概述,然后在进行精读,受这一阅读策略的启发,本文提出了一种视频特征学习方法(RIVRL)来表示视频, 它包含两个分支:一个预览分支和一个精读分支,顾名思义,预览分支用来捕捉视频的概述信息,精读分支用来捕捉视频中更加深层次的信息。

然而在该任务中,如图1所示,类似的视频特征学习的多分支范式往往都是独立的,然而作者认为,尽管这种方法取得了很好的性能,但作者认为这样的独立多分支范式是次优的。根据作者的观察,当两个分支独立学习时,两分支都倾向于学习视频中的主要对象,而忽略它具体的关键细节。因此,为了加强多个分支之间的互补性,作者设计了预览感知注意力,使得精读分支可以感知到预览分支所捕捉到的视频的概述信息,以捕捉视频中更加精确且细粒度的视频信息。

Method

Previewing Branch

该分支主要用来捕捉视频中的概述信息,是一个轻量级的分支,通过双向GRU来提取一个序列特征 

 ,然后将其进行平均池化得到一个向量特征  , 

Intensive-Reading Branch

该分支主要用来学习更深次的视频特征信息,受n-gram语言模型的启发,作者将n个连续的帧作为一个视频片段,其主要通过使用一个特定大小的滑动窗口将视频划分成一个片段序列,作者这里使用了多个不同大小的滑动窗口,进一步得到了多个不同长度的片段特征序列,作为多粒度的特征表示。

其具体实现方式为,首先给定一个视频,使用一个全连接层,将帧级特征序列映射到一个低维特征空间,使用不同尺寸的1d-cnn来聚合临近的帧级特征得到一个segment feature, 

 ,

Previewing-aware Attention

得到了多粒度的视频特征表示,作者旨在对其进行增强,通过预览分支得到的概述信息进行指导,自适应的选择视频片段特征。

作者借鉴了Transformer中多头注意力,由于多头注意力的计算复杂度是平方级的,这里作者设计了一种更为轻量级的预览感知注意力,将预览分支的输出特征向量作为query,精读分支的片段特征序列作为key和value,由于精读特征包含了多粒度的特征表示,因此这里多个粒度并行执行,(和多头的思想很像的,这里是多个粒度执行),和Transformer一样,后面使用了FFN:

最终将不同粒度的感知注意力的输出特征向量拼接起来作为最终的精读分支的特征表示:

文本编码,作者这里使用了Dual Encoding的多级编码方法,就不在过多阐述。

Video-Text matching

利用了hybrid space的思想,作者采用了double hybrid space的策略,将预览分支和精读分支的视频特征分别与文本特征进行匹配,最终的相似度也为两个分支与文本分支的相似度之和。

Experiments

Comparison with the State-of-the-art

这篇论文在MSRVTT,TGIF, VATEX三个数据集上进行了实验:

带有BERT的RIVRL实现了显著的性能提升。可以与目前的 state-of-the-art T2VLAD相比较,其使用了7种视频特征相比,该模型只利用了两个视觉特征,而且比T2VLAD更为轻量。

值得注意的是,在MV-Xu上,该模型在没有BERT的情况下的性能可与有BERT的SEA相比。sea使用了简单的均值池和三个独立的FClayers作为视频编码器,而该模型使用了两个依赖的分支来表示视频。结果表明了多依赖分支在视频表示中的有效性。

在TGIF和VATEX两个数据集上也均取得了最好的结果:

研究该模型在不同类型的视频上的表现,即视频复杂度和视频类别。并与Dual Encoding进行对比:

此外,作者还进行了一些定性的实验分析:

1)为了研究RIVRL学到了什么,作者在msrvtt上进行了视频到视频检索

该结果表明,预览分支能够捕获粗糙的语义相关性,而精读分支有能力获得更细粒度的语义相关性。

如图5所示,第一行中的query视频为三个人在跳舞,而预览分支所捕捉到的是一群人在跳舞,精读分支捕捉到的是也是三个人在跳舞。

2)对改模型所学习到的注意力进行了可视化

该结果在一定程度上说明了所学习到的注意力的合理性。

第一个视频的单一场景中所有的帧几乎是相似的,学习到的帧级注意和片段级注意的权重也几乎相等。对于包含多个不同场景的视频,模型的注意力通常会选择传达视频语义的片段。

Ablation Study

1) Single branch vs. Multiple branches

2) Dependent branches vs. Independent branches

3) The effectiveness of multi-granularity segment representation

4) The effectiveness of multi-head attention

5) The influence of dependency modeling

Video-to-Video Retrieval

Analysis on Model Complexity

作者:李加贝

|关于深延科技|

深延科技成立于2018年1月,中关村高新技术企业,是拥有全球领先人工智能技术的企业AI服务专家。以计算机视觉、自然语言处理和数据挖掘核心技术为基础,公司推出四款平台产品——深延智能数据标注平台、深延AI开发平台、深延自动化机器学习平台、深延AI开放平台,为企业提供数据处理、模型构建和训练、隐私计算、行业算法和解决方案等一站式AI平台服务。 


推荐阅读
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • android listview OnItemClickListener失效原因
    最近在做listview时发现OnItemClickListener失效的问题,经过查找发现是因为button的原因。不仅listitem中存在button会影响OnItemClickListener事件的失效,还会导致单击后listview每个item的背景改变,使得item中的所有有关焦点的事件都失效。本文给出了一个范例来说明这种情况,并提供了解决方法。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 拥抱Android Design Support Library新变化(导航视图、悬浮ActionBar)
    转载请注明明桑AndroidAndroid5.0Loollipop作为Android最重要的版本之一,为我们带来了全新的界面风格和设计语言。看起来很受欢迎࿰ ... [详细]
  • Android开发实现的计时器功能示例
    本文分享了Android开发实现的计时器功能示例,包括效果图、布局和按钮的使用。通过使用Chronometer控件,可以实现计时器功能。该示例适用于Android平台,供开发者参考。 ... [详细]
  • 本文介绍了绕过WAF的XSS检测机制的方法,包括确定payload结构、测试和混淆。同时提出了一种构建XSS payload的方法,该payload与安全机制使用的正则表达式不匹配。通过清理用户输入、转义输出、使用文档对象模型(DOM)接收器和源、实施适当的跨域资源共享(CORS)策略和其他安全策略,可以有效阻止XSS漏洞。但是,WAF或自定义过滤器仍然被广泛使用来增加安全性。本文的方法可以绕过这种安全机制,构建与正则表达式不匹配的XSS payload。 ... [详细]
  • 使用圣杯布局模式实现网站首页的内容布局
    本文介绍了使用圣杯布局模式实现网站首页的内容布局的方法,包括HTML部分代码和实例。同时还提供了公司新闻、最新产品、关于我们、联系我们等页面的布局示例。商品展示区包括了车里子和农家生态土鸡蛋等产品的价格信息。 ... [详细]
  • 本文介绍了Python语言程序设计中文件和数据格式化的操作,包括使用np.savetext保存文本文件,对文本文件和二进制文件进行统一的操作步骤,以及使用Numpy模块进行数据可视化编程的指南。同时还提供了一些关于Python的测试题。 ... [详细]
  • 本文整理了315道Python基础题目及答案,帮助读者检验学习成果。文章介绍了学习Python的途径、Python与其他编程语言的对比、解释型和编译型编程语言的简述、Python解释器的种类和特点、位和字节的关系、以及至少5个PEP8规范。对于想要检验自己学习成果的读者,这些题目将是一个不错的选择。请注意,答案在视频中,本文不提供答案。 ... [详细]
  • 带添加按钮的GridView,item的删除事件
    先上图片效果;gridView无数据时显示添加按钮,有数据时,第一格显示添加按钮,后面显示数据:布局文件:addr_manage.xml<?xmlve ... [详细]
  • 本文介绍了在处理不规则数据时如何使用Python自动提取文本中的时间日期,包括使用dateutil.parser模块统一日期字符串格式和使用datefinder模块提取日期。同时,还介绍了一段使用正则表达式的代码,可以支持中文日期和一些特殊的时间识别,例如'2012年12月12日'、'3小时前'、'在2012/12/13哈哈'等。 ... [详细]
  • 本文介绍了Oracle存储过程的基本语法和写法示例,同时还介绍了已命名的系统异常的产生原因。 ... [详细]
  • 本文详细介绍了使用C#实现Word模版打印的方案。包括添加COM引用、新建Word操作类、开启Word进程、加载模版文件等步骤。通过该方案可以实现C#对Word文档的打印功能。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
  • node.jsurlsearchparamsAPI哎哎哎 ... [详细]
author-avatar
手机用户2502910491
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有