github(新版):https://github.com/Whiffe/mmaction2_YF
码云(新版):https://gitee.com/YFwinston/mmaction2_YF.git
github(老版本):https://github.com/Whiffe/YF-OpenLib-mmaction2
码云(老版本):https://gitee.com/YFwinston/YF-OpenLib-mmaction2.git
mmaction2 官网:https://github.com/open-mmlab/mmaction2
平台:极链AI
b站:https://www.bilibili.com/video/BV1tb4y1b7cy#reply5831466042

之前的mmaction2项目:【mmaction2 slowfast 行为分析(商用级别)】总目录

本系列的链接

00【mmaction2 行为识别商用级别】快速搭建mmaction2 pytorch 1.6.0与 pytorch 1.8.0 版本

03【mmaction2 行为识别商用级别】使用mmaction搭建faster rcnn批量检测图片输出为via格式

04【mmaction2 行为识别商用级别】slowfast检测算法使用yolov3来检测人

08【mmaction2 行为识别商用级别】自定义ava数据集 之 将视频裁剪为帧

12【mmaction2 行为识别商用级别】X3D复现 demo实现 检测自己的视频 Expanding Architecturesfor Efficient Video Recognition

目录

  • 本系列的链接
  • 前言
  • 一,准备好视频
  • 二,裁剪视频代码
  • 三,安装ffmpeg
  • 三,执行代码与结果

前言

自定义ava数据集是一个较大的部分,我会分为多节来写,这次先写第一步,就是将视频裁剪为帧,但是有些规则必须遵守,不然在训练就会出问题。

一,准备好视频

将视频存放在一个文件夹(video)中,然后对视频进行有规律的取名(自定义)

二,裁剪视频代码

下面的代码位于(老版 新版的github项目我都做了上传,都是一样的):
老版 https://github.com/Whiffe/YF-OpenLib-mmaction2/blob/main/demo/video2frames.sh
新版 https://github.com/Whiffe/mmaction2_YF/tree/main/demo

video2frames.sh

IN_DATA_DIR=$1 #这里传入输入视频的路径
OUT_DATA_DIR=$2 #这里传入输出视频的路径
#IN_DATA_DIR="../../data/ava/videos_15min"
#OUT_DATA_DIR="../../data/ava/frames"if [[ ! -d "${OUT_DATA_DIR}" ]]; thenecho "${OUT_DATA_DIR} doesn't exist. Creating it.";mkdir -p ${OUT_DATA_DIR}
fifor video in $(ls -A1 -U ${IN_DATA_DIR}/*)
dovideo_name=${video##*/}if [[ $video_name = *".webm" ]]; thenvideo_name=${video_name::-5}elsevideo_name=${video_name::-4}fiout_video_dir=${OUT_DATA_DIR}/${video_name}/mkdir -p "${out_video_dir}"out_name="${out_video_dir}/${video_name}_%06d.jpg"ffmpeg -i "${video}" -r 30 -q:v 1 "${out_name}"
done

其中 ffmpeg -i "${video}" -r 30 -q:v 1 "${out_name}"
30代表1秒钟裁剪30帧,这是mmaction2官方用的参数,一般都是一秒裁剪30帧。

这一行out_name="${out_video_dir}/${video_name}_%06d.jpg" 代表视频帧的命名格式

三,安装ffmpeg

安装ffmpeg,如果权限不够,前面加入(sudo)

add-apt-repository ppa:djcj/hybrid
apt-get update
apt-get install ffmpeg -y

参考:https://blog.csdn.net/lwgkzl/article/details/77836207

三,执行代码与结果

将视频裁剪为视频帧:

bash ./demo/video2frames.sh /user-data/mmactionVideo/video /user-data/mmactionVideo/frames 1
# 第一个参数:/user-data/mmactionVideo/video  输入视频的路径
# 第二个参数:/user-data/mmactionVideo/frames 输出视频的路径
# 第三个参数:1  每秒裁剪多少帧图片


