Temporal Segment Networks(TSN)实验及错误日志

48人阅读 评论(2) 收藏 举报
分类:

这里写图片描述
TSN是16年Activity Challenge比赛中”untrimmed video classification”项目的冠军。
TSN项目代码地址:https://github.com/yjxiong/temporal-segment-networks


实验流程记录

参考README.md

下载项目代码,并编译

  • git clone --recursive https://github.com/yjxiong/temporal-segment-networks
  • bash build_all.sh; 或者多GPU并行:MPI_PREFIX=<root path to openmpi installation> bash build_all.sh MPI_ON
    build_all.sh文件会下载opencv 2.4.13denseflow(用来截取视频帧和光流),并且编译caffe-action
    这里有一点值得注意的是需要先clone代码,再编译。如果是从网上download的代码直接编译的话,会因为缺少部分文件导致编译失败。

获取视频帧和光流

论文中使用的数据库是HMDB-51和UCF-101,可以到他们的数据库官网中下载,并解压。
获取视频帧和光流代码:
bash scripts/extract_optical_flow.sh SRC_FOLDER OUT_FOLDER NUM_WORKER
各参数含义如下:
- SRC_FOLDER points to the folder where you put the video dataset
- OUT_FOLDER points to the root folder where the extracted frames and optical images will be put in
- NUM_WORKER specifies the number of GPU to use in parallel for flow extraction, must be larger than 1

下载预训练好的模型

bash scripts/get_reference_models.sh
模型比较大,网络连接不通顺或者有精力的话,可以自己直接复制链接,从网页上download。

测试

UCF101 split1

rgb部分

python tools/eval_net.py ucf101 1 rgb /data3/UCF-all-in-one/ucf_frame/ \ 
models/ucf101/tsn_bn_inception_rgb_deploy.prototxt \
models/ucf101_split_1_tsn_rgb_reference_bn_inception.caffemodel \
--num_worker 4 --save_scores rgb_score

这里写图片描述

flow部分

python tools/eval_net.py ucf101 1 flow /data3/UCF-all-in-one/ucf_transed/ \
models/ucf101/tsn_bn_inception_flow_deploy.prototxt \
models/ucf101_split_1_tsn_flow_reference_bn_inception.caffemodel \
--num_worker 4 --save_scores ucf101/flow_score

这里写图片描述

fusion

python tools/eval_scores.py ucf101/rgb_score.npz ucf101/flow_score.npz --score_weights 1 1.5

这里写图片描述

HMDB51 split1

遇到的问题及解决方案

1、在测试时遇到:libdc1394 error: Failed to initialize libdc1394,后面紧接着出现:ImportError: No module named _caffe,但是之前执行build_all.sh的时候已经显示“Caffe Built.”
方法一:参考了:https://github.com/yjxiong/temporal-segment-networks/issues/66 中的解决方法。

apt-get remove libboost-all-dev
apt-get install libboost1.55-all-dev

但是在我的lib/caffe-action/python/caffe已经存在_caffe.so文件,并且先卸载libboost-all-dev,再安装 libboost1.55-all-dev并没有解决我的问题。(只是因为看到网上有其他人采用了这种方法并且解决了问题才列出来供参考)
方法二:export PYTHONPATH=/path/to/caffe/python:$PYTHONPATH
具体来说就是要在lib/caffe-action/路径中输入你的python路径。注意,要输入绝对路径。
这里写图片描述
另外这种方法并不是一劳永逸的,在重新进入docker后,需要再次输入该条命令,才能运行成功。
2、本来之前都已经跑通了,第二次再跑的时候不知道怎么就发生了这个问题:ImportError: No module named cv2
这里写图片描述
但是我的文件夹中明明存在着cv2.so啊,真是一个神奇的问题。在网上找了个方法, 就解决了:

pip install opencv-python

3、KeyError: 'AHF_longsword_against_Rapier_and_Dagger_Fight_sword_f_cm_np2_ri_bad_0'
这里写图片描述
路径错了。。。。check一下视频帧(or 光流)的路径。

