资源算法TSN-pytorch

TSN-pytorch

2020-03-31 | |  36 |   0 |   0

TSN-pytorch

Pytorch impelementation for Temporal Segment Networks (TSN) in ECCV 2016

原始版本实现,我只是稍微做了改动,自己训练了模型。

这个版本不需要光流,只用到了RGBDiff,需要训练光流的模态需要去使用dense flow提取光流。

增加了光流的实验(update)。

Dependency

pytorch 0.4 有无GPU都可以使用,但是无GPU可能会很慢。

python3

ffmpeg 可以直接 sudo apt-get install ffmpeg安装,用来把视频转换成图片存储,读写会快一些,代码,我使用的帧率是10FPS,为了节约存储空间的话可以调低一点。

UCF101 数据集,下好放在./raw/data/下面,如果外网比较慢的话,可以从我分享的百度云上下载。

Test on UCF101

训练和测试都只用到了split1,全都用上的应该能进一步提升。

ModalityTop1 AccuracyTop5 Accuracy
RGB177.37%93.55%
RGB278.19%94.48%
RGBDiff171.53%89.93%
RGBDiff272.11%92.86%
Fusion RGB1+RGBDiff181.52%95.70%
Fusion RGB2+RGBDiff282.37%96.56%
Fusion RGB1+RGBDiff283.06%96.17%
Fusion RGB2+RGBDiff180.15%95.35%
Fusion RGB1+RGB277.48%92.97%
Fusion RGBDiff1+RGBDiff234.55%67.27%

因为双流结合有点类似于集成学习,为了对比到底是多模态起了作用还是集成模型起了作用,我增加了对比实验。从对比中可以看出,集成两个相同的模型反而正确率有所下降,特别是RGBDiff下降的十分厉害,这非常奇怪,其中的原因还有待进一步研究。说明RGB和RGBDiff这两个模态还是能互补的。

下一步将增加光流模态的对比和在更大数据集上的实验,如果哪位有Kinetics的百度云请分享一下,小弟感激不尽,自己去下载实在是太慢了。。。

update:新一轮的评估,支持了在视频的基础上直接操作,不用把视频先处理成图片。

ModalityTop1 AccuracyTop5 Accuracy
RGB79.46%93.34%
RGBDiff interval=172.56%90.77%
RGBDiff interval=276.87%93.10%
FLow interval=166.51%88.77%
FLow interval=266.77%89.11%
RGB+RGBDiff84.67%96.67%
RGB+Flow82.69%95.98%

NOTE:Fusion的时候都是默认interval=2.interval的意思是在视频中取帧的间隔。

update:新一轮的评估,支持更大的数据集something something

ModalityTop1 AccuracyTop5 Accuracy
RGB21.6%49.3%
RGBDiff26.5%55.6%
RGBDiff+RGB32.2%61.7%

环境配好了之后需要下载我的预训练模型:

RGB Model

RGBDiff Model

下载好了之后直接运行test.py ,python test.py 即可得到RGB和RGBDiff两个分支融合的结果。

也可以单独测试单个分支,python main.py --evaluate --resume [模型路径] --modality [RGB/RGBDiff],或者直接去对应的修改一下config.py里面的参数。

Train

只需要下载好对应的数据集,然后修改好合适的参数即可在自己的数据集上训练。

训练时间:UCF101 split1 ,GTX 2080Ti上大概两个小时。


上一篇:lib_tsn

下一篇: iotg_tsn_ref_sw

用户评价
全部评价

热门资源

  • Keras-ResNeXt

    Keras ResNeXt Implementation of ResNeXt models...

  • seetafaceJNI

    项目介绍 基于中科院seetaface2进行封装的JAVA...

  • spark-corenlp

    This package wraps Stanford CoreNLP annotators ...

  • capsnet-with-caps...

    CapsNet with capsule-wise convolution Project ...

  • inferno-boilerplate

    This is a very basic boilerplate example for pe...