Hugging Face 影片資料集腳本
Hugging Face 已發布了一套開源影片資料集腳本,旨在將影片生成模型的高品質訓練數據建立標準化。這套工具旨在為影片資料集帶來與目前圖像生成領域相同的成熟基礎設施,將小規模的自定義腳本與用於大規模應用的 video2dataset 相結合。
三階段影片數據流水線
影片資料集流水線分為三個不同的階段:獲取、預處理/過濾,以及處理。這種架構靈感來自於 Stable Video Diffusion 和 LTX-Video 中使用的數據流水線。
第一階段:獲取
獲取階段依賴 yt-dlp 來下載影片內容。為了處理長篇內容,流水線包含一個「影片轉場景」(Video to Scenes)腳本,可將長影片拆分為較短且易於管理的剪輯。
第二階段:預處理與過濾
過濾是在幀(frame)和影片層級進行的,以確保數據質量與安全性:
- 幀層級過濾:
- 浮水印檢測: 使用
LAION-5B-WatermarkDetection來識別帶有浮水印的內容。 - 美學評分: 使用
improved-aesthetic-predictor為幀分配質量評分。 - NSFW 檢測: 使用
Falconsai/nsfw_image_detection來過濾不當內容。
- 浮水印檢測: 使用
- 影片層級過濾:
- 動作評分: 使用 OpenCV 來預測整個影片剪輯中的動作量。
第三階段:處理
處理階段專注於為剪輯生成描述性元數據(metadata)。流水線利用 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.1 和 aesthetic > 5.5 進行過濾。這個過程將總共 1,493 部影片的池縮減到了 47 部。
浮水印與美學過濾觀察
- 浮水印檢測:
pwatermark評分在檢測文字方面非常有效,但無法區分浮水印覆蓋與場景內的文字(例如玩具小汽車的車牌)。Hugging Face 建議,使用幀的平均評分並設定 0.2 - 0.3 的閾值,比要求每一幀都低於嚴格的閾值更有效。 - 美學評分: 高美學閾值(例如 > 5.5)可能會引入偏差,進而過濾掉有用的數據。作者指出,美學評分作為「劣質內容」過濾器(最低閾值為 4.25 - 4.5)比作為尋找「完美」內容的工具更有效。
實際應用:微調 CogVideoX-5B
為了展示這些腳本的效用,Hugging Face 創建了兩個專用資料集:Cakeify 和 Crush。這些資料集被用於使用 finetrainers 庫來微調 CogVideoX-5B 模型。
其中一個產出的模型 finetrainers/crush-smol-v0 可以根據詳細的文本提示生成物體被液壓機壓扁的影片,例如一個紅蠟燭在金屬平台上被壓成扁平形狀。