查看评论

TSN(Temporal Segment Networks)算法笔记

论文:Temporal Segment Networks: Towards Good Practices for Deep Action Recognition 论文链接:https://arxiv...
  • u014380165
  • u014380165
  • 2018-01-10 23:04:18
  • 932

TSN(Temporal Segment Networks)代码实验

前言:Temporal Segment Networks (TSN)是在 ECCV 2016 上提出的,作者是Limin Wang, Yuanjun Xiong, Zhe Wang, Yu Qiao,...
  • zhang_can
  • zhang_can
  • 2018-03-26 20:58:59
  • 92

[行为识别论文详解]TSN(Temporal Segment Networks)

摘要 本文旨在设计有效的卷积网络体系结构用于视频中的动作识别,并在有限的训练样本下进行模型学习。TSN基于two-stream方法构建。 论文主要贡献: 提出了TSN(Temporal Seg...
  • zhang_can
  • zhang_can
  • 2018-03-19 22:29:29
  • 375

论文笔记-Temporal segment network:towards good practices for deep action recognition

1-摘要       卷积神经网络在图片的视觉识别方面已经取得了巨大的成功,然而关于视频的动作识别,成果还不是那么明显。这篇文章意在发现一种能够针对视频的行为识别设计有效的卷积神经网络结构并能够在有限...
  • weixin_37970694
  • weixin_37970694
  • 2017-07-13 15:14:15
  • 3101

双流网络行为识别-Spatiotemporal Residual Networks for Video Action Recognition-论文阅读

前几天刚放出来的一篇paper:Spatiotemporal Residual Networks for Video Action Recognition,又将HMDB51数据库和UCF101数据库的...
  • u014381600
  • u014381600
  • 2017-03-02 09:41:14
  • 3015

论文笔记一Temporal Segment Networks: Towards Good Practices for Deep Action Recognition

Abstract: Deep convolutional networks 对图像处理有很好的识别效果,但对视频中的动作识别,传统方法中的优势并没有体现出来。 Paper的目...
  • tangtangtang_1
  • tangtangtang_1
  • 2017-08-11 22:16:07
  • 720

SSN:Temporal Action Detection with Structured Segment Networks

SSN:structured segment networks,通过结构化时序金字塔对每一个动作实例的时序结构建模。在金字塔的顶端,引入一个判别模型,包括两个分类器:动作分类和完整度区分,它能有效的将...
  • qq_20720317
  • qq_20720317
  • 2017-08-25 10:38:23
  • 1006

Video Analysis相关领域介绍之Action Recognition(行为识别)

这篇文章投稿在极视角公众号,微信链接 随着深度学习技术的发展,以及计算能力的进步(GPU等),现在基于视频的研究领域越来越受到重视。视频与图片最大的不同在于视频还包含了时序上的信息,此外需要的计算量通...
  • wzmsltw
  • wzmsltw
  • 2017-04-19 12:28:35
  • 6229

Spatiotemporal Residual Networks for Video Action Recognition

这篇文章出自2016 NIPS, 作者是格林茨大学的Feichtenhofer。背景:几乎现在行为识别领域,比较work的工作都是基于二流网络。其中appearance和motion分别由两个不同的网...
  • paranoid_CNN
  • paranoid_CNN
  • 2017-09-04 16:07:03
  • 791

[SVM系列之一]白话支持向量机(SVM)

初识支持向量机(SVM) 我们来玩一个游戏: 首先在桌子上放两种颜色的球,它们似乎存在某种关系,那你能不能用一根木棒将两种颜色分开呢?要求:尽可能在桌面上放置更多的小球后仍然适用。 ...
  • zhang_can
  • zhang_can
  • 2018-03-01 11:16:31
  • 110
    个人资料
    持之以恒
    等级:
    访问量: 10万+
    积分: 1923
    排名: 2万+
    最新评论