《PDVC》论文笔记

PS:模型代码解释清明后出

原文链接:

[2108.07781v1] End-to-End Dense Video Captioning with Parallel Decoding (arxiv.org)

原文笔记:

What:

End-to-End Dense Video Captioning with Parallel Decoding

并行解码的端到端视频描述,

全文最核心的一句话:通过这样做,PDVC旨在直接利用特征级的任务间关联。

主要的核心思想是DETR在目标检测领域直接预测框,PDVC用DETR的框架直接预测事件

PDVC的突出优点以及贡献:

  1. 端到端

(2) PDVC不依赖启发式非极大值抑制或循环事件序列选择网络来去除冗余,直接产生大小合适的事件集;

(3)与采用两阶段方案相比,我们将增强的事件查询表示并行馈送到定位头和标题头,通过优化使这两个子任务深度关联和相互促进;

(4)提出了event counter计数器

(5)ActivityNet CaptionsYouCook2上的大量实验表明,PDVC能够产生高质量的字幕结果,在定位精度与两阶段方法相当的情况下,超过了最先进的两阶段方法。

Why:

以前的方法遵循复杂的定位-描述方案,存在着一些关键性问题,

细致的来说:

  1. Temporal Event proposal模块(事件定位模块)主要基于两种技术,
  1. 一种是基于锚点的一种是基于边界划分的 其余锚点的方法事先定义不同长度的锚点 之后跟一个评估网络,然而预先定义的尺度和间隔不能副高所有时序模式尤其是当视频中有不同长度的事件的时候;
  2. 另一种基于边界的方法(例如上礼拜看的BSN)将边界帧与高评分结合,采用一种local-to-global的方式,

上述这两种设计都需要包含手工设计(锚点的长度以及边界方法的NMS),这需要自己的手动阈值选择,参在一些误差,而且不是端到端的模式

  1. 这种“定位-描述”的方式从架构上存在以下问题
  1. 由于将字幕作为下游任务,该方案的性能高度依赖于生成的事件提议的质量
  2. 限制了这两个子任务的相互促进。(定位模块不能从从生成模块中学习到知识)

Challenges

Dence Video Caption通用挑战,不多赘述

Idea

如图所示,作者提出的PDVC实现端到端训练的核心是通过强制两个子任务共享相同的中间特征来利用任务间交互。

为了简化密集视频字幕任务,并探索定位任务 和字幕任务 之间的互相促进,作者直接检测一组具有适当时间长度的标题,其中分别表示事件的开始时间、结束时间和事件的标题。事件数量也由PDVC预测。

具体来说,作者采用具有编码器-解码器结构的deformable transformer,通过注意机制捕获帧间、事件间和事件-帧交互,并产生一组事件查询特征。然后,两个并行的预测头同时预测每个事件查询的边界和标题。事件计数器从全局视图中预测事件数量。最后,选择置信度最高的个事件作为最终的结果。本文的结构图如上图所示。

3.1. Preliminary: Deformable Transformer

Deformable Transformer是一种基于多尺度可变形注意(MSDAtt)的编码器-解码器结构。MSDAtt通过关注参考点周围的一组稀疏采样点,缓解了Transformer在处理图像特征映射时自注意收敛慢的问题。给定多尺度特征映射(其中),查询元素和标准化参考点,MSDAtt将跨L个尺度特征映射的个采样点进行加权求和,输出一个上下文向量:

其中,和分别为第个查询元素在第个尺度上的第个采样key的位置和注意权重。是key元素的投影矩阵。φ将标准化的参考点投影到第层的特征图中。为采样偏移量。和都是通过在查询元素上的线性投影得到的。

Deformable Transformerdeformable attention模块取代了Transformer编码器中的自注意模块和Transformer解码器中的交叉注意模块,实现了快速的收敛速度和更好的目标检测表示能力。

3.2. Feature Encoding

为了在视频中捕获丰富的时空特征,首先采用了一个预训练的动作识别网络来提取帧级的特征,并通过插值算法将特征图的时间维度缩放到固定长度,以方便batch处理。然后,为了更好地利用多尺度特征来预测多尺度事件,作者采用了L个时间卷积层来获得多个时间分辨率的特征序列。将多尺度帧特征及其位置编码输入Deformable Transformer编码器,提取跨尺度的帧-帧关系。输出帧级特征记为。

3.3. Parallel Decoding

解码网络包含一个 deformable transformer解码器和三个并行头,一个用于标题生成的标题头 ,一个用于用置信分数预测事件边界的定位头 ,以及一个预测事件数量的事件计数器 。解码器旨在直接用N个可学习的查询来学习事件级特征,及其对应的参考点。其中,是通过在上用带Sigmoid的线性层来预测的。输出查询特征和参考点记为。

Localization head

定位头对每个事件查询执行边界预测 和二分类 。边界预测 旨在基于参考点,预测与ground-truth的二维相对偏移量(即:中心和长度)。二分类 旨在生成每个事件查询的定位置信度。边界预测和二分类都是由多层感知机实现的。然后,就得到一组元组,,来表示检测到的事件,其中是事件查询的定位置信度。

