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

Posted 计算机视觉-杨帆

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了08mmaction2 行为识别商用级别自定义ava数据集 之 将视频裁剪为帧相关的知识,希望对你有一定的参考价值。

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来检测人

!!!等论文发布后公开 !!!!05【mmaction2 行为识别商用级别】slowfast 与 yolov5融合(即检测部分使用yolov5)

!!!等论文发布后公开 !!!!06【mmaction2 行为识别商用级别】slowfast 与 yolov5与deepsort融合(即追踪部分使用deepsort)

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

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

前言

自定义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" ]]; then
  echo "$OUT_DATA_DIR doesn't exist. Creating it.";
  mkdir -p $OUT_DATA_DIR
fi

for video in $(ls -A1 -U $IN_DATA_DIR/*)
do
  video_name=$video##*/

  if [[ $video_name = *".webm" ]]; then
    video_name=$video_name::-5
  else
    video_name=$video_name::-4
  fi

  out_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  每秒裁剪多少帧图片


以上是关于08mmaction2 行为识别商用级别自定义ava数据集 之 将视频裁剪为帧的主要内容,如果未能解决你的问题,请参考以下文章

mmaction2 slowfast 行为分析(商用级别)总目录

待完善 03mmaction2 slowfast 行为分析(商用级别)训练自定义ava数据集

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

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

mmaction2 slowfast 行为分析(商用级别)ava自定义数据集 1

00mmaction2 行为识别商用级别快速搭建mmaction2 pytorch 1.6.0与 pytorch 1.8.0 版本,faster rcnn 与 slowfast