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

该文介绍了UCF101视频数据集的预处理步骤,包括根据trainlist01.txt和testlist01.txt划分训练集和测试集,并详细阐述了如何使用python的shutil库进行文件操作。此外,还提到了利用ffmpeg将视频提取为图像的处理流程,以供后续行为识别任务使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

行为识别(一):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目录下


                
要进行行为识别C3D训练自己的数据集,首先需要进行以下步骤: 1. 准备数据集:根据您的需求,收集并准备合适的训练数据集。可以使用视频数据来进行训练,常见的视频行为识别数据库包括UCF101、HMDB-51、Something-Something V2、AVA v2.2、Kinetic-700等[2]。UCF101是分类任务,而AVA v2.2是检测任务。您可以选择合适的数据库或根据您的需求自行收集视频数据。 2. 数据预处理:对于C3D训练,需要对数据进行预处理。根据引用中提供的信息,UCF101数据集视频文件已经按照类别存放于不同的文件夹下。您可以按照自己的数据集的组织方式进行调整。此外,还可以对视频进行剪辑、采样和调整分辨率等操作,以适应模型的输入要求。 3. 划分训练集和测试集:根据您的需要,将数据集划分为训练集和测试集。可以使用已有的数据集划分方式,例如UCF101数据集的trainlist和testlist文件,或者根据您的需求自行划分。 4. 准备标签文件:为训练数据集准备标签文件,标明每个视频的类别或动作。可以参考已有的标签文件,例如UCF101数据集的classInd.txt文件。 5. 配置环境:确保您已经正确配置了C3D行为识别模型的训练环境。这包括安装必要的依赖库和框架,并配置好GPU加速等。 6. 训练模型:使用C3D模型对准备好的数据集进行训练。可以根据已有的代码或框架进行训练,例如使用C3D模型在PyTorch框架下进行训练。您可以参考引用中提供的相关项目下载和复现的信息。 总结起来,要进行行为识别C3D训练自己的数据集,您需要准备合适的数据集,进行数据预处理,划分训练集和测试集,准备标签文件,配置环境,然后使用C3D模型对数据集进行训练。以上是个基本的步骤,具体的实施细节还需根据您的具体需求和环境进行调整。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值