專治AI生圖「人臉崩壞」,8倍速碾壓GPT!新版FLUX.1多方位刷新SOTA
用AI生成&編輯圖片時,想生成一套完整故事模板,結果主角「變臉」比翻書還快,這可怎么辦?
別慌,全新圖像模型FLUX.1 Kontext來了!支持上下文內圖像生成,可以同時使用文本和圖像進行提示,并能夠無縫提取和修改視覺概念,從而生成新的、連貫的圖像。
圖片
論文地址:https://bfl.ai/announcements/flux-1-kontext
FLUX.1 Kontext是一系列生成式流匹配模型,可生成和編輯圖像。與現有的文本到圖像模型不同,FLUX.1 Kontext系列支持上下文內圖像生成。
一致且上下文感知的圖文生成與編輯
你的圖像,你的文字,你的世界
FLUX.1 Kontext通過融合即時文本圖像編輯與文本到圖像生成,標志著經典文本到圖像模型的重要擴展。
作為多模態流模型,它結合了最先進的角色一致性、上下文理解能力和局部編輯功能,同時具備強大的文本到圖像合成能力。
圖片
基于指令的迭代式圖像編輯。從一張參考照片(a)開始,模型依次應用了三條自然語言編輯指令——首先去除遮擋物(b),然后將人物移動到弗賴堡(c),最后將場景轉換為雪天(d)。
在整個編輯過程中,角色的外貌、姿勢、服裝以及整體攝影風格始終保持一致。
FLUX.1 Kontext具備以下優勢:
- 統一能力:一個模型同時支持傳統的局部編輯與基于上下文的生成式圖像生成任務。
- 角色一致性:FLUX.1 Kontext在角色保留方面表現出色,即使在多輪迭代編輯中也能保持角色的一致性。
- 交互速度:FLUX.1 Kontext運行迅速,無論是文本生成圖像還是圖像到圖像的轉換,在1024×1024分辨率下,圖像生成時間僅需3到5秒。
- 可迭代操作:推理速度快且一致性強,使用戶可以連續多次編輯圖像,幾乎不會出現明顯的視覺偏移。
FLUX.1 Kontext技術路線
圖片
FLUX.1是一種校正型流變換器(rectified flow transformer),在圖像自編碼器的潛空間中進行訓練。
從零開始訓練了一個帶有對抗目標的卷積自編碼器。通過擴大訓練計算量并采用16個潛在通道,在圖像重建能力方面優于相關模型。
FLUX.1的結構由雙流(double stream)和單流(single stream)模塊混合構成。
雙流模塊為圖像和文本Token分別使用不同的權重,通過將兩種Token拼接后執行注意力機制來進行信息融合。
在序列通過雙流模塊處理后,舍棄文本Token,僅保留圖像Token,并對其應用38個單流模塊。
使用了因式分解的三維旋轉位置編碼(3D RoPE) ,其中每個潛在Token都根據其時空坐標 (t, h, w) 進行定位。
圖片
研究團隊的目標是訓練一個模型,能夠在同時給定文本提示和參考圖像的條件下生成圖像。
更正式地說,希望近似地學習一個條件概率分布:能夠在文本提示(c)和參考圖像(y)共同作用下生成目標圖像(x)。
與傳統的文本生成圖像(text-to-image)不同,這一任務需要模型學習圖像之間的關系——由文本指令c進行引導——從而使同一個網絡能夠:
1. 在存在參考圖像y≠?時,執行基于圖像的編輯;
2. 在y=?時,從零生成全新圖像。
Token序列構建
圖像首先由凍結的FLUX自編碼器編碼為潛在Token。上下文圖像的Token y會被追加在目標圖像Token x之后,作為視覺輸入流的一部分輸入到模型中。
這種簡單的「序列拼接」方式具備以下優點:
1. 支持不同的輸入/輸出分辨率和寬高比;
2. 能夠自然擴展到多個上下文圖像 y?, y?, …, y?。
通過三維旋轉位置編碼(3D RoPE)來編碼位置信息。
其中上下文圖像的所有Token會被賦予一個常數偏移量,作為虛擬時間步(virtual time step),從而將上下文塊和目標塊在時間維度上清晰區分,同時保持各自的空間結構不變。目標圖像的Token位置為:u? = (0, h, w);第i張上下文圖像的Token位置為:u?? = (i, h, w),其中 i = 1, …, N。
校正流目標函數(Rectified-flow Objective)
使用如下的校正流匹配損失函數進行訓練:
其中:
- ε是從標準高斯分布N(0,1)中采樣的噪聲;
- z?是x和ε之間的線性插值,即
- vθ是研究人員要訓練的速度預測網絡;
- p(t;μ,σ=1.0)是logit-normal分布的時間采樣策略,其中μ會根據訓練數據的分辨率進行調整。
在純文本生成圖像的場景下(y=?),會省略所有y的Token,以保持模型的文本到圖像生成能力。
對抗式擴散蒸餾采樣
對獲得的流匹配模型進行采樣,通常需要求解一個常微分方程或隨機微分方程,過程一般需要進行50到250次帶引導的網絡評估。
雖然對于訓練良好的模型來說,這種方式生成的樣本質量較高,但也存在一些潛在問題。
首先,多步采樣過程較慢,使得大規模部署成本較高,不利于實現低延遲的交互式應用。
其次,引導過程有時會帶來視覺偽影,比如過度飽和的圖像。
FLUX.1 Kontext采用潛空間對抗擴散蒸餾方法來應對上述挑戰。該方法通過對抗訓練在提升圖像質量的同時,顯著減少了采樣所需的步驟數。
實現細節
從一個純文本生成圖像的模型檢查點出發,將模型聯合微調用于圖像生成圖像和文本生成圖像這兩個任務。
雖然該方法天然支持多個輸入圖像,但目前只聚焦于使用單張圖像作為條件輸入。
FLUX.1 Kontext[pro]先通過flow目標訓練,然后再進行LADD的訓練。使用Meng等人提出的技術,將指導蒸餾方法應用于一個參數量為120億的擴散Transformer模型,從而得到FLUX.1 Kontext[dev]。
為了提升FLUX.1 Kontext [dev]在編輯任務中的表現,專注于圖像生成圖像的訓練,不進行純文本生成圖像的訓練。
為了防止生成非自愿的私密圖像(NCII)和兒童性剝削內容(CSEM),引入了安全訓練機制,包括基于分類器的篩查和對抗訓練。
研究人員采用FSDP2并結合混合精度訓練:all-gather操作使用bfloat16,而梯度的reduce-scatter操作使用float32,以提升數值穩定性。
還使用選擇性激活檢查點機制來降低最大顯存占用。
為提升吞吐量,采用Flash Attention,并對各個Transformer模塊進行局部編譯優化。
圖片
以上為產品在攝影作品上效果。(a) 輸入圖像,展示了完整的穿搭造型。(b) 提取出的裙子,置于白色背景下,呈現產品攝影風格。(c) 裙子面料的特寫鏡頭,突出顯示其紋理和圖案細節。
結果評測分析
首先介紹KontextBench,這是一個全新的基準測試集,涵蓋了從用戶群體中收集的真實圖像編輯挑戰。
然后系統性地將FLUX.1 Kontext與當前最先進的文本生成圖像和圖像生成圖像方法進行對比,展示其在各種編輯任務中的優異表現。
面向上下文任務的真實世界眾包基準測試
現有的圖像編輯模型基準測試在反映真實使用情況方面往往存在局限。
KontextBench的內容來自真實世界的用戶使用場景。該基準集包含1026對獨特的圖像與提示詞組合,源自108張基礎圖像,包括個人照片、CC授權藝術作品、公共領域圖像以及AI生成內容。
KontextBench涵蓋五類核心任務:局部指令編輯(416個示例)、全局指令編輯(262個)、文本編輯(92個)、風格參考(63個)和角色參考(193個)。
圖片
各模型在生成1024 × 1024圖像時的中位推理延遲。FLUX.1 Kontext在文本生成圖像和圖像生成圖像兩種任務中均展現出較有競爭力的速度表現。
與當前最先進方法的對比
FLUX.1 Kontext旨在同時支持文本生成圖像(T2I)和圖像生成圖像(I2I)任務。
將該方法與目前領域中最強的商業模型和開源模型進行了對比評估,分別測試了 FLUX.1 Kontext 的 [pro] 和 [dev] 版本。[dev] 版本專注于圖像生成圖像任務。
此外,還引入了 FLUX.1 Kontext[max],其使用更高計算資源,以實現更強的生成效果。
文本生成圖像(T2I)結果
當前的T2I評估基準主要基于用戶偏好,一般會問:「你更喜歡哪張圖片?」
觀察到這種寬泛的評估標準常常偏向具有典型「AI美學」的圖像,比如顏色過于鮮艷、主體居中突出、背景模糊(景深)明顯,以及風格趨同等。
研究人員將這種現象稱為「bakeyness」(過度精修感)。
為更全面地評估生成質量,更深入理解用戶偏好影響,研究人員將T2I任務拆分為五個維度進行分析:
1. 指令遵循程度(prompt following)
2. 審美性(你覺得哪張圖片更好看)
3. 真實感(哪張圖看起來更像真實照片)
4. 字體排版準確性(typography accuracy)
5. 推理速度
研究人員在1000條多樣化的測試提示語上進行評估,這些提示語來源于學術基準以及真實用戶查詢。研究人員將這一測試集稱為Internal-T2I-Bench。
結果顯示,FLUX.1 Kontext在各個維度上表現非常均衡。
盡管在某些單項指標上其他模型表現更好,但往往是以犧牲其他維度性能為代價。
圖片
研究人員還看到,從FLUX1.1[pro]到FLUX.1 Kontext[pro],再到FLUX.1 Kontext[max],性能逐步提升,驗證了研究人員訓練迭代的成效。
圖像生成圖像(I2I)結果
在I2I評估中,研究人員針對多個編輯任務評估模型表現,包括:
- 圖像質量
- 局部編輯能力
- 角色保持(C-Ref)
- 風格遷移(S-Ref)
- 文本編輯
- 計算效率
圖片
從人工評估結果來看,FLUX.1 Kontext的[max]和[pro]版本在局部編輯、文本編輯以及角色保持方面表現最優。
為了量化角色保持(C-Ref)性能,研究人員使用AuraFace提取編輯前后的面部嵌入特征,并進行對比。
結果與人工評估一致:FLUX.1 Kontext在保持人物特征方面優于其他模型。
在全局編輯和風格遷移任務上,FLUX.1 Kontext分別僅次于gpt-image-1和Gen-4References。
最后,在推理速度方面,研究人員的模型也表現出最優的響應延遲。
FLUX.1 Kontext專用應用場景
FLUX.1 Kontext不僅支持常規圖像生成任務,還可以應用于多種特定場景。
其中之一是風格參考(Style Reference,S-Ref),這一功能由Midjourney推廣開來,可在保持語義內容不變的前提下,將參考圖像中的風格遷移到目標圖像中。
圖片
風格參照,即給定一張輸入圖像,模型會提取其藝術風格,并在保持原有風格特征的前提下,生成多樣化的新場景。
此外,該模型還可以識別和響應圖像中的視覺提示,比如紅色橢圓或幾何圖形,這些元素可以引導模型進行特定區域的編輯。
在文本編輯方面,FLUX.1 Kontext支持對圖像中的文字進行微調,包括修正拼寫錯誤、調整字體風格,并在此過程中保持周圍圖像內容的連貫性。
總結
FLUX.1 Kontext 實現了當前SOTA性能,并有效應對了多輪編輯過程中的角色漂移、推理速度慢和輸出質量低等關鍵問題。
FLUX.1 Kontext的主要貢獻包括:
- 一種統一架構,能夠同時處理多種圖像任務
- 在多輪編輯中保持出色的角色一致性
- 具備交互式響應速度
- 發布了KontextBench:一個包含1026對圖像-提示詞的真實世界基準測試集
廣泛的評估結果表明,FLUX.1 Kontext的性能可與商業系統相媲美,并支持快速、多輪的創意工作流程。
目前的FLUX.1 Kontext在實際應用中仍存在一些局限,比如多輪編輯過多時,可能會引入視覺偽影,導致圖像質量下降。
圖片
但是基于同一張起始圖像和相同的編輯提示,使用不同模型進行的迭代編輯示例(頂部:FLUX.1 Kontext,中部:gpt-image-1,底部:Runway Gen4)。FLUX.1 Kontext在面部特征保持方面優于其他模型。
FLUX.1 Kontext與KontextBench的發布為圖像生成與編輯的統一研究提供了堅實基礎和完整的評估框架,有望推動該領域持續進步。
參考資料:
https://bfl.ai/announcements/flux-1-kontext
https://cdn.sanity.io/files/gsvmb6gz/production/880b072208997108f87e5d2729d8a8be481310b5.pdf