HunyuanCustom 速讀
一、引言
HunyuanCustom 是由騰訊團隊提出的一款多模態定制化視頻生成框架。該框架旨在解決現有視頻生成方法在身份一致性(identity consistency)和輸入模態有限性方面的不足。通過支持圖像、音頻、視頻和文本等多種條件輸入,HunyuanCustom 能夠生成具有特定主題且符合用戶定義條件的視頻。
二、整體架構
HunyuanCustom 基于 HunyuanVideo 構建,通過引入多模態理解模塊和條件注入機制,實現了對不同輸入模態的有效處理。其架構主要包括以下幾個核心部分:
-
文本 - 圖像融合模塊 :基于 LLaVA 開發,增強模型對多模態信息的理解能力。
-
圖像 ID 增強模塊 :利用時間級聯(temporal concatenation)強化幀間身份特征,確保視頻中主體身份的一致性。
-
AudioNet 模塊 :通過空間交叉注意力機制實現音頻特征的層次化對齊,使視頻生成能夠受音頻驅動。
-
視頻驅動注入模塊 :采用基于 Patchify 的特征對齊網絡,將壓縮后的條件視頻特征整合到生成過程中,支持以視頻為條件進行視頻生成。
三、關鍵特性
-
多模態視頻定制 :支持單主體和多主體場景,可處理單一或多個圖像輸入,生成定制化視頻。此外,還能結合音頻輸入驅動主體動作,或依據視頻輸入替換指定物體。
-
身份一致性保持 :通過圖像 ID 增強模塊和時間級聯策略,在視頻幀序列中維持主體身份特征的穩定,避免生成視頻中出現主體身份混淆或變化的問題。
-
靈活的條件輸入 :兼容文本、圖像、音頻和視頻等多種輸入模態組合,為視頻生成提供了豐富的控制條件,滿足不同應用場景的需求。
四、應用場景
HunyuanCustom 的多模態能力使其能夠廣泛應用于多個領域,包括但不限于:
-
虛擬人廣告 :輸入多個相關圖像,生成虛擬人物代言廣告視頻。
-
虛擬試穿 :依據圖像輸入創建虛擬試穿場景視頻,助力在線購物體驗提升。
-
唱歌頭像生成 :結合圖像和音頻輸入,創造出隨著音樂歌唱的虛擬頭像視頻。
-
視頻編輯 :利用圖像和視頻輸入,實現視頻中特定主體的替換,簡化視頻后期制作流程。
五、性能比較
論文中將 HunyuanCustom 與其他多款視頻定制方法進行了對比,包括 VACE、Skyreels、Pika、Vidu、Keling 和 Hailuo。對比指標涵蓋人臉 / 主體相似度(Face-Sim)、CLIP-B-T 分數、DINO-Sim 分數、時間一致性(Temp-Consis)以及多樣性(DD)。結果顯示,HunyuanCustom 在各項指標上均取得了優異成績,例如在人臉相似度方面達到 0.627,時間一致性達到 0.958,顯著優于其他方法,證明了其在身份一致性、真實感和文本 - 視頻對齊等方面的優勢。
六、運行要求
HunyuanCustom 模型對硬件有一定要求,以生成特定設置的視頻為例:
-
對于分辨率為 720px×1280px、129 幀的視頻,GPU 峰值內存需求為 80GB;對于 512px×896px、129 幀的視頻,需求為 60GB。
-
推薦使用具有 80GB 內存的 NVIDIA GPU 以獲得較好的生成質量,最低需 24GB 顯存的 GPU,但速度會較慢。
-
測試操作系統為 Linux,同時提供了基于 Conda 的環境配置和 Docker 鏡像部署方案,以方便用戶在不同環境下安裝和運行模型。
七、安裝與部署
-
克隆倉庫 :通過 Git 命令克隆 HunyuanCustom 的 GitHub 倉庫到本地。
-
創建 Conda 環境 :推薦使用 Python 3.10.9 版本,執行 Conda 命令創建隔離的運行環境。
-
安裝 PyTorch 及依賴 :根據不同 CUDA 版本(11.8 或 12.4),安裝對應的 PyTorch、torchvision 和 torchaudio 等庫。
-
安裝其他依賴 :利用 pip 安裝 requirements.txt 文件中列出的其他依賴包,如 tensorrt 相關庫和 flash attention v2(用于加速)。
-
下載預訓練模型 :按照指引下載模型權重文件,并放置在指定目錄以便推理時加載。
八、推理方法
-
多 GPU 并行推理 :在配備 8 個 GPU 的機器上,通過 torchrun 命令啟動并行推理任務,指定輸入圖像、正負提示詞、檢查點路徑、視頻尺寸、幀數等參數,生成高質量定制視頻。
-
單 GPU 推理 :對于單 GPU 環境,調整命令參數,利用 CPU 卸載等策略,在有限的資源下運行模型,生成相應分辨率的視頻。
-
低顯存運行 :當顯存不足時,啟用 CPU 卸載選項,犧牲部分速度以實現模型的運行,確保在低配置設備上也能進行視頻生成任務。
-
Gradio 服務器運行 :通過執行腳本啟動 Gradio 服務器,提供用戶友好的界面,方便用戶提交輸入并獲取生成的視頻結果,便于模型的演示和共享。