1.针对的问题

  现有的方法在推断时只能识别之前见过的类别,即训练时出现过的类别,而为每个感兴趣的类收集和注释大型训练集是昂贵的。

2.主要贡献

  (1)研究了如何利用大量预训练的ViL模型进行未修剪视频中的zero-shot时序动作定位(ZS-TAD)的问题。

  (2)提出了一种新的one-stage分类定位模型STALE,该模型在并行分类和定位设计的同时引入了一个可学习的class-agnostic掩码组件,以实现zero-shot迁移到未见过的类。为了增强跨模态任务的自适应能力,在Transformer框架中引入了流间对齐正则化。

  (3)在标准ZS-TAD视频基准上的大量实验表明,STALE优于最先进的类似方法,通常有很大的优势。此外,模型也可以应用于全监督TAD设置,并取得比最近的其他工作更优越的性能。

3.方法

  主要特点是采用并行定位(掩码生成)和分类结构,以解决传统ZS-TAD模型的定位误差传播问题

  模型结构如下:

  给定一个未裁剪的视频V,首先通过预训练的冻结视频编码器提取一组T个片段特征序列,包括RGB X∈Rd×T和光流特征X∈Rd×T,然后将它们连接为E = [Xr;Xo]∈R2d×T。虽然E(论文中是F,但是个人感觉这里应该是E)包含局部时空信息,但它缺乏对TAD至关重要的全局上下文,作者利用自注意力机制来学习全局上下文,将多头注意力编码器Τ()的输入(查询,键,值)设置为特征(E,E,E)得到最终的视频片段嵌入Fvis

  对于文本上下文,将其输入文本编码器,即带有可学习的提示的标准CLIP预训练的Transformer,得到嵌入Gke∈RC',由于背景类的文本嵌入不能直接从CLIP词汇表中获得,所以学习一个特定的背景嵌入,表示为Gbge∈RC',将其附加到嵌入的动作类Gke,得到包含K+1类的嵌入Flan。以上组成了输入和编码部分。

  然后是时序表示掩码部分。将Fvis(代码中这里是E)输入一个transformer解码器来生成Nz潜在嵌入,然后将每个潜在嵌入通过一个掩码投影层(从代码中看是一个MLP),得到每个片段的掩码嵌入Bq ∈Rq×C,其中q代表query,将Bq与Fvis(图中的投影层论文中似乎并没有介绍)相乘再通过sigmoid函数得到关于每个查询的一个二进制预测Lq,将Lq输入一个线性层和sigmoid函数得到(代码中好像没有这个线性层),在阈值θbin处对这个掩码进行二值化,并选择前景掩码,用表示,使用检索嵌入Fvis的片段,获得前景特征Ffgvis。

  将Ffgvis和Flan输入跨模态自适应模块,该模块由自注意层,co-attention层和前馈网络组成,公式为:,其中Tc为transformer层,以Flan为查询,Fvisfg为键和值。该模块鼓励文本特征在前景片段中找到最相关的视觉线索。然后,通过残差连接Flan和更新文本特征得到

  最后是解码部分,该部分包括并行的分类流和定位流,定位流将Fvis输入动作掩码定位器,即3个(代码中是2个)1-D动态卷积层Hm的叠加,得到M,M的第t列是通过第t个片段进行的时序掩码预测。分类流的动作分类为器将更新后的文本特征和掩码前景特征Fvisfg相乘得到分类输出P∈R(K+1)×T,其中每个片段定位t∈T被赋予一个概率分布pt∈R(K+1)×1

  类标签和掩码标签在前景方面有结构上的一致性,通过一致性损失来利用这种一致性,表示为= topk(argmax((Pbin∗Ep)[: K,:]))是从阈值分类得到的得分最高的前景片段中获得的特征,输出Pbin := η(p−θc)与θ阈值,将嵌入E传递到一个1D conv层得到Ep,用于匹配p的维度。从掩码输出M中获得的最高评分特征类似于:= topk(σ(1DPool(Em * Mbin))),其中Mbin:= η(M−θm)是掩码预测M的二值化,Em通过将嵌入E传递到一维conv层以匹配维数M得到,σ为sigmoid激活函数。

