项目地址:https://github.com/facebookresearch/SlowFast
Tutorial 地址(附 PPTT 资源):https://alexanderkirillov.github.io/tutorials/visual-recognition-iccv19/
视频与动作理解俨然已成为当今最火热的研究方向之一,然而在开源社区中找到一个简洁、高效、易于修改的视频理解代码库仍不是一件简单的事情。更重要的是,复现当今前沿的 (state-of-the-art) 的深度学习模型一直是一件令研究者头疼的事情。
这些视频理解模型往往动辄几十 GFlops,需要训练数天,而复现出一个模型需要反复的实验调参,让每个细节都正确。这往往会耗费大量的时间和资源,让很多研究者望而却步。
Facebook AI Research 在 CVPR、ICCV 等国际会议发布了众多研究工作,并赢得了 CVPR 2019 行为检测挑战赛的冠军。而后,在今年的 ICCV 上,FAIR 推出了他们的视频理解代码库:PySlowFast。
PySlowfast 是一个基于 PyTorch 的代码库,让研究者可以轻而易举地复现从基础至前沿的视频识别 (Video Classification) 和行为检测 (Action Detection) 算法。
不但如此,PySlowFast 代码库同时开源了大量预训练模型 (pretrain models),让研究者省去了反复训练模型的烦恼,可以直接使用 FAIR 预训练的前沿 (cutting edge performance) 模型。
pySlowFast开源的模型的可视化检测结果
自开源后,PySlowFast 就一度蝉联 GitHub 趋势榜前十。以下对此开源项目进行了简要介绍。
根据研讨会教程和开源代码库信息,PySlowFast 既提供视频理解基线(baseline)模型,还提供了当今前沿的视频理解算法复现。其算法不单单囊括视频视频(video classification),同时也包括行为检测(Action Classification)算法。
与当今开源社区中各种视频识别库复现出参差不齐的性能相比,使用 PySlowFast 可轻而易举地复现出当今前沿的模型。
视频识别(Kinetics)
表 1:PySlowFast 在视频分类数据库 Kinetics 400 上的性能)(节选自 https://github.com/facebookresearch/SlowFast/blob/master/MODEL_ZOO.md)
PySlowFast 不单单可以用于视频分类,同时也可用于视频理解,并提供赢得了 2019 年 CVPR ActivityNet Challenge Winner 的视频检测模型。
行为检测(AVA)
此外,PySlowFast 预留了接口,可通过简单的编辑支持多模态视频理解、视频自监督学习等等任务。该团队称,PySlowFast 将被积极维护,实时更新其团队和业界的前沿算法,同开源其预训练模型,使代码库成为视频理解领域的基线标杆。
通过以下教程,读者们可以简单试用下 PySlowFast 代码库。在完成安装后,通过下载 MODEL_ZOO 提供的预训练模型和相应的配置文件,运行如下代码,就可以测试(Test)模型在不同视频数据库上的性能:
python tools/run_net.py \
--cfg configs/Kinetics/C2D_8x8_R50.yaml \
DATA.PATH_TO_DATA_DIR path_to_your_dataset \
NUM_GPUS 2 \
我们可以发现,通过此代码库可以轻易复现出前沿的高性能模型,同时读者们也可以尝试通过简单的修改来实现自己的模型,并用多台 GPU 进行训练得到前沿的性能。