C3D视频特征提取
一.部署
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视频特征提取的更多相关文章
- 提取C3D视频特征(官方文档&实践)
C3D Introduction 卷积神经网络(CNN)近年被广泛应用于计算机视觉中,包括分类.检测.分割等任务.这些任务一般都是针对图像进行的,使用的是二维卷积(即卷积核的维度为二维).而基于视频的 ...
- paper 69:Haar-like矩形遍历检测窗口演示Matlab源代码[转载]
Haar-like矩形遍历检测窗口演示Matlab源代码 clc; clear; close all; % Haar-like特征矩形计算 board = 24 % 检测窗口宽度 num = 24 % ...
- A simple test
博士生课程报告 视觉信息检索技术 博 士 生:施 智 平 指导老师:史忠植 研究员 中国科学院计算技术研究所 2005年1月 目 ...
- (转)Haar-like矩形遍历检测窗口演示Matlab源代码
from:http://blog.sina.com.cn/s/blog_736aa0540101kzqb.html clc; clear; close all; % Haar-like特征矩形计算 b ...
- C3D使用指南
C3D GitHub项目地址:https://github.com/facebook/C3D C3D 官方用户指南:https://goo.gl/k2SnLY 1. C3D特征提取 1.1 命令参数介 ...
- Atitti 图像处理 特征提取的科技树 attilax总结
Atitti 图像处理 特征提取的科技树 attilax总结 理论 数学,信号处理,图像,计算机视觉 图像处理 滤波 图像处理 颜色转换 图像处理 压缩编码 图像处理 增强 图像处理 去模糊 图像处理 ...
- python特征提取——pyAudioAnalysis工具包
作者:桂. 时间:2017-05-04 18:31:09 链接:http://www.cnblogs.com/xingshansi/p/6806637.html 前言 语音识别等应用离不开音频特征的 ...
- [AI开发]视频多目标跟踪高级版(离自动驾驶又‘近’了一点点)
**本文恐怕不是完全的标题党** 视频多目标跟踪需要解决的关键点是前后两帧之间的Target Association,这是最难的环节(没有之一).第T帧检测到M个目标,第T+S(S>=1)帧检测 ...
- Papers | 图像/视频增强 + 深度学习
目录 I. ARCNN 1. Motivation 2. Contribution 3. Artifacts Reduction Convolutional Neural Networks (ARCN ...
随机推荐
- JSF的分析
一.JSF的有关定义 JavaServer Faces (JSF) 是一种用于构建Java Web 应用程序的标准框架 它提供了一种以组件为中心来开发 Java Web 用户界面的方法,从而简化了开发 ...
- vue 获取当前时间
timeNow () { return moment().utc().format('YYYY年MM月DD日') + ' ' + moment().utc().format('dddd')}
- WEB学习笔记9-添加必要的<meta>标签
<meta>标签放置在HTML页面的head中,主要用于标示网站.其中主要包含网站的一些描述信息,如简介,作者等.这些信息有助于搜索引擎更准确地识别网页的内容,也有助于第三方工具抓取网站基 ...
- SharePoint 2013 新特性 (三) 破改式 —— 设计管理器的使用 [1.设备通道]
首先,哥们儿们会问,为啥要有设计管理器呢,不是原来就可以编辑页面了么,原来那个编辑不了模板页和布局页,也不能打包,而且也看不到具体HTML代码,不能编辑CSS,当然,你安装的SharePoint De ...
- shell脚本登录远程服务器并下载至本地
通常有这样备份的需求,将远程服务器的代码或者数据打包压缩然后下载到本地路径 实现方式 需要对远程服务器实现无密码访问,通过配置公钥实现: 使用ssh执行命令然后转向到本地的方法一步完成打包和下载,可参 ...
- 中文dumps显示
json.dumps(tuwen_attention_dict_set, ensure_ascii=False)
- 在Eclipse中使用版本管理工具SVN
近日工程中,逐渐感觉到原来复制粘贴代码的笨重,突然想起以前有人和我说起过Git和SVN之类的版本管理工具.由于平时主要是写Java代码,所以能够在Eclipse中使用SVN工具进行版本管理就可以说是很 ...
- Dictionary用法
https://www.cgjoy.com/thread-106639-1-1.html 1.新建字典,添加元素 dictionary<string,string>dic=newdict ...
- js中数组常用方法总结
操作数组 印象中数组有很多方法,系统的整理一下,放在自己家里方便回头查~ Array.map() 此方法是将数组中的每个元素调用一个提供的函数,结果作为一个新的数组返回,并没有改变原来的数组 1 2 ...
- Java中如何拆分字符串为字符数组
题目:输入一串字符,由(){}[]组成,判断是否所有的括号都是闭括号,是的返回TRUE,不是返回FALSE. /*输入字符串,拆解为字符数组 * 用函数s.charAt(i)来完成 * * */imp ...