Zero-Shot Temporal Action Detection via Vision-Language Prompting概述的更多相关文章

  1. Temporal Action Detection with Structured Segment Networks (ssn)【转】

    Action Recognition: 行为识别,视频分类,数据集为剪辑过的动作视频 Temporal Action Detection: 从未剪辑的视频,定位动作发生的区间,起始帧和终止帧并预测类别 ...

  2. 论文笔记之 SST: Single-Stream Temporal Action Proposals

    SST: Single-Stream Temporal Action Proposals 2017-06-11 14:28:00 本文提出一种 时间维度上的 proposal 方法,进行行为的识别.本 ...

  3. 论文阅读: End-to-end Learning of Action Detection from Frame Glimpses in Videos

      End-to-End Learning of Action Detection from Frame Glimpses in Videos  CVPR 2016  Motivation:    本 ...

  4. TURN TAP: Temporal Unit Regression Network for Temporal Action Proposals(ICCV2017)

    Motivation 实现快速和准确地抽取出视频中的语义片段 Proposed Method -提出了TURN模型预测proposal并用temporal coordinate regression来 ...

  5. SST:Single-Stream Temporal Action Proposals论文笔记

    SST:Single-Stream Temporal Action Proposals 这是本仙女认认真真读完且把算法全部读懂(其实也不是非常懂)的第一篇论文 CVPR2017 一作 论文写作的动机m ...

  6. Background Suppression Network for Weakly-supervised Temporal Action Localization [Paper Reading]

    研究内容:弱监督时域动作定位 结果:Thumos14 mAP0.5 = 27.0 ActivityNet1.3 mAP0.5 = 34.5 从结果可以看出弱监督这种瞎猜的方式可以PK掉早些时候的一些全 ...

  7. CTAP: Complementary Temporal Action Proposal Generation论文笔记

    主要观点:基于sliding window(SW)类的方法,如TURN,可以达到很高的AR,但定位不准:基于Group的方法,如TAG,AR有明显的上界,但定位准.所以结合两者的特长,加入Comple ...

  8. CTAP: Complementary Temporal Action Proposal Generation (ECCV2018)

    互补时域动作提名生成 这里的互补是指actionness score grouping 和 sliding window ranking这两种方法提proposal的结合,这两种方法各有利弊,形成互补 ...

  9. C 语言高效编程的几招——A few action of efficient C language programming

    编写高效简洁的C 语言代码,是许多软件工程师追求的目标.本文就工作中的一些体会和经验做相关的阐述,不对的地方请各位指教. 第1 招:以空间换时间 计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个 ...

  10. LPAT: Learning to Predict Adaptive Threshold for Weakly-supervised Temporal Action Localization [Paper Reading]

    Motivation: 阈值分割的阈值并没有通过模型训练学出来,而是凭借主观经验设置,本文通过与背景得分比较提取对应的proposal,不用阈值的另一篇文章是Shou Zheng的AutoLoc,通过 ...

随机推荐

  1. java 导入Excel数据校验判断哪行那列

    记录工作 需求是导入数据的时候需要判断哪一行是空行,或者哪一行超过限制字符,然后返回给前端做展示 @PostMapping("/importExcel") @ApiOperatio ...

  2. Qt5.6使用Qt自带虚拟键盘

    Qt自带虚拟键盘是5.7版本以上才有,要在Qt5.6上使用自带虚拟键盘需要先下载源码,再进行编译安装.上网查了一些资料都很有用. https://doc.qt.io/qt-5/qtvirtualkey ...

  3. 实验四 Web服务器2

    任务详情 基于华为鲲鹏云服务器CentOS中(或Ubuntu),使用Linux Socket实现: Web服务器的客户端服务器,提交程序运行截图 实现GET即可,请求,响应要符合HTTP协议规范 服务 ...

  4. redisTemplate实现分布式锁(释放锁用lua脚本)

    package com.xxx.platform.util; import org.springframework.beans.factory.annotation.Autowired; import ...

  5. C 数值类型与字节数组相互转化

    C 数据类型与字节数组相互转化 uint16_t -> bytes uint8_t uint16_t2bytes(uint8_t* buffer, uint16_t data) { if(buf ...

  6. bpmn的依赖注入

    主要对象 new BPMN对象时,流程及对象结构如下图 依赖注入 在初始化bpmn对象时有传入additionalModules进行自定义操作,具体是如何实现这种模块化的管理,主要是用到了依赖注入ht ...

  7. 基于Geojson的点集的抽稀Js实现

    由于要进行反距离插值,离散点太多肯定会影响插值的效率. 为了提升插值速度,就有了这个点的抽稀. 参考这位仁兄的思路.http://blog.csdn.net/cdl2008sky/article/de ...

  8. 达梦数据库manager工具坑

    领导突然说要用达梦的数据库,对此完全没有了解. 安装没有问题. 但是这个工具真的坑到了. 因为之前用的都是navicat 干mysql ,创建数据的时候默认执行了. 但是这个工具tool/manage ...

  9. 2023 新年FLAG 当你无所事事的时候,打开本博客看看,置顶着呢,别说你看不到,摸鱼狗

    2023.2.15 接触到了Visual Grounding,但是是3D的,不知道这是不是冥冥之中的一颗种子,我现在有强烈的直觉我未来就是搞这个方向. 2023.2.14 回到学校正式开始工作 OK, ...

  10. js match方法

    1.用法 match()方法可以字符串中检索指定的值,或者是匹配一个或多个正则表达式 2.返回值 该方法类似于indexOf()/lastIndexOf(),区别就是返回值不一样 indexOf()/ ...