一.部署

1. 先把项目Clone下来

git clone https://github.com/jfzhang95/pytorch-video-recognition.git

2. 安装环境:

PyTorch 的安装可以参考这里https://pytorch.org/

pip install opencv-python tqdm scikit-learn tensorboardX

3.下载C3D预训练模型:

在项目目录下新建一个models目录,用来存放预训练模型

百度云地址:https://pan.baidu.com/s/1saNqGBkzZHwZpG-A5RDLVw

GoogleDrive:https://drive.google.com/file/d/19NWziHWh1LgCcHU34geoKwYezAogv9fX/view?usp=sharing

二.准备数据

本次实验用的是公开数据集UCF101,

下载地址:https://www.crcv.ucf.edu/datasets/human-actions/ucf101/UCF101.rar

如果是自己准备数据,按照下面方法来做

在项目目录下创建一个data目录,将数据集放在data目录下,每一个视频分类为一个文件夹,视频名称以v开头,”_”分隔,中间为类别名称,g01,g02依次类推,如果视频太长就分割成多个,名称在g01后再加上c01,c02以此类推,每个视频大小控制在500k内。结构如下:

data

├──UCF-101

├── ApplyEyeMakeup

│   ├── v_ApplyEyeMakeup_g01_c01.avi

│   └── ...

├── ApplyLipstick

│   ├── v_ApplyLipstick_g01_c01.avi

│   └── ...

└── Archery

│   ├── v_Archery_g01_c01.avi

│   └── ...

视频名称参见下图:

三.训练模型

1. 修改数据集和预训练模型路径,在mypath.py文件中需要改四个位置,参考下图:

2. 训练模型,在train.py文件中需要修改

训练过程中的输出:

训练完成后会在run文件夹中生成模型,run目录下最后一个文件夹就是最新模型路径

3. 预测,修改inference.py文件

测试结果:

C3D视频特征提取的更多相关文章

  1. 提取C3D视频特征(官方文档&实践)

    C3D Introduction 卷积神经网络(CNN)近年被广泛应用于计算机视觉中,包括分类.检测.分割等任务.这些任务一般都是针对图像进行的,使用的是二维卷积(即卷积核的维度为二维).而基于视频的 ...

  2. paper 69:Haar-like矩形遍历检测窗口演示Matlab源代码[转载]

    Haar-like矩形遍历检测窗口演示Matlab源代码 clc; clear; close all; % Haar-like特征矩形计算 board = 24 % 检测窗口宽度 num = 24 % ...

  3. A simple test

        博士生课程报告       视觉信息检索技术                 博 士 生:施 智 平 指导老师:史忠植 研究员       中国科学院计算技术研究所   2005年1月   目 ...

  4. (转)Haar-like矩形遍历检测窗口演示Matlab源代码

    from:http://blog.sina.com.cn/s/blog_736aa0540101kzqb.html clc; clear; close all; % Haar-like特征矩形计算 b ...

  5. C3D使用指南

    C3D GitHub项目地址:https://github.com/facebook/C3D C3D 官方用户指南:https://goo.gl/k2SnLY 1. C3D特征提取 1.1 命令参数介 ...

  6. Atitti 图像处理 特征提取的科技树 attilax总结

    Atitti 图像处理 特征提取的科技树 attilax总结 理论 数学,信号处理,图像,计算机视觉 图像处理 滤波 图像处理 颜色转换 图像处理 压缩编码 图像处理 增强 图像处理 去模糊 图像处理 ...

  7. python特征提取——pyAudioAnalysis工具包

    作者:桂. 时间:2017-05-04  18:31:09 链接:http://www.cnblogs.com/xingshansi/p/6806637.html 前言 语音识别等应用离不开音频特征的 ...

  8. [AI开发]视频多目标跟踪高级版(离自动驾驶又‘近’了一点点)

    **本文恐怕不是完全的标题党** 视频多目标跟踪需要解决的关键点是前后两帧之间的Target Association,这是最难的环节(没有之一).第T帧检测到M个目标,第T+S(S>=1)帧检测 ...

  9. Papers | 图像/视频增强 + 深度学习

    目录 I. ARCNN 1. Motivation 2. Contribution 3. Artifacts Reduction Convolutional Neural Networks (ARCN ...

随机推荐

  1. JSF的分析

    一.JSF的有关定义 JavaServer Faces (JSF) 是一种用于构建Java Web 应用程序的标准框架 它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发 ...

  2. vue 获取当前时间

    timeNow () { return moment().utc().format('YYYY年MM月DD日') + ' ' + moment().utc().format('dddd')}

  3. WEB学习笔记9-添加必要的<meta>标签

    <meta>标签放置在HTML页面的head中,主要用于标示网站.其中主要包含网站的一些描述信息,如简介,作者等.这些信息有助于搜索引擎更准确地识别网页的内容,也有助于第三方工具抓取网站基 ...

  4. SharePoint 2013 新特性 (三) 破改式 —— 设计管理器的使用 [1.设备通道]

    首先,哥们儿们会问,为啥要有设计管理器呢,不是原来就可以编辑页面了么,原来那个编辑不了模板页和布局页,也不能打包,而且也看不到具体HTML代码,不能编辑CSS,当然,你安装的SharePoint De ...

  5. shell脚本登录远程服务器并下载至本地

    通常有这样备份的需求,将远程服务器的代码或者数据打包压缩然后下载到本地路径 实现方式 需要对远程服务器实现无密码访问,通过配置公钥实现: 使用ssh执行命令然后转向到本地的方法一步完成打包和下载,可参 ...

  6. 中文dumps显示

    json.dumps(tuwen_attention_dict_set, ensure_ascii=False)

  7. 在Eclipse中使用版本管理工具SVN

    近日工程中,逐渐感觉到原来复制粘贴代码的笨重,突然想起以前有人和我说起过Git和SVN之类的版本管理工具.由于平时主要是写Java代码,所以能够在Eclipse中使用SVN工具进行版本管理就可以说是很 ...

  8. Dictionary用法

    https://www.cgjoy.com/thread-106639-1-1.html 1.新建字典,添加元素  dictionary<string,string>dic=newdict ...

  9. js中数组常用方法总结

    操作数组 印象中数组有很多方法,系统的整理一下,放在自己家里方便回头查~ Array.map() 此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组 1 2 ...

  10. Java中如何拆分字符串为字符数组

    题目:输入一串字符,由(){}[]组成,判断是否所有的括号都是闭括号,是的返回TRUE,不是返回FALSE. /*输入字符串,拆解为字符数组 * 用函数s.charAt(i)来完成 * * */imp ...