MiraData:一个具有长时间视频和结构化字幕的大规模视频数据集
Xuan Ju1*, Yiming Gao1*, Zhaoyang Zhang1*#, Ziyang Yuan1, Xintao Wang1, Ailing Zeng, Yu Xiong, Qiang Xu, Ying Shan1
1腾讯PCG ARC实验室 2香港中文大学 *同等贡献 #项目负责人
简介
视频数据集在视频生成(如Sora)中起着至关重要的作用。然而,现有的文本-视频数据集在处理长视频序列和捕捉镜头转换方面往往存在不足。为了解决这些限制,我们推出了MiraData,这是一个专为长视频生成任务设计的视频数据集。此外,为了更好地评估视频生成中的时间一致性和运动强度,我们引入了MiraBench,它通过增加3D一致性和基于跟踪的运动强度指标来增强现有的基准。您可以在我们的研究论文中找到更多详细信息。
MiraData的主要特点
- 长视频时长:与以往的数据集不同,其中视频片段通常很短(通常不到20秒),MiraData专注于未剪辑的视频段,平均时长为72秒。这种延长的时长允许对视频内容进行更全面的建模。
- 结构化字幕:MiraData中的每个视频都配有结构化字幕。这些字幕从各个角度提供详细描述,增强了数据集的丰富性。平均字幕长度为318个单词,确保了对视频内容的全面表述。
数据集
元文件
我们发布了四个版本的MiraData,分别包含330K、93K、42K、9K数据。
此版本MiraData的元文件可在Google Drive和HuggingFace数据集中获取。此外,为了更好更快地理解我们的元文件组成,我们随机抽样了100个视频片段的集合,可以在这里访问。元文件包含以下索引信息:
- clip_id:视频片段索引,由
{download_id}.{clip_id}
组成 - source:视频下载来源和类别
- video_url:视频源URL
- video_id:源网站中的视频ID
- width:视频宽度
- height:视频高度
- fps:用于提取帧的视频帧率
- seconds:视频片段的时长
- timestamp:源视频中的片段开始和结束时间戳(用于从源视频中剪切视频片段)
- frame_number:视频片段的帧数
- framestamp:源视频中的片段开始和结束帧
- file_path:存储视频片段的文件路径
- short_caption:简短的整体字幕
- dense_caption:详细的整体字幕
- background_caption:视频背景的字幕
- main_object_caption:视频中主要对象的字幕
- style_caption:视频风格的字幕
- camera_caption:相机移动的字幕
下载
要下载视频并将其分割成片段,首先从Google Drive或HuggingFace数据集下载元文件。获得元文件后,您可以使用以下脚本下载视频样本:
python download_data.py --meta_csv {元文件} --download_start_id {下载ID的开始} --download_end_id {下载ID的结束} --raw_video_save_dir {保存原始视频的路径} --clip_video_save_dir {保存剪切视频的路径}
如果您需要,我们将从我们的数据集/Github/项目网页中删除视频样本。请联系我们提出请求。
收集和标注
为了收集MiraData,我们首先手动选择不同场景的YouTube频道,并包括来自HD-VILA-100M、Videovo、Pixabay和Pexels的视频。然后,下载相应频道中的所有视频,并使用PySceneDetect进行分割。我们随后使用多个模型将短片段拼接在一起,并过滤掉低质量的视频。接着,我们选择了长时间的视频片段。最后,我们使用GPT-4V为所有视频片段添加字幕。
结构化字幕
MiraData中的每个视频都配有结构化字幕。这些字幕从各个角度提供详细描述,增强了数据集的丰富性。
六种类型的字幕
- 主要对象描述:描述视频中的主要对象或主题,包括其属性、动作、位置和整个视频中的移动。
- 背景:提供环境或场景的上下文,包括物体、地点、天气和时间。
- 风格:涵盖艺术风格、视觉和摄影方面,如写实、赛博朋克和电影风格。
- 镜头移动:详述任何摄像机平移、变焦或其他移动。
- 简短标题:使用Panda-70M标题模型生成的简洁摘要,捕捉视频的精髓。
- 详细描述:更加详尽的描述,总结上述五种类型的标题。
使用GPT-4V生成标题
我们测试了现有的开源视觉语言模型方法和GPT-4V,发现GPT-4V的标题在时间序列的语义理解方面表现出更好的准确性和连贯性。
为了平衡标注成本和标题准确性,我们对每个视频均匀采样8帧,并将它们排列成2x4网格的一张大图像。然后,我们使用Panda-70M的标题模型为每个视频标注一句话标题,作为主要内容的提示,并将其输入我们微调的提示中。通过将微调的提示和2x4大图像输入GPT-4V,我们可以在一轮对话中高效输出多个维度的标题。具体提示内容可以在caption_gpt4v.py中找到,我们欢迎大家为更高质量的文本-视频数据做出贡献。:raised_hands:
基准测试 - MiraBench
为了评估长视频生成,我们在MiraBench中从6个角度设计了17个评估指标,包括时间一致性、时间运动强度、3D一致性、视觉质量、文本-视频对齐和分布一致性。这些指标涵盖了之前视频生成模型和文本到视频基准测试中使用的大多数常见评估标准。
要评估生成的视频,请首先通过以下方式设置Python环境:
pip install torch==1.12.1+cu116 torchvision==0.13.1+cu116 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu116
pip install -r requirements.txt
然后,通过以下方式运行评估:
python calculate_score.py --meta_file data/evaluation_example/meta_generated.csv --frame_dir data/evaluation_example/frames_generated --gt_meta_file data/evaluation_example/meta_gt.csv --gt_frame_dir data/evaluation_example/frames_gt --output_folder data/evaluation_example/results --ckpt_path data/ckpt --device cuda
您可以按照data/evaluation_example
中的示例来评估您自己生成的视频。
许可协议
请查看LICENSE。
- MiraData数据集仅供参考。版权归视频原始所有者所有。
- MiraData数据集的所有视频均来自互联网,不属于我们机构的财产。我们机构不对这些视频的内容或含义负责。
- 您同意不以任何商业目的复制、复制、复印、出售、交易、转售或利用视频的任何部分和任何衍生数据的任何部分。您同意不进一步复制、发布或分发MiraData数据集的任何部分。
引用
如果您发现这个项目对您的研究有用,请引用我们的论文。:blush:
@misc{ju2024miradatalargescalevideodataset,
title={MiraData: A Large-Scale Video Dataset with Long Durations and Structured Captions},
author={Xuan Ju and Yiming Gao and Zhaoyang Zhang and Ziyang Yuan and Xintao Wang and Ailing Zeng and Yu Xiong and Qiang Xu and Ying Shan},
year={2024},
eprint={2407.06358},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2407.06358},
}
联系信息
如有任何疑问,请发送电子邮件至mira-x@googlegroups.com
。
许可
MiraData遵循GPL-v3许可,并支持商业用途。如果您需要YOLO-World的商业许可,请随时与我们联系。