视频分类哪家强?高效NeXtVLAD在飞桨!

2023-10-11 22:40

本文主要是介绍视频分类哪家强?高效NeXtVLAD在飞桨!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

导读:昨天的TSM文章发布之后受到广大读者的好评。读者在后台留言想要了解更多视频分类相关的技术,看来视频分类问题真的很热门,使用深度学习的方法大规模进行视频分类逐渐成为了趋势。除了TSM之外,目前深度学习领域还有一系列优秀的视频分类模型,我们会慢慢为大家介绍。今天,我们将为大家介绍由飞桨官方复现并开源的另一个重要模型:NeXtVLAD。

 

1.  视频分类概述

视频分类是指给定一个视频片段,对其中包含的内容进行分类。视频分类任务中,又以视频动作分类最为热门(如做蛋糕,打篮球,亲吻,喝酒,哭泣)等(详见下节数据集介绍),毕竟动作本身就包含“动”态的因素,不是“静“态的图像所能描述的,因此也是最体现视频分类功底的。

 

2.  常见数据集

近年来,视频理解相关的领域涌现了大量的新模型、新方法,与之相伴的,也有多个新的大规模的视频理解数据集。不同的数据集的概要情况如下:

其中,Youtube-8M为谷歌开源的视频数据集,视频来自youtube,共计8百万个视频,总时长50万小时,V1版有4800个视觉实体标签,V2版有3862个视觉实体标签,是视频理解领域规模最大的数据集。为了保证标签视频数据库的稳定性和质量,谷歌只采用浏览量超过1000的公共视频资源。谷歌对视频进行了预处理,并提取了帧级别的特征,提取的特征被压缩到可以放到一个硬盘中(大小约为1.5T)。

Kinetics 数据集包括Kinetics-400和Kinetics-600以及今年刚发布的Kinetics-700。Kinetics是一个大规模、高质量的 Youtube视频网址数据集,其中包含各种以人为主题的行为动作。每个视频剪辑持续大约10秒中,并标有一个人类动作,所有剪辑都经过多轮人工,每个剪辑均来自一个独特的 YouTube视频。这些动作涵盖了广泛的课程,包括人物体交互,如演奏乐器,以及人与人之间的互动,如握手和拥抱。

Kinetics-400发布于2017年,该数据集由306,245个视频剪辑组成,涵盖400个人类动作。Kinetics-600发布于2018年,该数据集由495,547个视频剪辑组成, 涵盖600个人类动作类。Kinetics-700发布于2019年,该数据集由650,317个视频剪辑组成,涵盖700个人类动作。

3.  NeXtVLAD简介

在深度学习之前,研究者们已经提出了许多传统的局部特征融合的算法,例如BoW,FV,VLAD等,旨在建模更紧凑的视觉特征表示,从而提升大规模视觉识别任务的性能。2016年的CVPR会议上研究者们又提出了一个可微分的网络模块NetVLAD,将传统的VLAD描述子与神经网络相结合,成功应用于场景识别的任务中。但是NetVLAD的缺陷是编码得到的特征维度过高,导致神经网络中含有上亿的参数,计算量巨大难以优化,容易产生过拟合。

为了解决NetVLAD中参数爆炸的问题,同时受ResNeXt的工作所启发,NeXtVLAD应运而生。NeXtVLAD首先对输入的特征做升维操作,然后将该特征划分成多个群组分别进行建模,并引入Group Convolution层减少模型参数,提高计算性能。此外该模型中还引入视觉Attention机制对不同的群组赋予不同权重,建模视频中不同帧的分类贡献度。最后为了捕获特征之间的依赖关系,在分类层之前加入Context Gating模块来重塑特征和输出标签,同时引入SE(Squeeze-and-Excitation)操作进一步减小模型参数。通过图像和音频特征的两路融合,NeXtVLAD取得了0.87的GAP指标,是该赛事中效果最好的单模型结构。

