当前位置:网站首页>CVPR 2022 | 基于序列对比学习的长视频逐帧动作表示
CVPR 2022 | 基于序列对比学习的长视频逐帧动作表示
2022-06-10 14:00:00 【PaperWeekly】

作者 | FY.Wei
单位 | 微软亚洲研究院

论文标题:
Frame-wise Action Representations for Long Videos via Sequence Contrastive Learning
论文链接:
https://arxiv.org/abs/2203.14957
代码链接:
https://github.com/minghchen/CARL_code
在过去几年中,基于深度学习的视频理解在视频分类任务上取得了巨大成功。I3D 和 SlowFast 等网络通常将短视频片段(64 帧,~3 秒)作为输入,提取全局表征来预测动作类别。
但是这样的设定有两个主要的限制。第一,在一些应用中,我们需要每帧画面的表示来更精细地理解动作,而不只是一个全局动作表示。第二,现实世界中的大多数视频都具有较长的持续时间,因此我们需要对较长的上下文进行有效的建模。为此,我们引入了长视频的逐帧动作表示学习任务。其有诸多应用,例如,我们可以执行细粒度的帧检索来搜索我们想要的确切帧。我们还可以执行阶段分类来识别复杂动作的每个阶段。
此外,我们可以进行时间视频对齐来对齐描述相同过程的两个视频。其他一些研究领域也需要逐帧表示。例如,在机器人模仿学习中,模型需要对人类动作进行编码并指导机器人的动作。在手语翻译中,利用每一帧的表示来翻译手语。

然而,如果要标记每一帧以执行监督学习是很困难的,甚至是不可能的。为了减少对标记数据的依赖性,TCC、LAV 和 GTA 等方法通过使用循环一致性损失或可微时间动态规划来进行弱监督学习。然而这些方法都依赖于视频层面的注释,并且需要用具有相同动作的成对视频进行训练。
本研究的目的是以自监督方式学习长视频中具有时空上下文信息的逐帧表征。受最新的对比表征学习方法 SimCLR 的启发,我们提出了一个新框架——对比动作表征学习(CARL)。我们假设在训练期间没有任何可用的标签,并且训练和测试集中的视频都很长(数百数千帧)。此外,我们不依赖具有相同动作的成对视频进行训练,从而能够以更低的成本扩大训练集规模。
图 2 中我们对 CARL 架构进行了概述。首先通过一系列时空数据增强为输入视频构建两个增强视图。此步骤称为数据预处理。然后,我们将两个增强视图输入到帧级视频编码器(FVE)中,以提取密集表征。遵循 SimCLR,FVE 附加了一个小型投影网络,它是一个两层的 MLP,用于获得潜在嵌入。由于时间上相邻的帧高度相关,我们假设两个视图之间的相似性分布遵循先验高斯分布。基于此,我们提出了一种新的序列对比损失(SCL)来优化嵌入空间中的逐帧表征。

首先,我们引入了一系列时间-空间数据增强来生成两个视图。在时间维度上,我们先对视频进行时间随机裁剪,以生成两个不同长度的随机裁剪片段。在裁剪期间,我们还保证两个片段之间存在一定比例的重叠。然后我们从两个片段中随机采样 T 帧来生成两个视图。对于小于 T 帧的视频,在裁减之前会对空帧进行 padding。最后,我们分别在两个视图上应用几种时间一致的空间数据增强,例如随机调整大小和裁剪、水平翻转、随机颜色失真和随机高斯模糊。
直接应用视频分类架构对数百帧的长视频序列进行建模,因其计算量巨大而无法实现。TCC 提出了一种视频编码器,它将 2D ResNet 和 3D 卷积相结合,以生成逐帧特征。然而叠加太多 3D 卷积层会导致计算成本过高。这导致这种类型的设计可能只有有限的感受野来捕捉时间上下文。最近,Transformers 在计算机视觉方面取得了巨大的进步。Transformers 利用注意机制解决序列到序列任务,同时轻松处理远距离依赖关系。在本网络实现中,我们采用了 Transformer 编码器来建模时间上下文。
图 3 展示了我们的帧级视频编码器(FVE)。为了在表征性能和推理速度之间达到平衡,我们首先使用一个 2D 网络(例如 ResNet-50)沿时间维度提取长度为 T×224×224×3 的 RGB 视频序列的空间特征。然后用一个转换块(该转换块由两个具有批量归一化 ReLU 的全连接层组成),将空间特征投影到大小为 T×256 的中间嵌入。遵循常规做法,我们在中间嵌入的顶部添加了正弦-余弦位置编码,以编码顺序信息。接下来,将编码后的嵌入输入到 3 层 Transformer 编码器中,以对时间上下文进行建模。最后,采用一个线性层来获取最终 T×128 的逐帧表征。
其中 2D 的 ResNet-50 网络在 ImageNet 上进行了预训练。考虑到计算预算有限,我们冻结了前四个残差块,因为它们已经通过预训练学习了良好的低级视觉表征。值得注意的是,这个简单的模型在训练期间最多可以处理 1000 帧,在测试期间最多可以同时处理 6000 帧(大约 5 分钟)。

