為影片生成構建出色的資料集

釋出於 2025 年 2 月 12 日
在 GitHub 上更新

用於影像生成資料集的工具已經非常成熟,其中 img2dataset 是用於大規模資料集準備的基礎工具,並輔以各種社群指南、指令碼和 UI,涵蓋了小規模的應用場景。

我們的目標是透過建立適合小規模應用的開放影片資料集指令碼,並利用 video2dataset 進行大規模用例處理,使影片生成資料集的工具同樣成熟。

“如果說我看得更遠,那是因為我站在巨人的肩膀上。”

在這篇文章中,我們概述了正在開發的工具,旨在讓社群能輕鬆構建自己的資料集,用於微調影片生成模型。如果您已迫不及待想開始,歡迎您在此檢視我們的程式碼庫。

目錄

  1. 工具
  2. 篩選示例
  3. 運用這些工具 👨‍🍳
  4. 輪到你了

工具

通常,影片生成是基於自然語言文字提示的,例如:“一隻貓在草地上行走,寫實風格”。然後在影片中,有一些用於可控性和篩選的定性方面,如下所示:

  • 動作
  • 美學
  • 水印存在與否
  • 不適宜內容 (NSFW) 存在與否

影片生成模型的質量取決於其訓練資料。因此,在整理用於訓練/微調的資料集時,這些方面變得至關重要。

我們的三階段流程借鑑了 Stable Video DiffusionLTX-Video 等作品及其資料流程的靈感。

階段一 (採集)

video2dataset 一樣,我們選擇使用 yt-dlp 下載影片。

我們建立了一個 影片轉場景 指令碼,將長影片分割成短片段。

階段二 (預處理/篩選)

提取的幀

整個影片

  • 使用 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.1aesthetic > 5.5 進行了篩選。這種高度嚴格的篩選最終從 1493 個影片中選出了 47 個。

讓我們回顧一下 pwatermark 的示例幀 -

兩個帶文字的幀得分分別為 0.69 和 0.61

pwatermark 影像
0.69 19s8CRUVf3E-Scene-022_0.jpg
0.61 19s8CRUVf3E-Scene-010_0.jpg

“裝滿老鼠的玩具車”在被壓碎前得分為 0.60,壓碎後降至 0.17。

pwatermark 影像
0.60 -IvRtqwaetM-Scene-003_0.jpg
0.17 -IvRtqwaetM-Scene-003_1.jpg

所有示例幀都透過 pwatermark < 0.1 進行了篩選。pwatermark 在檢測文字/水印方面很有效,但分數並不能表明它是文字疊加還是玩具車的牌照。我們的篩選要求所有分數都低於閾值,而對幀求平均值並設定 0.2 - 0.3 左右的閾值,對於 pwatermark 來說可能是更有效的策略。

讓我們回顧一下美學分數的示例幀 -

粉色城堡最初得分為 5.5,被壓碎後降至 4.44

美學 影像
5.50 -IvRtqwaetM-Scene-036_0.jpg
4.44 -IvRtqwaetM-Scene-036_1.jpg

動作人偶的得分較低,為 4.99,被壓碎後降至 4.84。

美學 影像
4.99 -IvRtqwaetM-Scene-046_0.jpg
4.87 -IvRtqwaetM-Scene-046_1.jpg
4.84 -IvRtqwaetM-Scene-046_2.jpg

玻璃碎片得分很低,為 4.04

美學 影像
4.04 19s8CRUVf3E-Scene-015_1.jpg

在我們的篩選中,我們要求所有分數都低於閾值,但在這種情況下,僅使用第一幀的美學分數可能會是更有效的策略。

如果我們檢視 finetrainers/crush-smol,我們可以注意到許多被壓碎的物體都是圓形或矩形且色彩鮮豔,這與我們在示例幀中的發現相似。美學分數可能很有用,但它存在偏見,當使用像 > 5.5 這樣的極端閾值時,可能會過濾掉好的資料。它可能更適合用作過濾不良內容的工具,最低閾值設定在 4.25 - 4.5 左右。

OCR/字幕

在這裡,我們為每個過濾器提供了一些視覺示例,以及來自 Florence-2 的字幕。

影像 字幕 詳細字幕
Toy Car with Mice 一輛裝滿老鼠的玩具車。 圖片顯示一輛藍色玩具車,三隻白老鼠坐在車後部,車子沿著一條路行駛,背景是一堵綠色的牆。
帶 OCR 標籤 帶 OCR 和區域標籤
OCR labels OCR and region labels

運用這些工具 👨‍🍳

我們利用這些工具建立了各種資料集,試圖生成炫酷的影片效果,類似於 Pika Effects

然後,我們使用這些資料集,透過 finetrainers 微調了 CogVideoX-5B 模型。以下是 finetrainers/crush-smol-v0 的一個輸出示例

提示:DIFF_crush 一根紅色蠟燭放在一個金屬平臺上,一個大的金屬圓柱從上方降下,將蠟燭壓扁,就像在液壓機下一樣。蠟燭被壓成一個扁平的圓形,周圍留下一堆碎片。

輪到你了

我們希望這些工具能幫助您快速建立小型高質量的影片資料集,用於您自己的定製應用。我們將繼續向該程式碼庫新增更多有用的過濾器,敬請關注。我們也隨時歡迎您的貢獻 🤗

感謝 Pedro Cuenca 對本文的詳盡審閱。

社群

如何進行圖片編輯

有沒有人測試過在 MLP 上新增噪聲以提升美學效果?

註冊登入以發表評論

© . This site is unofficial and not affiliated with Hugging Face, Inc.