Captioning head

作者提出了两个标题头,一个轻量级的和一个标准的。轻量级的头只是在每个时间步将事件查询输入到标准LSTM中。单词基于LSTM的隐藏层状态,用一个线性层和softmax来进行预测。

然而,轻量级标题头只接收事件级表示,缺乏语言线索和帧特征之间的交互作用。Soft Attention是视频字幕中广泛使用的模块,它可以在生成一个单词时动态地确定每一帧的重要性。传统的二阶段方法通过将注意力区域限制在事件边界内来对齐事件片段及其标题,但本文的标题头不能访问事件的边界,增加了学习语言单词和帧之间关系的优化难度。为了缓解这一问题,作者提出了可变形的Soft Attention(DSA)来强制将Soft Attention权重集中在参考点周围的一个小区域上。具体地说,当生成第t个单词时,首先基于语言查询和事件查询,从每个中生成K个采样点,其中表示LSTM中的隐藏状态。然后将K×L个采样点作为key/value,,作为Soft Attention中的query。由于采样点分布在参考点周围,因此DSA的输出特征被限制在在一个相对较小的区域上。LSTM将上下文特征、事件查询特征和前面的单词的concat结果作为输入。单词的概率是在上由带SoftmaxFC层获得的。随着LSTM迭代,就能够得到一个句子,,,其中为句子长度。

Event counter

太多的事件会导致重复的标题和可读性差;检测到的事件太少意味着信息缺失和不完整的故事 。因此作者提出了事件计数器 ,用于检测视频的事件数量。它包含一个最大池化层和一个具有softmax激活的FC层,该层首先将事件查询的最显著信息压缩到一个全局特征向量,然后预测一个固定大小的向量,其中每个值表示一个特定数字的可能性。在推理阶段,预测的事件数。最终的输出是通过从N个事件查询中选择具有精确边界和良好标题的Top 个事件来获得的。每个事件查询的置信度的计算方法为:

其中是生成的单词的概率。但是,每个单词的置信度不能反映整句话的置信度,因为标题头对短的句子会有更高的置信度。因此,作者添加了一个调制因子γ来纠正标题长度的影响。µ是平衡因子。

Set prediction loss

在训练过程中,PDVC会产生一组N个事件的位置和标题。为了匹配ground truth和生成的事件,作者采用了Hungarian algorithm。匹配损失为:

其中,为预测片段和ground truth片段上的IOU,表示预测的分类得分与ground truth标签之间的焦点损失 focal loss

最终,选择匹配的对来计算集合预测损失,即gIOU损失、分类损失、计数损失和标题损失的加权之和:

原文翻译:

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

DDL ---- 数据库的操作

1.查询所有数据库 show databases; 上图除了自创的,其他的四个都是mysql自带的数据库 。(不区分大小写) 2.查询当前数据库 select database(); 最开始没有使用数据库,那么查找结果为NULL 所以我们就需要先使用数据库&#xff…

鸿蒙分布式音乐播放-如何完成播放、暂停、上一曲、下一曲功能

介绍 本示例使用fileIo获取指定音频文件,并通过AudioPlayer完成了音乐的播放完成了基本的音乐播放、暂停、上一曲、下一曲功能;并使用DeviceManager完成了分布式设备列表的显示和分布式能力完成了音乐播放状态的跨设备分享。 本示例用到了与用户进行交…

是德科技keysight 33621A波形发生器

181/2461/8938产品概述: 与上一代DDS波形发生器相比,采用独家Trueform技术的安捷伦HP 33621A波形发生器具有更高的性能、保真度和灵活性。安捷伦HP 33621A 120 MHz、单通道、Trueform arbs,带时序控制和64 MSa存储器,1 ps抖动&am…

数据库管理工具 DBeaverUE for Mac激活版

DBeaverUE for Mac是一款功能强大且易于使用的数据库管理工具,专为Mac用户设计。它支持多种数据库类型,如MySQL、PostgreSQL、Oracle等,使得用户可以轻松管理和操作各种数据库。 软件下载:DBeaverUE for Mac激活版下载 DBeaverUE …

51单片机入门_江协科技_20.1_Proteus串口仿真

