Phantom 視頻生成的流程
flyfish
Phantom 視頻生成的實踐
Phantom 視頻生成的流程
Phantom 視頻生成的命令
Wan2.1 圖生視頻 支持批量生成
Wan2.1 文生視頻 支持批量生成、參數化配置和多語言提示詞管理
Wan2.1 加速推理方法
Wan2.1 通過首尾幀生成視頻
AnyText2 在圖片里玩文字而且還是所想即所得
Python 實現從 MP4 視頻文件中平均提取指定數量的幀
Phantom通過跨模態對齊實現主體一致的視頻生成,是一個統一的視頻生成框架,適用于單主體和多主體參考,基于現有的文本到視頻和圖像到視頻架構構建。它通過重新設計聯合文本-圖像注入模型,利用文本-圖像-視頻三元組數據實現跨模態對齊。此外,它強調在人類生成過程中保持主體一致性,同時增強ID保留的視頻生成。
給的文字描述和圖片 / 視頻等素材,生成一個里面的主體(比如人物、物體)始終保持一致的視頻,舉個簡單的例子幫助理解:
假設有一張寵物貓的照片(主體是這只貓),然后想生成一個視頻,讓這只貓 “在沙灘上追蝴蝶,同時嘴里叼著一朵花”。
傳統方法:可能需要找動畫師手動設計貓的動作、沙灘場景,還要確保貓的外觀和照片完全一致。
用 Phantom 技術:只需要把貓的照片和文字描述(“在沙灘追蝴蝶,叼花”)喂給系統。
系統會自動 “對齊” 照片里的貓和文字描述的動作,生成一個視頻里的貓始終和照片長得一樣,動作也符合描述的連貫視頻。
1. 單主體 vs. 多主體
單主體
指在視頻生成任務中,參考對象為單一實體(如一個人、一只動物或一個物體)。
- 目標:生成以該單一主體為核心的視頻,確保其外觀、動作、姿態等特征在視頻序列中保持一致。
- 應用場景:個人虛擬形象生成、單一產品展示視頻等。
多主體
指參考對象包含兩個或多個實體(如多個人物、動物群體或多個物體)。
- 挑戰:需要同時處理多個主體的交互關系、空間位置、各自特征的一致性,以及整體場景的協調性。
- 應用場景:多人互動場景生成、群演視頻生成、多物體動態模擬等。
2. 跨模態對齊(Cross-Modal Alignment)
定義
跨模態指不同類型的數據模態(如文本、圖像、視頻、音頻等),對齊指建立不同模態數據之間的語義對應關系。
- 在Phantom框架中,通過文本-圖像-視頻三元組數據訓練模型,使模型能夠理解:
- 文本描述(如“穿紅色外套的人跳舞”)、
- 參考圖像(含主體視覺特征)、
- 目標視頻(含動態時序信息)
之間的關聯,實現跨模態的語義統一。
技術實現
- 重新設計聯合文本-圖像注入模型,讓模型在生成視頻時,既能捕捉文本的語義信息,又能對齊參考圖像的視覺特征,最終生成符合兩者描述的視頻內容。
- 目的:解決傳統模型中不同模態數據“語義割裂”的問題,提升生成視頻的語義準確性和視覺一致性。
3. 主體一致性(Subject Consistency)
定義
在視頻生成過程中,確保同一主體在不同幀畫面中保持視覺特征和行為邏輯的連貫性,避免出現主體外觀突變、形態扭曲或動作矛盾等問題。
- 關鍵維度:
- 外觀一致性:主體的顏色、形狀、紋理、服裝、面部特征等不變(如同一人物的發型、膚色在視頻中保持一致)。
- 動作一致性:主體的運動軌跡、姿態變化符合物理規律和語義邏輯(如行走動作的連貫性,避免“瞬間移動”)。
Phantom的技術重點
通過強化對參考圖像中主體特征的建模(如使用圖像編碼器提取主體特征向量),并在視頻生成過程中持續“錨定”這些特征,確保主體在時序上的一致性,尤其適用于長視頻或復雜動作場景。
4. 增強ID保留的視頻生成(Enhanced ID-Preserving Video Generation)
定義
ID保留指保留主體的身份特征(Identity,簡稱ID),如人臉身份、獨特外觀標識(如胎記、特殊服裝)或品牌標志等。
- 增強ID保留:通過技術手段提升模型對主體身份特征的捕捉和再現能力,即使在不同視角、光照或動作下,也能穩定保留主體的身份信息。
2個核心模型
1. 基礎視頻生成模型(Wan2.1-T2V-1.3B)
- 作用:
- 核心生成引擎:負責根據文本描述生成視頻的基礎內容,包括場景、動作、光影等整體效果。
- 時空建模:通過擴散Transformer(Diffusion Transformer)和時空變分自動編碼器(VAE)處理視頻的時間序列和空間細節,確保幀與幀之間的連貫性。
- 效率優化:1.3B參數版本專為消費級GPU設計,僅需8.19GB顯存即可運行,適合快速生成480P分辨率的視頻。
- 關鍵參數關聯:
ckpt_dir
指向該模型的路徑(./Wan2.1-T2V-1.3B
),決定了基礎生成能力的強弱。size
(832×480)和frame_num
(81幀)直接影響該模型的計算量和輸出規格。
2. 跨模態對齊模型(Phantom-Wan-1.3B)
- 作用:
- 主體一致性保障:從參考圖像中提取主體特征(如人物、物體),并強制視頻生成過程中主體外觀、姿態與參考圖像保持一致,避免傳統AI常見的“變臉”“物體變形”問題。
- 多模態融合:聯合處理文本提示和參考圖像,通過跨模態對齊技術(如文本-圖像-視頻三元組訓練),讓生成的視頻既符合文字描述,又忠實于參考圖像的主體特征。
- 精細化控制:支持多主體生成(如多人互動),并能保留服裝、表情、物品細節等復雜特征,適合廣告、影視預演等專業場景。
- 關鍵參數關聯:
phantom_ckpt
指向該模型的路徑(./Phantom-Wan-1.3B/Phantom-Wan-1.3B.pth
),是實現主體一致性的核心。sample_guide_scale_img
(5.0)和sample_guide_scale_text
(7.5)通過調整圖像和文本的引導強度,平衡參考圖像與文本描述的權重。
用一張貓的照片生成“貓在草地上跳躍”的視頻來拆解整個技術流程
一、文本編碼:讓計算機“理解”文字含義
輸入:
- 文本提示:“一只灰色短毛貓在綠色草地上跳躍,尾巴翹起,背景有蒲公英”
- 模型:基礎視頻生成模型中的 T5文本編碼器(屬于NLP領域的預訓練模型)
處理流程:
-
分詞與編碼:
T5先將文本拆分成最小語義單元(如“灰色”“短毛貓”“跳躍”),轉化為 token序列(類似計算機能理解的“密碼”)。- 例如:“貓”→ token ID=123,“草地”→ token ID=456。
-
語義特征提取:
T5通過多層Transformer神經網絡,分析token之間的關系(如“貓”是主語,“跳躍”是動作),生成一個 768維的語義向量(可理解為文本的“數字指紋”)。- 這個向量包含了文本的核心信息:主體(貓)、動作(跳躍)、場景(草地、蒲公英)、外觀(灰色短毛)。
輸出:
一個包含文本語義的 語義特征向量,用于指導后續視頻生成。
二、圖像特征提取:鎖定參考圖像中的主體
輸入:
- 參考圖像:一張灰色短毛貓的照片(主體明確,背景簡單)
- 模型:跨模態對齊模型(Phantom-Wan中的圖像編碼器,基于CNN或ViT架構)
處理流程:
-
主體檢測與分割:
模型首先通過 目標檢測算法(如YOLO)定位圖像中的主體(貓),并用 語義分割 提取主體掩碼(mask),將貓與背景分離。- 輸出:僅包含貓的區域,背景被屏蔽(如圖中綠色部分為主體)。
-
視覺特征提取:
對主體區域進行特征編碼,提取 顏色、紋理、輪廓、姿態 等視覺信息:- 顏色特征:灰色毛發的RGB均值、尾巴的毛色分布。
- 紋理特征:毛發的細膩程度、瞳孔的紋路。
- 空間特征:貓的體型比例(頭身比)、跳躍時的姿態(如四肢彎曲角度,基于參考圖像的預設動作)。
-
特征壓縮:
通過卷積神經網絡將視覺特征壓縮為 512維的圖像特征向量,確保后續生成的視頻中貓的外觀與該向量匹配。
輸出:
一個包含主體視覺特征的 圖像特征向量 和 主體掩碼,用于強制生成視頻的主體與參考圖像一致。
三、聯合生成:讓文字描述與圖像主體“合二為一”
核心邏輯:
基礎模型(Wan2.1-T2V)負責“創作”視頻內容,跨模態模型(Phantom-Wan)負責“監督”主體一致性,兩者通過 損失函數 實時交互。
步驟1:基礎模型生成視頻初稿
-
輸入:
- 文本語義向量(來自T5)
- 隨機噪聲(作為生成起點,類似畫家的“草稿”)
-
模型架構:
- 擴散Transformer(Diffusion Transformer):處理視頻的時空維度(寬度×高度×幀數),逐幀去除噪聲,生成初步視頻。
- 過程:
從純噪聲開始,經過50步采樣(由sample_steps
控制),逐步生成符合“貓在草地跳躍”的畫面,包括:- 背景:綠色草地、飄動的蒲公英(由文本語義驅動)。
- 動作:貓的跳躍軌跡、尾巴擺動(由文本語義和擴散模型的動態建模能力生成)。
-
輸出:
一版“自由創作”的視頻,但此時貓的外觀可能與參考圖像不一致(如毛色變淺、體型變化)。
步驟2:跨模態模型修正主體特征
-
輸入:
- 基礎模型生成的視頻幀
- 圖像特征向量(來自參考圖像)
- 主體掩碼(標記貓的區域)
-
修正機制:
- 特征匹配:
在每幀視頻中,使用圖像編碼器提取當前幀中貓的特征向量,與參考圖像的特征向量計算 余弦相似度。- 若相似度低(如毛色偏差大),則通過反向傳播調整擴散模型的參數,強制特征接近。
- 空間引導:
利用主體掩碼,僅在貓的區域應用特征修正(避免影響背景)。例如:- 背景的蒲公英由文本驅動自由生成,不被圖像特征干擾。
- 貓的身體區域必須嚴格匹配參考圖像的顏色和輪廓。
- 特征匹配:
-
輸出:
經過修正的視頻幀,貓的外觀與參考圖像一致,動作和場景符合文本描述。
四、時空優化:讓視頻流暢自然
1. 時空壓縮(VAE模塊)
- 作用:
生成的視頻原始數據量巨大(81幀×832×480像素),通過 變分自動編碼器(VAE) 壓縮時空維度:- 編碼器:將高分辨率視頻壓縮為低維隱變量(latent variables),減少計算量。
- 解碼器:在生成后期將隱變量還原為高分辨率視頻,保留細節。
- 優勢:
壓縮后的數據量可減少90%以上,使擴散模型能更高效地處理時空連貫性。
2. 動態優化(擴散Transformer)
- 核心問題:
確保相鄰幀之間的動作連貫(如貓的跳躍軌跡平滑,不會突然“閃現”)。 - 技術手段:
- 時間注意力機制:模型在生成第t幀時,會關注第t-1幀和t+1幀的動作,通過 時序損失函數 強制動作連續。
- 空間一致性約束:同一主體在不同幀中的位置、姿態變化符合物理規律(如跳躍時的拋物線軌跡)。
3. 最終輸出
經過50步采樣(由sample_steps
決定)和時空優化后,生成 81幀、832×480分辨率 的連貫視頻,其中:
- 主體(貓)與參考圖像完全一致(毛色、體型、姿態)。
- 場景(草地、蒲公英)與文本描述一致,動態流暢自然。
參數如何影響流程?
sample_guide_scale_img=5.0
:
控制圖像特征對生成的“約束力”。數值越大,視頻主體越接近參考圖像(可能犧牲動作多樣性)。sample_guide_scale_text=7.5
:
控制文本語義對生成的“引導力”。數值越大,場景和動作越貼合文字描述(可能導致主體輕微變形)。frame_num=81
:
決定擴散模型需要處理的時間維度長度,數值越大,時序優化難度越高,生成耗時越長。
兩個模型如何“分工吵架”?
- 基礎模型(Wan2.1-T2V):像“創意畫家”,擅長根據文字想象場景和動作,但容易讓主體“走樣”(比如把灰貓畫成白貓)。
- 跨模態模型(Phantom-Wan):像“嚴格監工”,拿著參考圖像不斷挑刺:“這里毛色不對!”“這里體型變了!”,強迫畫家修正。
- 最終結果:一幅“創意”與“寫實”平衡的作品,既有畫家的想象力(草地、蒲公英),又符合監工的要求(貓必須和照片一樣)。