八秒極速生成!復雜場景圖像定制低成本輕松駕馭,已開源丨字節北大聯合發布
可控圖片生成,如今已經不是什么新鮮事。甚至也不需要復雜的提示詞,用戶通過簡單的文本描述,就能快速生成符合個人需求的創意圖像。
不過仍然有一些局限:
比如說,雖然可以實現單一任務(如身份、主體、風格、背景等)的定制化設計,可是一旦條件增多,就會出現“魚和熊掌不可兼得”的問題。
只有小孩子才做選擇題,成年人當然是全都要!
字節跳動與北京大學聯合起來,證明了“全都要”的可行性:一種支持多條件組合的統一圖像定制化生成框架——DreamO,堂堂登場。
這個框架通過單一模型便可以實現主體、身份、風格及服裝參考的多樣化定制,并支持不同控制條件的自由組合,非常適應實際應用中的復雜需求。
△參考多個主體的生成結果
那么就有人問了,他們是怎么做到的呢?這個框架和現有的商業大模型相比有什么優勢呢?
一起來看技術細節。
DreamO:成本更低、速度更快
字節跳動和北大團隊提出了統一的圖像定制化生成框架DreamO,以極低的訓練參數量(400M),就實現了如下圖所展示的多種類型高質量圖像定制化結果:
該工作旨在通過單一模型完成各種定制化任務。
比如說,以小怪物為參考,讓它在山上歡呼:
又比如說,讓漂亮的姑娘在花海里起舞:
根據參考,生成一張魔幻風格的城堡:
或者大膽一點——地獄風格的小狗怎么樣?
還可以參考多個主體,把他們組合起來:
讓隔著時間或者空間的人出現在同一張照片上:
將該模型與GPT-4o等一眾商業大模型做對比,盡管在語義理解、定制多樣性上還有差距,但該模型展現出了極強的一致性保持能力,甚至在一定程度上超越了一些商業大模型。
與商用模型相比,DreamO開源、成本更低、速度也更快——8~10s即可完成一張圖片的定制化生成。
方法整體框架
△DreamO的整體框架
該方法基于Flux-1.0-dev構建了一個統一的圖像定制框架,支持風格、身份、外觀和試穿等功能。
首先,復用Flux的VAE將條件圖像編碼為隱空間表征,隨后序列化,與文本和圖像token合并輸入Flux模型,為處理條件圖像輸入,引入了專門的映射層。
另外,該方法為條件隱變量加入了可學習的條件嵌入(CE)和索引嵌入(IE),并通過低秩自適應(LoRA)模塊優化模型,從而支持多條件任務。
漸進式的訓練策略
直接在所有數據上訓練會導致收斂困難,主要由于優化參數容量有限,難以在復雜數據分布中捕捉特定任務能力;而訓練數據的圖像質量問題也使生成結果偏離Flux的高質量生成先驗。
為解決這些問題,DreamO提出了漸進式訓練策略:
在第一階段,在主體驅動的數據上優化模型,確保一致性,并利用與模型生成空間分布相似的Subject200K數據集加速收斂。使模型獲得了初步的一致性保持能力。
在第二階段,模型進行全數據訓練,逐漸掌握各種任務能力。但生成質量容易受低質量訓練樣本影響。
在圖像質量優化的第三階段,通過Flux生成40K樣本,以原始圖像(丟棄95%的信息)為參考進行自我重建。
經過第三階段優化后,圖像的生成質量顯著提高,與Flux的生成先驗對齊。
針對參考圖的路由約束
該方法在DiT架構中設計了路由約束用于精準限制參考圖的作用區域。
在條件引導框架中,條件圖像與生成結果之間存在交叉注意力關系,如下所示:表示條件圖像與生成結果的相似度。
通過沿條件圖維度平均該相似度矩陣,可以得到條件圖對生成結果的全局相似度響應。
訓練過程中,使用條件物體在生成結果中對應的mask作為ground truth約束條件圖的相似度響應范圍:
實驗結果顯示,經過路由約束的訓練后,條件圖的相似度響應更加集中,生成結果的保真度更高。
另外,為了支持DreamO的多任務優化,作者構建了大規模包含各種任務的訓練數據,例如風格遷移、單主體保持、多主體保持、單ID保持、多ID保持、ID風格化,以及虛擬試衣等。
更多細節請參考該方法的技術報告。
論文地址:https://arxiv.org/pdf/2504.16915
項目主頁:https://mc-e.github.io/project/DreamO/
代碼倉庫:https://github.com/bytedance/DreamO
Hugging Face演示:https://huggingface.co/spaces/ByteDance/DreamO