为视频生成构建出色的数据集
用于图像生成数据集的工具已经非常成熟,其中
img2dataset
是用于大规模数据集准备的基础工具,并辅以各种社区指南、脚本和 UI,涵盖了小规模的应用场景。
我们的目标是通过创建适合小规模应用的开放视频数据集脚本,并利用 video2dataset
进行大规模用例处理,使视频生成数据集的工具同样成熟。
“如果说我看得更远,那是因为我站在巨人的肩膀上。”
在这篇文章中,我们概述了正在开发的工具,旨在让社区能轻松构建自己的数据集,用于微调视频生成模型。如果您已迫不及待想开始,欢迎您在此查看我们的代码库。
目录
工具
通常,视频生成是基于自然语言文本提示的,例如:“一只猫在草地上行走,写实风格”。然后在视频中,有一些用于可控性和筛选的定性方面,如下所示:
- 动作
- 美学
- 水印存在与否
- 不适宜内容 (NSFW) 存在与否
视频生成模型的质量取决于其训练数据。因此,在整理用于训练/微调的数据集时,这些方面变得至关重要。
我们的三阶段流程借鉴了 Stable Video Diffusion、LTX-Video 等作品及其数据流程的灵感。
阶段一 (采集)
和 video2dataset
一样,我们选择使用 yt-dlp
下载视频。
我们创建了一个 视频转场景
脚本,将长视频分割成短片段。
阶段二 (预处理/筛选)
提取的帧
- 使用 LAION-5B-WatermarkDetection 检测水印
- 使用 improved-aesthetic-predictor 预测美学分数
- 使用 Falconsai/nsfw_image_detection 检测不适宜内容 (NSFW)
整个视频
- 使用 OpenCV 预测动作分数
阶段三 (处理)
Florence-2 microsoft/Florence-2-large
用于在提取的帧上运行 Florence-2 任务,包括 <CAPTION>
、<DETAILED_CAPTION>
、<DENSE_REGION_CAPTION>
和 <OCR_WITH_REGION>
。这提供了不同的字幕、对象识别和 OCR,可用于各种方式的筛选。
在这方面,我们可以引入任何其他的字幕生成器。我们也可以为整个视频生成字幕 (例如,使用像 Qwen2.5 这样的模型),而不是为单个帧生成字幕。
筛选示例
在 finetrainers/crush-smol-v0
模型所用的数据集中,我们选择了 Qwen2VL 生成的字幕,并根据 pwatermark < 0.1
和 aesthetic > 5.5
进行了筛选。这种高度严格的筛选最终从 1493 个视频中选出了 47 个。
让我们回顾一下 pwatermark
的示例帧 -
两个带文字的帧得分分别为 0.69 和 0.61
“装满老鼠的玩具车”在被压碎前得分为 0.60,压碎后降至 0.17。
所有示例帧都通过 pwatermark < 0.1
进行了筛选。pwatermark
在检测文本/水印方面很有效,但分数并不能表明它是文本叠加还是玩具车的牌照。我们的筛选要求所有分数都低于阈值,而对帧求平均值并设置 0.2 - 0.3 左右的阈值,对于 pwatermark
来说可能是更有效的策略。
让我们回顾一下美学分数的示例帧 -
粉色城堡最初得分为 5.5,被压碎后降至 4.44
动作人偶的得分较低,为 4.99,被压碎后降至 4.84。
玻璃碎片得分很低,为 4.04
在我们的筛选中,我们要求所有分数都低于阈值,但在这种情况下,仅使用第一帧的美学分数可能会是更有效的策略。
如果我们查看 finetrainers/crush-smol
,我们可以注意到许多被压碎的物体都是圆形或矩形且色彩鲜艳,这与我们在示例帧中的发现相似。美学分数可能很有用,但它存在偏见,当使用像 > 5.5 这样的极端阈值时,可能会过滤掉好的数据。它可能更适合用作过滤不良内容的工具,最低阈值设置在 4.25 - 4.5 左右。
OCR/字幕
在这里,我们为每个过滤器提供了一些视觉示例,以及来自 Florence-2 的字幕。
图像 | 字幕 | 详细字幕 |
---|---|---|
![]() |
一辆装满老鼠的玩具车。 | 图片显示一辆蓝色玩具车,三只白老鼠坐在车后部,车子沿着一条路行驶,背景是一堵绿色的墙。 |
带 OCR 标签 | 带 OCR 和区域标签 |
---|---|
![]() |
![]() |
运用这些工具 👨🍳
我们利用这些工具创建了各种数据集,试图生成炫酷的视频效果,类似于 Pika Effects
然后,我们使用这些数据集,通过 finetrainers
微调了 CogVideoX-5B 模型。以下是 finetrainers/crush-smol-v0
的一个输出示例
轮到你了
我们希望这些工具能帮助您快速创建小型高质量的视频数据集,用于您自己的定制应用。我们将继续向该代码库添加更多有用的过滤器,敬请关注。我们也随时欢迎您的贡献 🤗
感谢 Pedro Cuenca 对本文的详尽审阅。