C3D行为识别(一):UCF101视频数据集预处理

这篇具有很好参考价值的文章主要介绍了C3D行为识别(一):UCF101视频数据集预处理。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

行为识别(一):UCF101视频数据集预处理

1 数据集介绍

基于视频的行为识别常见的数据库有UCF101、HMDB-51、Something-Something V2、AVA v2.2、Kinetic-700等。其中UCF101的标记方式是针对一段视频做一个类别的标记,AVA v2.2的标记共包含五个部分,video_id(视频名称)、middle_Frame_timestam(关键帧位置)、person_box(视频中人物的边界框)、action_id(动作类别)、person_id(bbox中人物编号)。UCF101是分类的任务,而AVA v2.2针对的是检测的任务,更多对AVA v2.2数据集的详细解析可以点击这里。

1.1 UCF101

本文选用的行为识别数据集为UFC101。

UCF数据集包含两个压缩文件,UCF101.rar和UCF101TrainTestSplits-RecognitionTask.zip,前者将不同类别的视频存放于不同的文件夹下,后者存放UCF101数据集的3种训练集与测试集划分方式以及标签文件。其中testlist01.txt和trainlist01.txt对应第一种划分方式。

`-- ucfTrainTestlist
    |-- classInd.txt
    |-- testlist01.txt
    |-- testlist02.txt
    |-- testlist03.txt
    |-- trainlist01.txt
    |-- trainlist02.txt
    `-- trainlist03.txt

1 directory, 7 files
  • 内含13320 个短视频
  • 视频来源:YouTube
  • 视频类别:101 种
  • 主要包括这5大类动作 :人和物体交互,只有肢体动作,人与人交互,玩音乐器材,各类运动
  • 分辨率:320*240

2 UCF101预处理

2.1 划分train_set和test_set

目的:将UCF101划分为以下存储结构方式(使用trainlist01.txt和testlist01.txt进行划分)

.
`-- dataset
    |-- test
    |   |-- class1
    |   |   |-- 01.mp4
    |   |   |-- 02.mp4
    |   |   |-- 03.mp4
    |   |   `-- 04.mp4
    |   |-- class2
    |   |   |-- 01.mp4
    |   |   |-- 02.mp4
    |   |   |-- 03.mp4
    |   |   `-- 04.mp4
    |   |-- class3
    |   |   |-- 01.mp4
    |   |   |-- 02.mp4
    |   |   |-- 03.mp4
    |   |   `-- 04.mp4
    |   `-- class4
    |       |-- 01.mp4
    |       |-- 02.mp4
    |       |-- 03.mp4
    |       `-- 04.mp4
    `-- train
        |-- class1
        |   |-- 01.mp4
        |   |-- 02.mp4
        |   |-- 03.mp4
        |   `-- 04.mp4
        |-- class2
        |   |-- 01.mp4
        |   |-- 02.mp4
        |   |-- 03.mp4
        |   `-- 04.mp4
        |-- class3
        |   |-- 01.mp4
        |   |-- 02.mp4
        |   |-- 03.mp4
        |   `-- 04.mp4
        `-- class4
            |-- 01.mp4
            |-- 02.mp4
            |-- 03.mp4
            `-- 04.mp4

使用到的工具为shutil,环境为python,工具pip安装命令为

pip install pytest-shutil

python程序如下,程序的设计思想是先将testlist01中的文件移到“dataset/test/”路径下,再将剩下的文件夹重命名为“train”后移到dataset目录下

import shutil
import os

test_src_path = "T:/Dataset/UCF101/UCF-101/"
test_dest_path = "T:/Dataset/UCF101/dataset/test/"
train_src_path = "T:Dataset/UCF101/UCF-101/"
train_src_path_rename = "T:/Dataset/UCF101/train"
train_dest_path = "T:/Dataset/UCF101/dataset/"
# move testlist
with open("./UCF101TrainTestSplits/testlist01.txt", encoding='utf-8') as f:
    test_video_paths = f.readlines()
test_video_paths = [c.strip() for c in test_video_paths]  # 去掉换行符

for test_video_path in test_video_paths:
    if not os.path.exists(os.path.join(test_dest_path, test_video_path[:-4])):
        os.makedirs(os.path.join(test_dest_path, test_video_path[:-4]))
        os.rmdir(os.path.join(test_dest_path, test_video_path[:-4]))
    shutil.move(os.path.join(test_src_path, test_video_path), os.path.join(test_dest_path, test_video_path))

# move trainlist
os.rename(train_src_path, train_src_path_rename)
shutil.move(train_src_path_rename, train_dest_path)

2.2 将视频提取为图像

工具:ffmpeg
ffmpeg下载地址:https://ffmpeg.org/download.html

压缩ffmpeg-release-essentials.zip到指定目录,进入bin目录,里面有三个文件

ffmpeg.exe
ffplay.exe
ffprobe.exe

将这三个文件的路径放到conda创建的python环境中,和pythonw.exe在同一个路径,然后打开控制台激活这个python环境,输入ffmpeg -h命令查看帮助

脚本(extract_frames.sh):

IN_DATA_DIR="./dataset"
OUT_DATA_DIR="./UCF101_frames"

if [[ ! -d "${OUT_DATA_DIR}" ]]; then
  echo "${OUT_DATA_DIR} doesn't exist. Creating it.";
  mkdir -p ${OUT_DATA_DIR}
fi

