可媲美GPT-4o的開源圖像生成框架來了!騰訊聯手InstantX解決角色一致性難題
GPT-4o帶火的漫畫風角色生成,現在有了開源版啦!
騰訊混元攜手InstantX團隊合作打破次元壁,開源定制化角色生成插件——InstantCharacter。
以往針對角色驅動的圖像生成方法,都存在一定的缺陷。
例如,基于適配器的方案雖然基本實現主體一致和文本可控,但在泛化性、姿勢變化和風格轉換的開放域角色方面仍然存在困難。基于微調則需對模型進行重新訓練,從而浪費過長的時間。更不必說,費用高昂的推理時間的微調。
而現在這個插件基于DiTs(Diffusion Transformers),能在保證推理效率和文本可編輯性的同時,完美實現角色個性化創作。
那么一起看看它具體是如何實現的?
方法介紹
現代 DiTs與傳統的UNet架構相比,展現出前所未有的保真度和容量,為生成和編輯任務提供了更強大的基礎。基于此,InstantCharacter擴展了DiT,從而用于強泛化性和高保真的角色驅動圖像生成。
InstantCharacter的架構圍繞兩個關鍵創新展開:
1.可擴展適配器 :開發了一個可擴展的適配器模塊,有效解析角色特征并與DiTs潛在空間無縫交互。2.漸進訓練策略:設計了一個漸進式三階段訓練策略,以適應收集的多功能數據集,使角色一致性和文本可編輯性的分開訓練成為可能。
可擴展的適配器設計
傳統的定制適配器,例如IPAdapter或ReferenceNet,在DiT架構中往往失效,因為它們是專為基于U-Net的模型設計的,缺乏可擴展性。
為了更好地適應DiT模型,研究員提出了一種可擴展的full-transformer適配器,它作為角色圖像與基礎模型潛在生成空間之間的關鍵連接,通過增加層深度和隱藏特征尺寸實現可擴展性。
該適配器由三個編碼器塊組成:
1.通用視覺編碼器:首先利用預訓練的大型視覺基礎編碼器來提取通用角色特征,從它們的開放域識別能力中受益。
以前的方法通常依賴于CLIP,因為它對齊了視覺和文本特征。然而,雖然CLIP能夠捕捉抽象的語義信息,但它往往會丟失對維持角色一致性至關重要的詳細紋理信息。為此,研究者用SigLIP替代CLIP,SigLIP在捕捉更細粒度的角色信息方面表現出色。
此外,引入DINOv2作為另一個圖像編碼器來增強特征的穩健性,減少背景或其他干擾因素導致的特征損失。
最后,通過在通道維度的拼接整合DINOv2和SigLIP特征,從而獲得更全面的開放域角色表示。
2.中間編碼器:由于SigLIP和DINOv2是在相對較低的384分辨率下預訓練和推理的,在處理高分辨率角色圖像時,通用視覺編碼器的原始輸出可能會丟失細粒度特征。為了緩解這個問題,采用雙流特征融合策略分別探索低級特征(low-level features)和區域級特征(region-level features)。
首先,直接從通用視覺編碼器的淺層提取low-level features,捕捉在更高層次中常常丟失的細節。
其次,將參考圖像分割成多個不重疊的區塊,并將每個區塊輸入視覺編碼器以獲取region-level features。
然后,這兩種不同的特征流通過專用的中間transformer編碼器進行分層整合。具體來說,每個特征路徑都由獨立的transformer編碼器單獨處理,以與高級語義特征整合。隨后,來自兩個路徑的精煉特征沿著token維度連接,從而建立一個全面的融合表示,捕捉多層次的互補信息。
3.投影頭:最后,精煉的角色特征通過投影頭投射到去噪過程,并與潛在噪聲交互。通過時間步感知的Q-former實現這一點,它將中間編碼器輸出作為鍵值對處理,同時通過注意力機制動態更新一組可學習的查詢向量。轉換后的查詢特征隨后通過可學習的交叉注意力層注入去噪空間。最終,適配器可以實現強身份保持和復雜文本驅動的靈活適應。
訓練策略
為了有效訓練該框架,研究者首先精心構建了一個高質量的數據集,包含1000萬張多樣化的全身人類/角色圖像,包括用于學習角色一致性的配對圖像和用于實現精確文本到圖像對齊的非配對數據集。
其次,精細設計了訓練方案,以優化角色一致性、文本可控性和視覺保真度。為了實現角色一致性,首先使用未配對數據進行訓練,其中角色圖像作為參考引導進行自重建,以保持結構一致性。同時研究發現使用512的分辨率比1024更為高效。
在第二階段,繼續以低分辨率(512)進行訓練,但切換到配對訓練數據。為生成不同動作、姿勢和風格的角色圖像,研究者通過將角色圖像作為輸入,生成新場景中的角色。這個訓練階段有效消除了復制粘貼效應,增強了文本可控性,確保生成的圖像準確遵循文本條件。
最后一個階段涉及使用配對和非配對圖像進行高分辨率聯合訓練。團隊發現有限數量的高分辨率訓練迭代可以顯著提高圖像的視覺質量和紋理。這一階段利用了高質量圖像實現高保真和文本可控的角色圖像。
實驗結果
作者對基于FLUX的先進方法進行定性比較:OminiControl、EasyControl、ACE+和UNO;以及大型多模態模型GPT4o。為了評估,作者收集了一組不存在于訓練數據中的開放域角色圖像。
現有方法存在局限性:OminiControl和EasyControl無法保留角色身份特征,而ACE++僅在簡單場景中保持部分特征,但在面對動作導向的提示時表現不佳。UNO過度保持一致性,這降低了動作和背景的可編輯性。可以看到,InstantCharacter達到了與GPT4o相當的結果,但它不是開源的。
相比之下,InstantCharacter始終表現最佳。具體而言,InstantCharacter在保持精確的文本可控性的同時,實現了更出色的角色細節保留和高保真度,即使是針對復雜的動作提示。
InstantCharacter還可以通過引入不同的風格loras來實現靈活的角色風格化。如圖所示,InstantCharacter可以在吉卜力和Makoto風格之間切換,同時不影響角色一致性和文本可編輯性。然而,Jimeng和GPT4o很難靈活地保持這些風格。
本文插件代碼及項目均已開源,鼓勵更多的人積極參與相關工作探討。
論文地址:https://arxiv.org/abs/2504.12395代碼地址:https://github.com/Tencent/InstantCharacter項目地址:https://instantcharacter.github.io/