百度重磅开源!视频自动剪辑黑科技!

来自

导读[编辑 | 编辑源代码]

  • 广大人工智能算法工程师,有没有感觉到近几年 AI 程序员数量激增,公司新来的程序员也可以轻松实现图像分类、目标检测等基本深度学习任务,资深算法工程师岗位如何自保?
  • 广大内容平台的后台开发者,视频理解,视频标签与推荐、关键帧识别自动剪辑,这样的深度学习技术积累,你们准备好了么?
  • 普通用户们,有没有遇到过想从手机或者电脑视频库里面找之前一段视频(比如骑马、射箭、滑雪、游泳),但是无论如何也找不到的窘境。


如果有的话,那今天你赚到了!

言归正传,看看小编今天给大家带来的深度学习黑科技,直接上效果。

3000 类短视频打标签,一行代码调用


具体来说,首先运用知识图谱的能力,根据视频标题可以找到很多包含某些特殊动作类别的视频, 然后再运用 Localization 技术把每个视频中的这些片段剪辑出来,组合成一个新视频,最后用 NLP 技术生成视频标题分发出去。

这样的深度学习项目你一定觉得很有趣吧,是的,广大的开发者也是这么认为的。

开源之后 star 迅速增长,迅速拉升

项目主要干货包含:[编辑 | 编辑源代码]

1. 丰富的模型种类:包括视频分类和动作定位两大技术方向模型,包括 TSN,TSM,SlowFast,AttentionLstm,BMN 等实用领先模型。其中,BMN 模型是百度 2019 年 ActivityNet(视频理解领域影响力最大赛事)夺冠方案。

2. 开源 3000 类预训练模型 VideoTag(离线可用):使用千万量级数据集训练的 3000 类视频标签预训练模型,可以快速预测部署。

3. 开源足球动作检测算法 FootballAction(离线可用):实现在一段未分割的视频中,定位出各种足球动作发生的起止时间以及该动作的具体类别 。

4. 提出 2D 领域 SOTA 算法 PPTSM:达到 2D 网络 SOTA 效果,Top1 Acc 73.5% 相较标准版 TSM 提升 3% 且模型参数量持平。

5. 更快的训练速度:多种视频模型训练加速方案,其中 SlowFast 训练速度相较于原始实现提速 100%,TSN 训练速度相较于原始实现提速 3.6 倍。

6. 完整部署全流程:搞过项目上线的工程师自然知道,完整的部署方案多重要。

如果心急的,可以直接传送门

https://github.com/PaddlePaddle/PaddleVideo

具体内容详解[编辑 | 编辑源代码]

(1)丰富的模型种类

PaddleVideo 包含视频分类和动作定位方向的多个主流领先模型。其中 TSN, TSM 和 SlowFast 是 End-to-End 的视频分类模型,Attention LSTM 是比较流行的视频特征序列模型,BMN 是视频动作定位模型。

TSN 是基于 2D-CNN 的经典解决方案,TSM 是基于时序移位的简单高效视频时空建模方法,SlowFast 在 ICCV2019 上提出的 3D 高精度视频分类模型,特征序列模型 Attention LSTM 速度快精度高。BMN 模型是百度开源 2019 年 ActivityNet 夺冠方案。

(2)开源 3000 分类预训练模型 VideoTag

基于百度短视频业务千万级数据,支持 3000 个源于产业实践的实用标签,具有良好的泛化能力,非常适用于国内大规模(千万 / 亿 / 十亿级别)短视频分类场景的应用。

(3)开源足球动作检测方案 FootballAction

FootballAction 分为三个组成部分:特征抽取,时序提名生成,动作分类及后处理模块。

①特征抽取:图像特征: TSN;音频特征: Vggish

②时序提名生成: BMN

③动作分类 + 回归: AttentionLSTM

(4)提出 SOTA 算法 PPTSM

与图像任务相比,视频任务的难点在于时序信息的提取。传统的 2D 网络难以捕获时序信息,通过增加时序通道,3D 网络能更好的联合时序特征建模。但 3D 网络的计算量较大,部署成本较高。

TSM 模型通过时序位移模块,有效平衡了计算效率和模型的性能,是一种高效实用视频理解模型,在工业界广泛应用。

PaddleVideo 基于飞桨框架 2.0 对 TSM 模型进行了改进,在不增加参数量和计算量的情况下,在多个数据集上精度显著超过 TSM 论文精度,比如 UCF101、Kinetics-400 数据集上分别提升 5.5%、3.5%。

在仅用 ImageNet pretrain 情况下,PPTSM 在 UCF101 和 Kinetics400 数据集 top1 分别达到 89.5% 和 73.5%,PPTSM 在 Kinetics400 上 top1 精度为 73.5%,是至今为止开源的 2D 视频模型中在相同条件下的最高性能。

(5)实现更快的训练速度

视频任务相比于图像任务的训练往往更加耗时,其原因主要有两点:一是模型上,视频任务使用的模型通常有更大的参数量与计算量;二是数据上,视频文件解码通常极为耗时。

为优化视频模型训练速度,项目中分别从模型角度和数据预处理角度,实现了多种视频训练加速方案。

针对 TSM 模型,通过 op 融合的方式实现了 temporal shift op,在节省显存的同时加速训练过程。针对 TSN 模型,实现了基于 DALI 的纯 GPU 解码方案,训练速度较标准实现加速 3.6 倍。

针对 SlowFast 模型,结合 Decode 解码库和 DataLoader 多子进程异步加速,训练速度较原始实现提升 100%,使用 Multigrid 策略训练总耗时可以进一步减少。

预先解码存成图像的方案也能显著加速训练过程,TSM/ppTSM 在训练全量 Kinetics-400 数据集 80 个 epoch 只需要 2 天;均大幅优于主流实现。

(6)打通完整部署全流程

PaddleVideo 提供了便捷的命令行预测,只需要快速安装 ppvideo:

pip install ppvideo

然后 python 命令行执行 ppvideo --model_name=”ppTSM” --video_file = 指定视频文件

一行代码即可完成预测推理。在推理速度上,PPTSM 也达到了惊人的 147VPS。

良心出品的文档[编辑 | 编辑源代码]

别的不需要多说了,大家上 GitHub 上点过 Star 之后自己体验吧:

https://github.com/PaddlePaddle/PaddleVideo