其他
【他山之石】MMAction2: 新一代视频理解工具箱
“他山之石,可以攻玉”,站在巨人的肩膀才能看得更高,走得更远。在科研的道路上,更需借助东风才能更快前行。为此,我们特别搜集整理了一些实用的代码链接,数据集,软件,编程技巧等,开辟“他山之石”专栏,助你乘风破浪,一路奋勇向前,敬请关注。
地址:https://www.zhihu.com/people/openmmlab
太长不看版
统一的框架:MMAction2 作为 OpenMMLab 的新一代视频理解工具箱,同时支持了动作识别、时序动作检测、时空动作检测等多种任务和算法。用户可以在一个框架中方便地调用不同的算法和模型。 灵活的模块化设计:MMAction2 延续了 OpenMMLab 系列的模块化风格,用户能够基于这套框架灵活地增加新的功能和算法。 丰富的模型和 benchmark:MMAction2 高精度地复现了多种视频理解算法,包括 TSN, TSM, I3D, SlowFast, X3D 等动作识别算法,BMN, BSN 等时序动作检测算法,AVA 数据集相关的时空动作检测算法等;提供了丰富的 130+ 个预训练模型;并且针对不同的数据处理方式做了详尽的 benchmark 以供社区参考~ 高速且多样的训练 pipeline:MMAction2 对 Video 的训练速度做了大幅的优化,采用分布式的训练框架,支持多种 IO 后端文件读取(Disk, Ceph, Memcached 等),多种 Video 的解码方式(OpenCV, PyAV, Decord 等),TurboJPEG 解码视频帧等。同时设计 lazy operation 技巧来加速数据 pipeline 的处理,在训练速度上优于主流的代码实现。此外,MMAction2 也提供多种模态数据的处理步骤,包括 Video, RGB, Flow, Audio, Compressed Video 等。 完善详尽的文档教程:MMAction2 目前支持主流的 15 种学术数据集的准备脚本,用户可以很简单地按照文档说明键入指令,完成数据集准备;撰写了详细的教程文档,帮助新手用户使用 repo,并且在 Colab 上布置了在线使用的 Tutorial,以供用户进行体验。 丰富的 Demo:MMAction2 基于代码库实现了一系列丰富的 Demo 以供用户使用,包括 时空动作检测 demo, 摄像头动作识别 demo, GradCAM demo等。
Action Recognition: TSN TSM R(2+1)D I3D SlowOnly SlowFast CSN TIN TPN C3D X3D NonLocal OminiSource MultiModality: Audio Action Localization: BMN BSN SSN Spatial Temporal Action Detection: SlowOnly + Fast R-CNN SlowFast + Fast R-CNN
丰富的算法实现和配置文件
高速多样的训练Pipeline
多IO后端的支持。MMAction2 支持从 Disk 或者分布式存储中的 lustre 读取,也支持通过 ceph,类似网络硬盘中的文件进行读取,以及 Memcached 下进行数据读取。 多视频解码方式的支持。MMAction2 支持 on the fly 地去解码 video,并提供多种解码器的使用,OpenCV, PyAV, Decord,并在保证精度的前提下进行了一定的优化。 Pipeline处理上的加速。MMAction2 是分布式的训练框架,并且在一些数据增强中提供了 lazy 选项,类似 resize – crop – flip 这种数据处理的 pattern,每步可以不立即执行操作,而是保留每步操作的抽象中间结果(比如 bbox 信息,是否 flip 等),最终整合并应用到 Frame 上,减少 IO 操作的次数,大大增加训练速度。此外,还支持 TurboJPEG 的图片解码方式,加速视频帧的读取。
详尽的文档教程
丰富的 Demo
优秀的售后服务
除了尽力及时处理 issue,为了更方便及时交流与准确表达,我们还创建了社区群(群号:144762544)。
总结
“他山之石”历史文章
TensorFlow神经网络实现二分类的正确姿势
人类早期驯服野生机器学习模型的珍贵资料
不会强化学习,只会numpy,能解决多难的RL问题?
技术总结《OpenAI Gym》
ROC和CMC曲线的理解(FAR, FRR的理解)
pytorch使用hook打印中间特征图、计算网络算力等
Ray和Pytorch Lightning 使用指北
如何在科研论文中画出漂亮的插图?
PyTorch 源码解读之 torch.optim:优化算法接口详解
AI框架基础技术之深度学习中的通信优化
SimCLR:用于视觉表征的对比学习框架
Pytorch Autograd与计算图
tensorflow2.4性能调优最佳实践
PyTorch | DDP系列:入门教程、实现原理与源代码解析、实战与技巧
教你用PyTorch玩转Transformer英译中翻译模型!
更多他山之石专栏文章,
请点击文章底部“阅读原文”查看
分享、点赞、在看,给个三连击呗!