Hugging Face 视频数据集脚本

Hugging Face 发布了一套开源视频数据集脚本,以标准化视频生成模型的高质量训练数据的创建。此工具旨在将目前图像生成中已有的成熟基础设施水平带到视频数据集,将小规模自定义脚本与 video2dataset 结合,用于大规模应用。

三阶段视频数据管道

视频数据管道被结构化为三个不同的阶段:获取、预处理/过滤和处理。此架构受到 Stable Video Diffusion 和 LTX-Video 中使用的数据管道的启发。

阶段 1:获取

获取阶段依赖 yt-dlp 下载视频内容。为了处理长格式内容,管道包含一个“视频转场景”脚本,将长视频分割成较短且易于管理的片段。

阶段 2:预处理和过滤

过滤在帧级和视频级均有应用,以确保数据质量和安全:

  • 帧级过滤:
    • 水印检测: 使用 LAION-5B-WatermarkDetection 识别带水印的内容。
    • 美学评分: 使用 improved-aesthetic-predictor 为帧分配质量分数。
    • NSFW 检测: 使用 Falconsai/nsfw_image_detection 过滤掉不适当的内容。
  • 视频级过滤:
    • 运动评分: 使用 OpenCV 预测整个视频片段中的运动量。

阶段 3:处理

处理阶段专注于为片段生成描述性元数据。管道利用 microsoft/Florence-2-large 对提取的帧执行多项任务,包括 <CAPTION><DETAILED_CAPTION><DENSE_REGION_CAPTION><OCR_WITH_REGION>

虽然 Florence-2 是帧级字幕的默认选择,但管道具有灵活性。可以集成其他字幕生成器,并且可以使用诸如 Qwen2.5-VL 之类的模型对整个视频进行字幕标注,而不是对单个帧进行标注。

过滤见解和基准

应用限制性过滤器可以在提高质量的同时显著减少数据集大小。在创建 finetrainers/crush-smol 数据集时,Hugging Face 使用了 Qwen2VL 字幕,并过滤了 pwatermark < 0.1aesthetic > 5.5。此过程将总共 1,493 个视频的池减少到 47 个。

水印和美学过滤观察

  • 水印检测: pwatermark 分数在检测文本方面有效,但无法区分水印叠加和场景内文本(例如,玩具车的车牌)。Hugging Face 建议在帧之间使用平均分数并设定阈值为 0.2 - 0.3,这比要求每一帧都低于严格阈值更有效。
  • 美学评分: 高美学阈值(例如,> 5.5)可能会引入偏见,潜在地过滤掉有用的数据。作者指出,美学分数更适合作为“糟糕内容”过滤器,最低阈值为 4.25 - 4.5,而不是用于寻找“完美”内容的工具。

实际应用:微调 CogVideoX-5B

为了展示这些脚本的实用性,Hugging Face 创建了两个专门的数据集:CakeifyCrush。这些数据集使用 finetrainers 库对 CogVideoX-5B 模型进行了微调。

得到的一个模型是 finetrainers/crush-smol-v0,它可以基于详细的文本提示生成液压机压平物体的视频,例如红色蜡烛在金属平台上被压碎成平面形状。

Sources