Hub 文档
视频数据集
并获得增强的文档体验
开始使用
视频数据集
本指南将向您展示如何配置包含视频文件的数据集存储库。
具有受支持结构和文件格式的数据集在其 Hub 页面上会自动拥有数据集查看器。
只要您在元数据文件(metadata.csv
/metadata.jsonl
/metadata.parquet
)中包含这些信息,视频的其他信息(如字幕或用于对象检测的边界框)将自动加载。
此外,视频可以采用 Parquet 文件或遵循 WebDataset 格式的 TAR 归档文件。
仅视频
如果您的数据集只包含一列视频,您可以直接将视频文件存储在根目录下
my_dataset_repository/ ├── 1.mp4 ├── 2.mp4 ├── 3.mp4 └── 4.mp4
或子目录中
my_dataset_repository/ └── videos ├── 1.mp4 ├── 2.mp4 ├── 3.mp4 └── 4.mp4
同时支持多种格式,包括 MP4、MOV 和 AVI。
my_dataset_repository/
└── videos
├── 1.mp4
├── 2.mov
└── 3.avi
如果您有多个分片,您可以将视频放入相应的目录中
my_dataset_repository/ ├── train │ ├── 1.mp4 │ └── 2.mp4 └── test ├── 3.mp4 └── 4.mp4
有关更多信息和按拆分组织数据的其他方法,请参阅文件名和拆分。
附加列
如果您想包含关于数据集的其他信息,例如文本字幕或边界框,请将其作为 metadata.csv
文件添加到您的存储库中。这使您可以快速创建用于不同计算机视觉任务(如 视频生成 或 对象检测)的数据集。
my_dataset_repository/ └── train ├── 1.mp4 ├── 2.mp4 ├── 3.mp4 ├── 4.mp4 └── metadata.csv
您的 metadata.csv
文件必须有一个 file_name
列,用于将视频文件与其元数据关联起来
file_name,text
1.mp4,an animation of a green pokemon with red eyes
2.mp4,a short video of a green and yellow toy with a red nose
3.mp4,a red and white ball shows an angry look on its face
4.mp4,a cartoon ball is smiling
您也可以使用JSONL文件 `metadata.jsonl`
{"file_name": "1.mp4","text": "an animation of a green pokemon with red eyes"}
{"file_name": "2.mp4","text": "a short video of a green and yellow toy with a red nose"}
{"file_name": "3.mp4","text": "a red and white ball shows an angry look on its face"}
{"file_name": "4.mp4","text": "a cartoon ball is smiling"}
对于更大的数据集,或者如果您对高级数据检索功能感兴趣,可以使用Parquet文件 `metadata.parquet`。
相对路径
元数据文件必须与链接的视频位于同一目录中,或位于任何父目录中,如本例所示
my_dataset_repository/ └── train ├── videos │ ├── 1.mp4 │ ├── 2.mp4 │ ├── 3.mp4 │ └── 4.mp4 └── metadata.csv
在这种情况下,file_name
列必须是视频的完整相对路径,而不仅仅是文件名
file_name,text
videos/1.mp4,an animation of a green pokemon with red eyes
videos/2.mp4,a short video of a green and yellow toy with a red nose
videos/3.mp4,a red and white ball shows an angry look on its face
videos/4.mp4,a cartoon ball is smiling
元数据文件不能放在包含视频的目录的子目录中。
更一般地,任何名为 file_name
或 *_file_name
的列都应包含视频的完整相对路径。
视频分类
对于视频分类数据集,您还可以使用一个简单的设置:使用目录来命名视频类别。将您的视频文件存储在这样的目录结构中
my_dataset_repository/ ├── green │ ├── 1.mp4 │ └── 2.mp4 └── red ├── 3.mp4 └── 4.mp4
使用此结构创建的数据集包含两列:video
和 label
(值为 green
和 red
)。
您还可以提供多个拆分。为此,您的数据集目录应具有以下结构(有关更多信息,请参阅文件名和拆分)
my_dataset_repository/
├── test
│ ├── green
│ │ └── 2.mp4
│ └── red
│ └── 4.mp4
└── train
├── green
│ └── 1.mp4
└── red
└── 3.mp4
您可以在YAML 配置中禁用 `label` 列的自动添加。如果您的目录名没有特殊含义,请在 README 标头中设置 `drop_labels: true`
configs:
- config_name: default # Name of the dataset subset, if applicable.
drop_labels: true
大规模数据集
WebDataset 格式
WebDataset 格式非常适合大规模视频数据集。它由包含视频及其元数据的 TAR 归档文件组成,并针对流式传输进行了优化。如果您有大量视频并希望为大规模训练获取流式数据加载器,它将非常有用。
my_dataset_repository/
├── train-0000.tar
├── train-0001.tar
├── ...
└── train-1023.tar
要制作 WebDataset TAR 归档文件,请创建一个包含要归档的视频和元数据文件的目录,然后使用例如 tar
命令创建 TAR 归档文件。每个归档文件的通常大小约为 1GB。确保每个视频和元数据对共享相同的文件前缀,例如
train-0000/
├── 000.mp4
├── 000.json
├── 001.mp4
├── 001.json
├── ...
├── 999.mp4
└── 999.json
请注意,为了方便用户并启用 数据集查看器,Hub 中托管的每个数据集都会自动转换为 Parquet 格式,最大可达 5GB。由于视频可能非常大,因此视频的 URL 存储在转换后的 Parquet 数据中,而不包含视频字节本身。请参阅 Parquet 格式 文档以了解更多信息。
< > 在 GitHub 上更新