MUMU:用文本、圖像引導,多模態圖像生成模型
傳統的文生圖模型僅使用文本提示有時無法完美還原用戶的提示詞,例如,生成一個穿著紅色披風的超級英雄在城市中飛翔的圖像,傳統的文本到圖像生成模型可能會根據文本描述生成一個大致符合要求的圖像,但可能無法準確呈現出用戶想要的超級英雄的具體形象或披風的顏色和樣式。
為了提升圖片的生成準確度,Sutter Hill的研究人員開發了可基于文本和圖像引導的多模態圖像生成模型MUMU。用戶不僅可以使用文本提示,還能使用要生成目標圖像的參考圖,進一步提升生成準確率。
論文地址:https://arxiv.org/abs/2406.18790
MUMU 的架構是基于 SDXL 的預訓練卷積 UNet,通過替換 SDXL 的輔助CLIP 文本編碼器,并將 SDXL 的主要 CLIP 文本編碼器替換為視覺語言模型 Idefics2 的隱藏狀態來構建。
Idefics2由一個從 SigLIP初始化的視覺變換器用于嵌入圖像輸入,一個感知器變換器用于將圖像嵌入池化到固定的序列長度,以及一個從Mistral 7b 初始化的大型視覺語言模型變換器組成。
在 MUMU 架構中,研究人員去除了感知器變換器,以使用更多的圖像token,這樣可以提高圖像質量,并且圖像質量在每個圖像大約 1000 個token時達到飽和。此外,還在 Idefics2 的隱藏狀態之上添加了一個小型的非因果 “適配器” 變換器。
為了增強模型的能力,研究團隊采用了兩種類型的數據:合成數據和真實數據。合成數據由大約300萬張使用SDXL生成的圖像組成,并且這些圖像經過了最低PickScore的篩選。
為了鼓勵模型區分內容和風格,每個內容都配對了許多不同的風格。此外,還使用了大語言模型從DiffusionDB中抽取內容和風格,并手動觸發產生額外的內容和風格。
另一方面,考慮到SDXL可能無法生成完美的、高分辨率的真實圖像,研究人員還加入了約200萬張高質量的真實圖像,主要包含人物。這些圖像經過篩選,確保它們是安全的、高分辨率的、無水印的,并且包含0或1個人物。隨后,這些圖像被盡可能地中心裁剪到人物上,并使用Llava 1.6進行標題化處理。
在訓練過程中,研究團隊在單個 8xH100 GPU 節點上使用 PyTorch FSDP 分兩個階段訓練 MUMU。所有圖像都用黑色像素填充為正方形分辨率,圖像裁剪總是調整大小以滿足目標分辨率。
在第一階段,每個提示最多插入四張圖像,每張圖像使用 324 個token,并且最多插入三個在輸入圖像中檢測到的對象的裁剪。30% 的時間還會額外插入輸入圖像的 canny 邊緣、深度或草圖的圖像。
在第二階段,每個提示插入一個對應 1296 個token的高分辨率人臉或人物裁剪,以觀察更多token是否能改善人臉質量。
為了評估 MUMU 的性能,研究人員進行了一系列測試。與 ChatGPT + DALLE - 3的對比測試表明,MUMU 在保留條件圖像的細節方面表現更好。例如,當輸入一張現實生活中的人像和一張卡通風格的圖像時,模型能成功輸出相同人物在卡通風格下的圖像。
輸入站立的人物和滑板時,模型能生成人物騎著滑板的畫面。MUMU 生成的圖像能夠更好地保留圖像的細節,而 ChatGPT + DALLE - 3則相對較差。
本文轉自 AIGC開放社區 ,作者:AIGC開放社區
