注意注意:由于paddlepaddle在ubuntu安装失败,复现过程在转移到windows上,看这篇博客:【代码复现】BMN: Boundary-Matching Network for Temporal Action Proposal Generation
1,前言
现在有那么多视频检测框架,为什么选BMN进行复现?
1,2019 年 ActivityNet 夺冠方案
2,这是中国人做出来的,而且作者在知乎也写了详细的讲解(这一点才是最重要的)
3,BMN距离现在时间很近,能算是最前沿的技术,通过对BMN的改进,可以用作我的毕业论文的写作。
2,参考
ActivityNet Challenge 2019 冠军模型BMN算法全解析
[ICCV 2019][时序动作提名] 边界匹配网络详解
github代码
3,准备
1,ubuntu系统,我用的是ubuntu16
2,PaddlePaddle框架,这是百度开发的
3,下载github上的代码:https://github.com/PaddlePaddle/models/tree/develop
下图为BMN的文件结构
4,下载数据集
BMN模型使用ActivityNet 1.3数据集,使用方法有如下两种方式:
方式一:
首先参考下载说明下载原始数据集。在训练此模型时,需要先使用TSN对源文件抽取特征。可以自行抽取视频帧及光流信息,预训练好的TSN模型可从此处下载。
方式二:
我们也提供了处理好的视频特征,请下载bmn_feat数据后解压,同时相应的修改configs/bmn.yaml文件中的特征路径feat_path。
5,CUDA的安装
6,pandas安装
在终端 terminal 执行:
sudo apt-get install python-pandas
4,数据集下载
尝试了一下方式一,有点复杂,直接用方式二
首先下载bmn_feat数据(5.5G),按照要求,修改configs/bmn.yaml,如下图
解压bmn_feat.tar.gz后出现fix_feat_100文件,如下图
将 fix_feat_100文件移动到路径:‘data/dataset/bmn/fix_feat_100’
下图为fix_feat_100的文件内容
这样就完成了BMN模型数据的准备。
5,paddlepaddle安装
BMN是背靠百度研发出来的,那么一定用的是paddlepaddle框架
paddlepaddle官网安装
由于paddlepaddle安装失败,ubuntu一直显示:
ERROR: Command errored out with exit status 1: /usr/bin/python /usr/local/lib/python2.7/dist-packages/pip/_vendor/pep517/_in_process.py get_requires_for_build_wheel /tmp/tmpPNRILH Check the logs for full command output.
我调试了一个下午,网上解决方案查遍了,不行,只能在windows上重新来一遍(windows没有这个错误)