NeXtVLAD模型提供了一种将帧级别的视频特征转化并压缩成特征向量,以适用于任意数目帧输入的视频分类方法。其基本出发点是在NetVLAD模型的基础上,将高维度的特征先进行分组,再引入attention机制聚合提取时间维度的信息,这样既可以获得较高的准确率,又可以节省参数量。模型的主要结构如下:

 图1. NeXtVLAD模型结构图

关于模型结构的更多细节,请参阅论文:NeXtVLAD: AnEfficient Neural Network to Aggregate Frame-level Features for Large-scaleVideo Classification,https://arxiv.org/abs/1811.05014

 

4.  飞桨NeXtVLAD快速上手

 

飞桨官方实现了论文中的NeXtVLAD单模型结构,并将其开源,赶快来试试吧。

 

  • 数据准备

下载2nd-Youtube-8M数据集。

 

  • 模型训练

(1)随机初始化开始训练

在PaddleVideo目录下运行如下脚本:

bash ./scripts/train/train_nextvlad.sh

(2)使用预训练模型做finetune

请先将提供的预训练模型(训练好的网络参数)下载到本地,预训练模型地址:

https://paddlemodels.bj.bcebos.com/video_classification/nextvlad_youtube8m.tar.gz并在上述脚本文件中添加“--resume”为所保存的预模型存放路径。使用4卡Nvidia Tesla P40,总的batch size数是160。

(3)训练策略

使用Adam优化器,初始learning_rate=0.0002,每2,000,000个样本做一次学习率衰减,learning_rate_decay =0.8,正则化使用l2_weight_decay = 1e-5

 

  • 模型评估

用户可以下载预训练的模型参数,或者使用自己训练好的模型参数。请在./scripts/test/test_nextvald.sh 文件中修改“--weights”参数为保存模型参数的目录,并运行如下命令:

bash ./scripts/test/test_nextvlad.sh

 由于YouTube-8M提供的数据中test数据集是没有ground truth标签的,所以这里使用validation数据集来做测试。

 

模型参数列表如下:

参数

取值

cluster_size

128

hidden_size

2048

groups

8

expansion

2

drop_rate

0.5

gating_reduction

8

 

计算指标列表如下:

精度指标

模型精度

Hit@1

0.8960

PERR

0.8132

GAP

0.8709

 

4. 模型推断

用户可以下载预训练的模型参数,也可以使用自己训练好的模型参数。请在./scripts/infer/infer_nextvald.sh 文件中修改“—weights”参数为保存模型参数的目录,运行如下脚本:

bash ./scripts/infer/infer_nextvald.sh

 

推断结果将会保存在NEXTVLAD_infer_result文件中,使用pickle格式存储。

 

快快自己动手尝试下吧!

 

想与更多的深度学习开发者交流,请加入飞桨官方QQ群:432676488

如果您想详细了解更多飞桨PaddlePaddle的相关内容,请参阅以下文档。

  • 官网地址:

    https://www.paddlepaddle.org.cn

  • 项目地址:

    https://github.com/PaddlePaddle/models/tree/v1.5.1/PaddleCV/PaddleVideo

最后给大家推荐一个GPU福利 - Tesla V100免费算力!配合PaddleHub能让模型原地起飞~ 扫描下方二维码申请~


这篇关于视频分类哪家强?高效NeXtVLAD在飞桨!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/191327

相关文章

高效+灵活,万博智云全球发布AWS无代理跨云容灾方案!

摘要 近日,万博智云推出了基于AWS的无代理跨云容灾解决方案,并与拉丁美洲,中东,亚洲的合作伙伴面向全球开展了联合发布。这一方案以AWS应用环境为基础,将HyperBDR平台的高效、灵活和成本效益优势与无代理功能相结合,为全球企业带来实现了更便捷、经济的数据保护。 一、全球联合发布 9月2日,万博智云CEO Michael Wong在线上平台发布AWS无代理跨云容灾解决方案的阐述视频,介绍了

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设

高效录音转文字:2024年四大工具精选!

在快节奏的工作生活中,能够快速将录音转换成文字是一项非常实用的能力。特别是在需要记录会议纪要、讲座内容或者是采访素材的时候,一款优秀的在线录音转文字工具能派上大用场。以下推荐几个好用的录音转文字工具! 365在线转文字 直达链接:https://www.pdf365.cn/ 365在线转文字是一款提供在线录音转文字服务的工具,它以其高效、便捷的特点受到用户的青睐。用户无需下载安装任何软件,只