SimCLR 通过最大化同一实例的增强视图之间的一致性,引入了一个叫做 NTXent 的对比损失。与图像的自监督学习不同,视频提供了丰富的序列信息,这是一个重要的监督信号。对于典型的实例判别,除了正面参考样本之外的所有实例都被判定为负样本。然而,参考帧附近的帧高度相关。直接将这些帧视为负样本可能会损害学习过程,因此我们应该尽量避免这个问题。
为了优化逐帧表征,我们提出了一种新的序列对比损失(SCL),它通过最小化两个增强视图的嵌入相似性和先验高斯分布之间的 KL 散度来实现,如图 4 所示。我们假设每个视频帧的潜在嵌入和另一个视频序列的潜在向量之间的嵌入相似性遵循时间戳距离的先验高斯分布。具体来说,view1 中帧的先验分布是以该帧为中心的高斯分布。另一方面,我们通过特征之间的余弦相似度来计算预测相似度。然后将序列对比损失(SCL)定义为预测相似性与先验分布之间的 KL 散度。

我们的自监督方法在三个密集标注的视频数据集,即 PennAction、FineGym 和 Pouring 上评估本方法。我们在三个数据集上的性能远超之前相关工作。
如表 1 和表 2 所示,我们报告的结果在 4 个指标上:细粒度动作分类,动作阶段完成程度预测,衡量两个视频匹配程度的 Kendall’s Tau,以及细粒度帧检索的平均精度 @K。我们的方法不仅优于其他使用联合训练的方法,而且在不同的评估指标下也大大优于 per-action(对每个动作类别使用特定网络的)训练策略的方法。而且出乎意料的是,尽管我们的模型没有经过成对数据的训练,但它仍然可以从其他视频中成功地找到具有相似语义的帧。对于所有的 [email protected],我们的方法优于以前的方法至少 11%。


表 3 总结了 FineGym99 和 FineGym288 上细粒度动作分类的实验结果。结果显示我们的方法优于其他自监督和弱监督方法。我们的方法在 FineGym99 和 FineGym288 上的性能比之前最先进的方法 GTA 分别高出+13.94% 和+11.07%。如 TCC、TW 和 GTA 等弱监督方法假设训练集中的两个视频之间存在最佳对齐。然而,对于 FineGym 数据集,即使在描述同一动作的两个视频中,子动作的设置和顺序也可能不同。因此,这些方法找到的对齐可能不正确,因而会阻碍学习。我们的方法在两个指标上有很大的提高,从而验证了我们框架的有效性。

如表 4 所示,在一个相对较小的数据集 Pouring 上(记录了第一人称和第三人称视角倒水动作的视频集),我们的方法性能也是最好的。这些结果进一步证明了我们的方法具有很强的泛化能力。

更多阅读

#投 稿 通 道#
让你的文字被更多人看到
如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。
总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。
PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析、科研心得或竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。
稿件基本要求:
• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注
• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题
• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算
投稿通道:
• 投稿邮箱:[email protected]
• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者
• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

△长按添加PaperWeekly小编
现在,在「知乎」也能找到我们了
进入知乎首页搜索「PaperWeekly」
点击「关注」订阅我们的专栏吧
·

边栏推荐
- 基于FPGA的VGA协议实现
- 互联网公司研发效能团队为啥必须独立?何时独立?
- Leetcode-56-merge interval
- 2022年制冷与空调设备运行操作理论题库模拟考试平台操作
- [deep learning 05] cross entropy loss function
- Redis基本使用1
- Kotlin practises. Take login as an example. Anko simply uses it
- C#多线程学习笔记一
- For the first time, the Pentagon admitted to funding 46 biological facilities in Ukraine. Russia once revealed that only three were safe
- [vue/js] realize local caching of variables and objects through localstorage browser (text + full source code)
猜你喜欢

解决跨海高并发崩溃难题?so easy

Leetcode 2293. 极大极小游戏(可以.一次过)

2022广东省安全员A证第三批(主要负责人)考试练习题及在线模拟考试

C multithreading learning note 1

C multithreading learning note 3

High performance practical Alibaba sentinel notes, in-depth restoration of Alibaba micro service high concurrency scheme

大厂必备的40个方法论
![[vue/js] realize local caching of variables and objects through localstorage browser (text + full source code)](/img/4d/d6276955277942f96f11df3e4ecd4c.png)
[vue/js] realize local caching of variables and objects through localstorage browser (text + full source code)

What does the multi cloud management platform CMP mean? Who can explain it clearly

What can the graph of training and verification indicators tell us in machine learning?
随机推荐
2022 high frequency software test interview questions of large factories (with answers)
【FAQ】運動健康服務REST API接口使用過程中常見問題和解决方法總結
CentOS Linux 已死!Oracle Linux 可能是它的更好替代品
Leetcode-57- insert interval
C # list of shallow copy and deep copy customized classes <>
Allan方差与随机误差辨识
[technical analysis] discuss the production process and technology of big world games - preliminary process
[golang] when creating a structure with configuration parameters, how should the optional parameters be transferred?
Leetcode-56-merge interval
苹果生产线迁离,说明5G工业互联、智能制造对中国制造帮助有限
How to solve the problem that vmware tools are grayed out when VMware Workstation is installed
短文本重复率快速检测
What can the graph of training and verification indicators tell us in machine learning?
Markdown Title centered
【操作教程】如何正确使用海康demo工具配置通道上线?
C multithreading learning note 4
Flutter 页面跳转 传参,TabBar学习总结5
Gorm设置外键
markdown设置字体为红色
Bottomnavigationview is used in conjunction with viewpager, to modify icon size, to remove text, etc