1.为了解决51单片机学习过程中在Proteus中的串口仿真的问题,需要在Proteus中建立串口仿真的环境(目前Proteus安装在Win7x64虚拟机环境中; 2. 在CSDN中找到VSPD下载地址,在虚拟机中进行VSPD的安装,具体链接地址如下&am…

从零开始:Flutter应用上架iOS的完整流程解析

引言 🚀 Flutter作为一种跨平台的移动应用程序开发框架,为开发者提供了便利,使他们能够通过单一的代码库构建出高性能、高保真度的应用程序,同时支持Android和iOS两个平台。然而,完成Flutter应用程序的开发只是第一步…

前端作业之完成学校官方网页的制作

&#xff08;未使用框架&#xff0c;纯html和css制作&#xff09; 注&#xff1a;由本人技术限制&#xff0c;代码复用性极差 代码 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>xxx大学</tit…

一些题目学习

1.打开文件添加helloworld public class Saier {public static void main(String[] args){String path"C:\\Users\\sjg\\Desktop\\abc.txt";String text"hello world";try {File file new File(path);FileWriter fileWriter new FileWriter(file,true);…

Ruby 之交租阶段信息生成

题目 我看了一下&#xff0c;这个题目应该不是什么机密&#xff0c;所以先放上来了。大概意思是根据合同信息生成交租阶段信息。 解答 要求是要使用 Ruby 生成交租阶段信息&#xff0c;由于时间比较仓促&#xff0c;变量名那些就用得随意了些。要点主要有下面这些&#xff1a…

Nginx从安装到高可用实用教程!

一、Nginx安装 1、去官网http://nginx.org/下载对应的nginx包&#xff0c;推荐使用稳定版本 2、上传nginx到linux系统 3、安装依赖环境 (1)安装gcc环境 yum install gcc-c(2)安装PCRE库&#xff0c;用于解析正则表达式 yum install -y pcre pcre-devel(3)zlib压缩和解压缩…

基于Python深度学习的中文情感分析系统(V2.0)

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

【大数据存储】实验五:Mapreduce

实验Mapreduce实例——排序&#xff08;补充程序&#xff09; 实验环境 Linux Ubuntu 16.04 jdk-8u191-linux-x64 hadoop-3.0.0 hadoop-eclipse-plugin-2.7.3.jar eclipse-java-juno-SR2-linux-gtk-x86_64 实验内容 在电商网站上&#xff0c;当我们进入某电商页面里浏览…

C++基础13:C++输入输出

此专栏为移动机器人知识体系下的编程语言中的 C {\rm C} C从入门到深入的专栏&#xff0c;参考书籍&#xff1a;《深入浅出 C {\rm C} C》(马晓锐)和《从 C {\rm C} C到 C {\rm C} C精通面向对象编程》(曾凡锋等)。 12.C输入/输出 12.1 C流类 计算机的输入和输出是数据传送的过…

GitLab 新项目创建和使用

一、下载 Git 客户端 Git - Downloading Package (git-scm.com) 二、打开 Git Bash 配置 gitlab 账户 下面的信息可以登录gitlab查看 git config --global user.name "yourname"git config --global user.email "youremailXX.com" 生成ssh_key ssh-k…

【考研数学】1800基础做完了,如何无缝衔接660和880❓

基础题做完&#xff0c;不要急着强化 首先做一个复盘&#xff0c;1800基础的正确率如何&#xff0c;如果70%以下的话&#xff0c;从错题入手&#xff0c;把掌握不扎实的地方再进行巩固&#xff0c;否则接下来做题的话效率会很低。 接下来考虑习题衔接的问题。 关于线代复习的…

会声会影可以制作卡拉OK字幕吗 会声会影制作卡拉OK字幕教程 会声会影视频制作教程 会声会影模板免费下载 会声会影2023永久激活版

会声会影是一款功能强大、操作简便的视频剪辑软件&#xff0c;适合不同级别的用户使用&#xff0c;无论是初学者还是专业人员&#xff0c;都能够轻松地实现自己的创意和想法。这篇文章就一起来学习一下会声会影可以制作卡拉OK字幕吗&#xff0c;会声会影制作卡拉OK字幕教程。 …

如何配置vite的proxy

1.前言 vite项目&#xff0c;本地开发环境可以通过配置proxy代理实现跨域请求。但是生产环境&#xff0c;该配置不生效&#xff0c;一般使用 nginx 转发&#xff0c;或者后端配置cors 2.解释 server: {port: 9000,proxy: { // 本地开发环境通过代理实现跨域&#xff0c;生产…

Windows 中的硬链接、软连接、快捷方式和普通文件

在 Windows 中&#xff0c;文件可以有四种类型&#xff1a; 硬链接软连接快捷方式普通文件 当我们正常创建一个文件时&#xff0c;这个文件就是普通文件 echo hello > a.txt (Get-Item "a.txt").LinkType -eq $null # 输出 True然后我们可以为其添加一个软连接…

RedCap轻量化5G提升生产效率,多领域应用

在工业数字化时代&#xff0c;工业智能化已经成为了各行各业的发展趋势。而在这个过程中&#xff0c;5G作为新一代网络通信技术正逐渐成为工业领域的核心力量。而在5G技术的应用中&#xff0c;RedCap轻量化5G工业网关路由器便是低成本畅享5G的最佳选择。 RedCap轻量化5G工业网…

Jmeter各组件超详细介绍

1、JMeter和Loadrunner的区别&#xff1f; 2、JMeter如何开发脚本的&#xff1f;强化脚本的技术&#xff1f; 代理服务器录制脚本&#xff0c;Fiddler录制脚本&#xff0c;Badboy录制脚本&#xff0c;根据API&#xff0c;手写脚本&#xff0c;根据抓包&#xff0c;手写脚本。 …