【C++高阶】C++类型转换全攻略:深入理解并高效应用

📝个人主页🌹:Eternity._ ⏩收录专栏⏪:C++ “ 登神长阶 ” 🤡往期回顾🤡:C++ 智能指针 🌹🌹期待您的关注 🌹🌹 ❀C++的类型转换 📒1. C语言中的类型转换📚2. C++强制类型转换⛰️static_cast🌞reinterpret_cast⭐const_cast🍁dynamic_cast 📜3. C++强制类型转换的原因📝

基于 YOLOv5 的积水检测系统:打造高效智能的智慧城市应用

在城市发展中,积水问题日益严重,特别是在大雨过后,积水往往会影响交通甚至威胁人们的安全。通过现代计算机视觉技术,我们能够智能化地检测和识别积水区域,减少潜在危险。本文将介绍如何使用 YOLOv5 和 PyQt5 搭建一个积水检测系统,结合深度学习和直观的图形界面,为用户提供高效的解决方案。 源码地址: PyQt5+YoloV5 实现积水检测系统 预览: 项目背景

MiniGPT-3D, 首个高效的3D点云大语言模型,仅需一张RTX3090显卡,训练一天时间,已开源

项目主页:https://tangyuan96.github.io/minigpt_3d_project_page/ 代码:https://github.com/TangYuan96/MiniGPT-3D 论文:https://arxiv.org/pdf/2405.01413 MiniGPT-3D在多个任务上取得了SoTA,被ACM MM2024接收,只拥有47.8M的可训练参数,在一张RTX

利用命令模式构建高效的手游后端架构

在现代手游开发中,后端架构的设计对于支持高并发、快速迭代和复杂游戏逻辑至关重要。命令模式作为一种行为设计模式,可以有效地解耦请求的发起者与接收者,提升系统的可维护性和扩展性。本文将深入探讨如何利用命令模式构建一个强大且灵活的手游后端架构。 1. 命令模式的概念与优势 命令模式通过将请求封装为对象,使得请求的发起者和接收者之间的耦合度降低。这种模式的主要优势包括: 解耦请求发起者与处理者

PDFQFZ高效定制:印章位置、大小随心所欲

前言 在科技编织的快节奏时代,我们不仅追求速度,更追求质量,让每一分努力都转化为生活的甜蜜果实——正是在这样的背景下,一款名为PDFQFZ-PDF的实用软件应运而生,它以其独特的功能和高效的处理能力,在PDF文档处理领域脱颖而出。 它的开发,源自于对现代办公效率提升的迫切需求。在数字化办公日益普及的今天,PDF作为一种跨平台、不易被篡改的文档格式,被广泛应用于合同签署、报告提交、证书打印等各个

excel翻译软件有哪些?如何高效提翻译?

你是否曾在面对满屏的英文Excel表格时感到头疼?项目报告、数据分析、财务报表... 当这些重要的信息被语言壁垒阻挡时,效率和理解度都会大打折扣。别担心,只需3分钟,我将带你轻松解锁excel翻译成中文的秘籍。 无论是职场新人还是老手,这一技巧都将是你的得力助手,让你在信息的海洋中畅游无阻。 方法一:使用同声传译王软件 同声传译王是一款专业的翻译软件,它支持多种语言翻译,可以excel

《C++中的移动构造函数与移动赋值运算符:解锁高效编程的最佳实践》

在 C++的编程世界中,移动构造函数和移动赋值运算符是提升程序性能和效率的重要工具。理解并正确运用它们,可以让我们的代码更加高效、简洁和优雅。 一、引言 随着现代软件系统的日益复杂和对性能要求的不断提高,C++程序员需要不断探索新的技术和方法来优化代码。移动构造函数和移动赋值运算符的出现,为解决资源管理和性能优化问题提供了有力的手段。它们允许我们在不进行不必要的复制操作的情况下,高效地转移资源