当前位置:网站首页>ACM MM 2022视频理解挑战赛视频分类赛道冠军AutoX团队技术分享
ACM MM 2022视频理解挑战赛视频分类赛道冠军AutoX团队技术分享
2022-07-01 18:33:00 【智源社区】
ACM Multimedia(简称 ACM MM)始于 1993 年,是国际多媒体领域学术和产业界交流的最顶级盛会,也是中国计算机学会推荐的多媒体领域唯一的 A 类国际学术会议。视频理解预训练挑战赛(Pre-training For Video Understanding Challenge)是其举办的重要赛事之一。
在本次比赛中,第四范式 AutoX 团队使用了一种新的时域多尺度预训练视频分类方案,以明显优势拿到了视频分类赛道的第一名。
赛题介绍
近年来,随着短视频领域的兴起,互联网中的多媒体视频数量数以亿计,这些视频往往具有如视频题目、分类等弱标记,具有标记噪声大,类别跨度大等特点。虽然计算机视觉的最新进展已经在如视频分类、视频配文字、视频目标检测等领域取得了不小成功,如何有效利用广泛存在于互联网中的大量无标记或弱标记的视频仍是值得研究的课题。本次 Pre-training For Video Understanding Challenge 大赛旨在促进人们对视频预训练技术的研究,鼓励研究团队设计新的预训练技术以提升一系列下游任务。
在本篇文章关注的视频分类赛道,大赛提供了从 Youtube 上抓去的包含 300 万条视频的预训练数据集 YOVO-3M,每条视频包含在 Youtube 上的视频标题和一条 query 作为视频类别(如bowling、archery、tigher cat 等),同时提供了包含了十万条视频的下游任务数据集 YOVO-downstream,数据集由 70173 条视频的训练集、16439 条视频的验证集和 16554 条视频的测试集组成,这些视频被分为 240 种预先定义的类别中,包括物体(如 Aircraft、Pizza、Football)和人类动作(如Waggle、High jump、Riding)。
在这条赛道中,在 YouTube 视频和 YOVO-3M 中相应的 query 和 title 的基础是,参赛者的目标是通过预训练得到视频的通用表示,可以进一步利用它来促进视频分类的下游任务。比赛要求参赛者根据挑战赛提供的 YOVO-3M 数据集(作为训数据)和发布的 YOVO 下游数据集(作为下游任务的训练数据)开发视频分类系统。最终以分类系统在下游任务数据集中的 top-1 精度作为衡量标准。同时,比赛不限制使用外部数据集。
query: brushing
title: Disney Jr Puppy Dog Pals Morning Routine Brushing Teeth, Taking a Bath, and Eating Breakfast!
解决方案
我们开发了一种“多重时域分辨率集成”技术,通过集成学习来提升模型预训练及下游任务中的效果,并且综合了七种不同的网络结构来学习不同的视频表示。随后的篇幅中,我们将介绍团队提出的多重时域分辨率集成技术以及简单介绍我们在比赛中用到的数个网络结构。
2.1 Ensemble on Multiple Temporal Resolutions
集成学习可以显著提高模型在各类任务中的表现,其中基于降低方差方法的核心之一在于需要不同的基学习器从数据中学习到不同的知识,从而通过不同基学习器的共识提高最终的泛化性能。Bagging [13] 就是其中的代表算法之一。我们从 Bagging 的思想出发,区别于原算法中通过随机采样训练子集的方式,我们使用不同的时域采样率采样视频,得到不同时域分辨率的训练集合,从而训练不同的基学习器。实验证明我们的方法可以显著提高集成的效果,同时,由于每个基学习器都能使用全部的训练视频,进而取得更高的单模型性能,我们的方法也优于传统的 Bagging 集成策略。
▲ Fusion With Multiple Temporal Resolusion
▲ 集成实验
2.2 Backbones
我们测试了 Temporal Segment Network [10,11]、TimeSformer [2]、BEiT [1]、Swin Transformer [7]、Video Swin Transformer [8] 五种 Frame-based 网络和 Spatiotemporal 网络。在实验中,Video Swin Transformer 取得了最优的模型效果。我们同时还比较了不同网络结构的计算复杂度。
在最终的提交方案中,我们将七种各自具有不同的网络结构、不同的预训练数据集以及不同的采样率的模型集成,得到了最优的测试集 top-1 精度 62.39,最终得到了本次比赛视频分类赛道的第一名。
总结
在本次 ACM Multimedia 2022 视频理解大赛中,我们通过多重时域采样的集成策略,同时集成多种不同的网络结构和预训练数据集,最终取得了本次比赛视频分类赛道的第一名,为视频理解和预训练提出了一种新的方式。
边栏推荐
- Navicat premium 15 permanent cracking and 2021 latest idea cracking (valid for personal testing)
- How to manage 1000 anchors by one person?
- Localization through custom services in the shuttle application
- Happy new year | 202112 monthly summary
- 必看,时间序列分析
- 3、《创建您自己的NFT集合并发布一个Web3应用程序来展示它们》在本地铸造 NFT
- What impact will multinational encryption regulation bring to the market in 2022
- 540. Single element in ordered array / 1684 Count the number of consistent strings
- 研究了11种实时聊天软件,我发现都具备这些功能…
- Roll out! Enlightenment!
猜你喜欢
Leetcode problem solving series -- continuous positive sequence with sum as s (sliding window)
Find all missing numbers in the array
Data query language (DQL)
Distributed task queue: Celery usage record
Localization through custom services in the shuttle application
Search 2D matrix 2
[source code analysis] NVIDIA hugectr, GPU version parameter server - (1)
Force buckle day33
Mujoco XML modeling
Case study on comprehensive competitiveness of principal components
随机推荐
Lumiprobe 双功能交联剂丨Sulfo-Cyanine5 双-NHS 酯
Mise en place d'une plate - forme générale de surveillance et d'alarme, quelles sont les conceptions nécessaires dans l'architecture?
(6) VIM editor MV cat redirection standard input and output more pipe symbols head tail
Mujoco XML modeling
3、《创建您自己的NFT集合并发布一个Web3应用程序来展示它们》在本地铸造 NFT
Leetcode-128 最长连续序列
Depth first search - DFS (burst search)
GAMES202作业0-环境搭建过程&解决遇到的问题
Opencv map reading test -- error resolution
Introduction to easyclick database
2、《创建您自己的NFT集合并发布一个Web3应用程序来展示它们》启动并运行您的本地环境
t10_ Adapting to Market Participantsand Conditions
Lumiprobe Lumizol RNA 提取试剂解决方案
How to find the optimal learning rate
Growing up in the competition -- (Guangyou's most handsome cub) Pikachu walking
What designs are needed in the architecture to build a general monitoring and alarm platform
12 data dimensioning processing methods
Sum of three numbers
What if the reliability coefficient is low? How to calculate the reliability coefficient?
C operator overloads the query table