08【mmaction2 行为识别商用级别】自定义ava数据集 之 将视频裁剪为帧相关推荐

  1. 12【mmaction2 行为识别商用级别】X3D复现 demo实现 检测自己的视频 Expanding Architecturesfor Efficient Video Recognition

    github(新版):https://github.com/Whiffe/mmaction2_YF 码云(新版):https://gitee.com/YFwinston/mmaction2_YF.gi ...

  2. 自定义ava数据集及训练与测试 完整版 时空动作/行为 视频数据集制作 yolov5, deep sort, VIA MMAction, SlowFast

    前言 这一篇博客应该是我花时间最多的一次了,从2022年1月底至2022年4月底. 我已经将这篇博客的内容写为论文,上传至arxiv:https://arxiv.org/pdf/2204.10160. ...

  3. 自定义AVA数据集,多人视频的时空动作数据集标注方法

    1.AI平台与项目下载 AI平台:极链云 实例镜像:Pytorch 1.8.0,python 3.8,CUDA 11.1.1 项目下载:码云 AI平台上执行: cd /home git clone h ...

  4. 自定义AVA数据集流程及在SlowFast中训练

    目录 前言 一,视频的处理 1.1视频准备 1.2切割视频为图片 二.数据集文件 2.1数据集文件总览 2.2annotations 2.2.1ava_train_v2.2.csv 2.2.2ava_ ...

  5. 京东猪脸识别比赛数据预处理:用Python将视频每一帧提取存储为图片

    最近参加京东的猪脸识别比赛,训练集是30个视频,需要将视频的每一帧提取出来存储为图片,存入对应的文件夹(分类标签). 本例是直接调用了cv2 模块中的 VideoCapture.一次运行,大概10分钟 ...

  6. MMaction2中自定义AVA数据集(在window上实现)

    针对视频处理和数据集文件--在window上操作 一.视频的处理 1.1ffmpeg安装 1.1.1ffmpeg环境变量的配置 1.2视频准备 1.3git安装 1.4切割视频 1.5在window中 ...

  7. 【mmaction2 slowfast 行为分析(商用级别)】总目录

    B站讲解视频 01[mmaction2 slowfast 行为分析(商用级别)]项目下载 02[mmaction2 slowfast 行为分析(商用级别)]项目demo搭建 03[mmaction2 ...

  8. 【ava数据集可视化】ava数据集ID可视化 A Video Dataset of Spatio-temporally Localized Atomic Visual Actions

    github mmaction2 官网:https://github.com/open-mmlab/mmaction2 github mmaction2 ava数据集制作流程:https://gith ...

  9. AVA数据集论文1705.08421部分翻译

    AVA数据集论文1705.08421部分翻译 0 Abstract 1 Introduction 3 Data Collection 3.1 Action vocabulary generation ...

最新文章

  1. 如何开发一个属于自己的小程序
  2. 乡村要振兴,快递先进村?
  3. cmd命令【实施工程师技能】
  4. Leetcode每日一题:127.word-ladder(单词接龙)
  5. Rust 语言本身的问题
  6. 新商业模式 私下销售 Private Sales Gilt Groupe年营收1.5亿
  7. BZOJ1938: [CROATIAN2010] ALADIN
  8. 【BZOJ 1036】树的统计【树链剖分模板】
  9. TCP/IP概念及基础网络配置
  10. ARM体系结构与编程(一)
  11. 惠普打印机驱动服务器系统安装步骤,Win8.1安装惠普打印机驱动程序的两种方法...
  12. Tims中国上市背后:以新流派打法,“开源”咖啡市场
  13. HTTP 状态码,404,301,505网络状态码详细说明
  14. Zabbix监控流量异常(偶尔超出交换机限制)
  15. 全球疫情形势动态地图展示(超帅超好玩的python动图)
  16. rabbitmq java 重连_RabbitMQ Java客户端自动重新连接
  17. led手电筒烧灯珠_LED手电筒不亮了如何进行维修
  18. JS延时函数,格1秒触发
  19. 敬自由:破壁人华为,开启PC的无界探索
  20. Android问题:java.lang.UnsatisfiedLinkError: No implementation found for异常解决方法

热门文章

  1. 避免重要数据泄露的8种方式
  2. 信号能量密度公式_信号时频分析方法汇总
  3. css 控制文字位置
  4. 中国饮料碳化设备市场趋势报告、技术动态创新及市场预测
  5. X加波浪线、横线、一点、尖尖读法
  6. 闻道有先后,术业有专攻
  7. 记录,太坑了,深度学习显卡损坏原来是这样子的。
  8. P2P网络中的节点发现
  9. eslint 换行_预计的换行符是apos;LFapos;,但在Eslint中使用gulp发现apos;CRLFapos;换行符 Dovov编程网...
  10. 国外问卷调查是真的么?