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