for dir1 in $(ls -A1 -U ${IN_DATA_DIR})
do
	for dir2 in $(ls -A1 -U ${IN_DATA_DIR}/${dir1})
	do
		for video in $(ls -A1 -U ${IN_DATA_DIR}/${dir1}/${dir2})
		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}/${dir1}/${dir2}/${video_name}/
  			mkdir -p "${out_video_dir}"

  			out_name="${out_video_dir}/${video_name}_%06d.jpg"

  			ffmpeg -i "${IN_DATA_DIR}/${dir1}/${dir2}/${video}"  "${out_name}"
		done
	done
done

将脚本放在dataset同一级目录下,然后在安装有ffmpeg的conda环境下bash执行文章来源地址https://www.toymoban.com/news/detail-423744.html

./extract_frames.sh

到了这里,关于C3D行为识别(一):UCF101视频数据集预处理的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 有关高效的视频行为识别架构设计

    [1] TSM [2] STM: SpatioTemporal and Motion Encoding for Action Recognition [3] TEA: Temporal Excitation and Aggregation for Action Recognition STM是并行的channel-wise空时模块+channel-wise运动激励模块 TEA是串行的运动激励+多时序聚合 [4] TEINet: Towards an Efficient Architecture for Video Recognition TEINet和TEA的运动激励模块基

    2023年04月09日
    浏览(35)
  • MMAction2-视频理解、行为识别(学习笔记-附代码实操)

    行为识别,时序检测,时空检测三种任务的联系 对于视频的理解 视频 = 空间 + 时间:图像为二维空间,视频是三维,视频相对于图像多出来的维度就是时间维度。 视频理解的重点 重点1:如何描述视频中的动作 ? 动作 = 外观 + 运动。外观是静态的,是图像帧。运动是动态的

    2023年04月09日
    浏览(55)
  • 【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割7(数据预处理)

    在上一节:【3D 图像分割】基于 Pytorch 的 VNet 3D 图像分割6(数据预处理) 中,我们已经得到了与 mhd 图像同 seriesUID 名称的 mask nrrd 数据文件了,可以说是一一对应了。 并且, mask 的文件,还根据结节被多少人同时标注,区分成了4个文件夹,分别是标注了一、二、三、四次,

    2024年02月07日
    浏览(52)
  • 基于Yolov5+Deepsort+SlowFast算法实现视频目标识别、追踪与行为实时检测

    前段时间打算做一个目标行为检测的项目,翻阅了大量资料,也借鉴了不少项目,最终感觉Yolov5+Deepsort+Slowfast实现实时动作检测这个项目不错,因此进行了实现。 总的来说,我们需要能够实现实时检测视频中的人物,并且能够识别目标的动作,所以我们拆解需求后,整理核心

    2024年01月20日
    浏览(68)
  • mmdetection3d SUN RGB-D数据集预处理

    本文为博主原创文章,未经博主允许不得转载。 本文为专栏《python三维点云从基础到深度学习》系列文章,地址为“https://blog.csdn.net/suiyingy/article/details/124017716”。         SUN RGB-D是普林斯顿大学发布的一种关于室内场景理解的数据集,共包含了10335个样本,其中训练样本

    2023年04月15日
    浏览(47)
  • 【3D 图像分割】基于 Pytorch 的 3D 图像分割6(数据预处理之LIDC-IDRI 标签 xml 标签转储及标记次数统计 )

    由于之前哔站作者整理的 LUNA16 数据处理方式过于的繁琐,于是,本文就对 LUNA16 数据做一个新的整理,最终得到的数据和形式是差不多的。但是,主要不同的是代码逻辑比较的简单,便于理解。 对于 LUNA16 数据集的学习,可以去参考这里:【3D 图像分类】基于 Pytorch 的 3D 立

    2024年02月04日
    浏览(52)
  • 如何基于香橙派AIpro对视频/图像数据进行预处理

    本文分享自华为云社区《如何基于香橙派AIpro对视频/图像数据进行预处理》,作者: 昇腾CANN。 受网络结构和训练方式等因素的影响,绝大多数神经网络模型对输入数据都有格式上的限制。在计算机视觉领域,这个限制大多体现在图像的尺寸、色域、归一化参数等。如果源图

    2024年04月22日
    浏览(52)
  • 【ACDC数据集】:预处理ACDC心脏3D MRI影像数据集到VOC数据集格式,nii转为jpg,label转为png

    【Segment Anything Model】做分割的专栏链接,欢迎来学习。 【博主微信】cvxiaoyixiao 本专栏为公开数据集的介绍和预处理,持续更新中。 跟我要处理好的数据集的,我都给了。请自行注意检查数据集是否是你想要的,我只处理了原数据集的第一部分 也就是frame01部分。并且测试集

    2024年02月08日
    浏览(43)
  • Air101|Air103|Air105|Air780E|ESP32C3|ESP32S3|Air32F103开发板:概述及PinOut

    目录 1、合宙Air101 固件编译可参考: PinOut(V2.1092400): 管脚映射表 PinOut(V2.1091800): 2、Air103 最新固件下载: 固件编译可参考: PinOut(V3.21112201): 管脚映射表 资料链接 PinOut(V4.21121301): 3、合宙Air105 固件编译可参考: 管脚详细信息 PinOut(V2.22050801) 4、Air780E 固件编译可

    2023年04月08日
    浏览(40)
  • Python——基于pytorch的3D视频动作识别

            pytorch初接触——唐宇迪教教程的3D卷积视频动作识别。接触之后,发现pytorch比tensorflow的用户体验要好一点点,TF由于兼容性问题,从其他地方拿到代码,第一感觉就是跑不起来,很多代码都是基于TF1.x写的,跟2.x一堆不兼容问题。由此开始研究pytorch,后面用的顺手

    2023年04月08日
    浏览(36)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包