小紅書(shū)開(kāi)源StoryMaker:個(gè)性化圖像生成模型,實(shí)現(xiàn)角色一致性與背景變化的完美結(jié)合 精華
文章鏈接:https://arxiv.org/pdf/2409.12576
Github鏈接:https://github.com/RedAIGC/StoryMaker
模型鏈接:https://huggingface.co/RED-AIGC/StoryMaker
亮點(diǎn)直擊
- 解決了生成具有一致面部、服裝、發(fā)型和身體的圖像的任務(wù),同時(shí)允許背景、姿勢(shì)和風(fēng)格的變化,通過(guò)文本提示實(shí)現(xiàn)敘事創(chuàng)作。
- 提出了StoryMaker,首先從參考圖像中提取信息,并使用Positional-aware Perceiver Resampler進(jìn)行細(xì)化。為了防止不同角色與背景互相交織,使用帶有分割mask的均方誤差損失(MSE loss)對(duì)交叉注意力影響區(qū)域進(jìn)行規(guī)范化,并通過(guò)ControlNet在姿勢(shì)條件下訓(xùn)練主干網(wǎng)絡(luò),以促進(jìn)解耦。
- 訓(xùn)練了一個(gè)LoRA以增強(qiáng)保真度和質(zhì)量。
- StoryMaker實(shí)現(xiàn)了出色的性能,并在現(xiàn)實(shí)場(chǎng)景中具有多樣化的應(yīng)用。
總結(jié)速覽
解決的問(wèn)題
現(xiàn)有的無(wú)調(diào)優(yōu)個(gè)性化圖像生成方法在處理多個(gè)角色時(shí),盡管能保持面部一致性,但在場(chǎng)景的整體一致性方面存在缺陷,這影響了敘事的連貫性。
提出的方案
提出了StoryMaker,一個(gè)個(gè)性化解決方案,不僅保持面部一致性,還保留了服裝、發(fā)型和身體的一致性,從而支持通過(guò)一系列圖像創(chuàng)建故事。
應(yīng)用的技術(shù)
- Positional-aware Perceiver Resampler:將面部身份信息與裁剪的角色圖像相結(jié)合,以獲取獨(dú)特的角色特征。
- 均方誤差損失(MSE Loss):通過(guò)分割mask分別約束不同角色和背景的交叉注意力影響區(qū)域,防止角色與背景的混合。
- 姿勢(shì)條件生成網(wǎng)絡(luò):促進(jìn)與姿勢(shì)的解耦。
- LoRA:增強(qiáng)生成圖像的保真度和質(zhì)量。
達(dá)到的效果
實(shí)驗(yàn)結(jié)果證明了StoryMaker的有效性,支持多種應(yīng)用,并兼容其他插件。
方法
概述
給定包含一或兩個(gè)角色的參考圖像,StoryMaker旨在生成一系列新圖像,展示相同的角色,保持面部、服裝、發(fā)型和身體的一致性。通過(guò)改變背景、角色的姿勢(shì)和風(fēng)格,根據(jù)文本提示可以創(chuàng)建敘事。
首先使用面部編碼器提取角色的面部信息(即身份),并通過(guò)角色圖像編碼器獲取他們的服裝、發(fā)型和身體的細(xì)節(jié)。然后,使用Positional-aware Perceiver Resampler對(duì)這些信息進(jìn)行細(xì)化。為了控制主干生成網(wǎng)絡(luò),將細(xì)化的信息注入IP-Adapter提出的解耦交叉注意力模塊。
為了防止多個(gè)角色和背景互相交織,分別約束不同角色和背景的交叉注意力影響區(qū)域。此外,使用ID損失以保持角色的身份。為了將姿勢(shì)信息與參考圖像解耦,通過(guò)ControlNet訓(xùn)練網(wǎng)絡(luò),以檢測(cè)到的姿勢(shì)進(jìn)行條件化。為了增強(qiáng)保真度和質(zhì)量,還訓(xùn)練了帶有LoRA的U-Net。一旦訓(xùn)練完成,可以選擇丟棄整個(gè)ControlNet,通過(guò)文本提示控制角色的姿勢(shì),或在推理過(guò)程中用新姿勢(shì)引導(dǎo)圖像生成。完整流程如下圖2所示。
參考信息提取
由于面部識(shí)別模型提取的面部特征有效捕捉語(yǔ)義細(xì)節(jié)并增強(qiáng)保真度,類似于InstantID和IP-Adapter-FaceID,利用Arcface檢測(cè)面部并從參考圖像中獲得對(duì)齊的面部embeddings。為了保持發(fā)型、服裝和身體的一致性,首先對(duì)參考圖像進(jìn)行分割以裁剪角色。遵循IP-Adapter和MM-Diff等最新工作,使用預(yù)訓(xùn)練的CLIP視覺(jué)編碼器,以提取角色的發(fā)型、服裝和身體特征。在訓(xùn)練過(guò)程中,面部編碼器(即Arcface模型)和圖像編碼器(即CLIP視覺(jué)編碼器)保持凍結(jié)狀態(tài)。
使用Positional-aware Perceiver Resampler進(jìn)行參考信息細(xì)化
解耦交叉注意力
在提取參考信息后,利用解耦交叉注意力將其嵌入到文本到圖像模型中,遵循IP-Adapter。
從角色圖像解耦姿勢(shì)
姿勢(shì)多樣性對(duì)敘事至關(guān)重要。僅基于角色圖像進(jìn)行訓(xùn)練可能導(dǎo)致網(wǎng)絡(luò)對(duì)參考圖像的姿勢(shì)過(guò)擬合,從而生成具有相同姿勢(shì)的角色。為了促進(jìn)角色圖像與姿勢(shì)的解耦,使用Pose-ControlNet對(duì)訓(xùn)練進(jìn)行姿勢(shì)條件化。在推理過(guò)程中,可以選擇丟棄ControlNet,通過(guò)文本提示控制生成角色的姿勢(shì),或使用新提供的姿勢(shì)引導(dǎo)生成。
使用LoRA進(jìn)行訓(xùn)練
帶masks的交叉注意力圖的損失約束
為了防止多個(gè)角色與背景互相交織,研究者們使用不同角色和背景的embeddings對(duì)交叉注意力的影響區(qū)域進(jìn)行規(guī)范化。與MM-Diff不考慮背景不同,引入一個(gè)可學(xué)習(xí)的背景embeddings來(lái)解決此問(wèn)題。
其中,N是參考圖像中的角色數(shù)量,"+1"表示背景。
總體損失
實(shí)驗(yàn)
設(shè)置
數(shù)據(jù)集
研究者們收集了一個(gè)內(nèi)部角色數(shù)據(jù)集,總共有50萬(wàn)張圖像,包括30萬(wàn)張單角色圖像和20萬(wàn)張雙角色圖像。圖像標(biāo)題使用CogVLM自動(dòng)生成。
使用buffalo_l模型檢測(cè)并獲取每個(gè)面部的ID-embedding 。角色分割mask是通過(guò)內(nèi)部實(shí)例分割模型獲取的。
訓(xùn)練細(xì)節(jié)
基于Stable Diffusion XL訓(xùn)練模型。類似于IP-Adapter-FaceID,使用buffalo_l 作為面部識(shí)別模型,使用OpenCLIP ViT-H/14作為圖像編碼器??捎?xùn)練的LoRA權(quán)重的秩設(shè)置為128。
在訓(xùn)練期間,凍結(jié)基礎(chǔ)模型的原始權(quán)重,僅訓(xùn)練PPR模塊和LoRA權(quán)重。此外,分別從IP-Adapter-FaceID和IP-Adapter初始化面部和角色的重采樣模塊權(quán)重。本文的模型在8個(gè)NVIDIA A100 GPU上訓(xùn)練8000步,每個(gè)GPU的批量大小為8。使用AdamW,前4000步的學(xué)習(xí)率為1e-4,后4000步為5e-5。將設(shè)置為0.1。訓(xùn)練圖像的分辨率調(diào)整為1024×1024。在訓(xùn)練過(guò)程中,文本標(biāo)題隨機(jī)丟棄10%,裁剪的角色圖像隨機(jī)丟棄5%。在推理期間,使用UniPC采樣器,設(shè)定25步,分類器無(wú)指導(dǎo)的引導(dǎo)值設(shè)置為7.5。
評(píng)估指標(biāo)
為了與其他方法進(jìn)行比較,在單角色設(shè)置中評(píng)估本文的方案。共收集了40個(gè)角色的數(shù)據(jù)集,并從FastComposer采用20個(gè)獨(dú)特的文本提示,為每個(gè)提示生成4張圖像。遵循FastComposer 和MM-Diff,使用CLIP圖像相似度(CLIP-I)將生成的圖像與參考圖像進(jìn)行比較。為了評(píng)估身份保留,采用buffalo_l模型檢測(cè)并計(jì)算兩個(gè)面部圖像之間的余弦相似度(Face Sim.)。此外,使用CLIP分?jǐn)?shù)(CLIP-T)評(píng)估圖像與文本的相似度。
結(jié)果
定量評(píng)估
如下表1所示,將StoryMaker與四個(gè)無(wú)調(diào)優(yōu)角色生成模型進(jìn)行比較,包括MM-Diff、PhotoMaker-V2、InstantID和IP-Adapter-FaceID。
StoryMaker在先前方法中獲得了最高的CLIP-I分?jǐn)?shù),這歸功于整個(gè)肖像的一致性,包括面部、發(fā)型和服裝,盡管其CLIP-T相對(duì)較低,稍微妥協(xié)了文本提示的遵循性。對(duì)于面部相似度,本文的方法優(yōu)于其他方法,除了InstantID。將InstantID的優(yōu)越表現(xiàn)歸因于廣泛的訓(xùn)練數(shù)據(jù)和IdentityNet控制模塊。需要注意的是,在所有評(píng)估的方法中,只有MM-Diff和本文的方法能夠保留多個(gè)人的ID。此外,StoryMaker是唯一一個(gè)在面部、服裝、發(fā)型和身體上都保持一致性的方案。
可視化
單角色圖像生成。如下圖3所示,與為身份保留設(shè)計(jì)的IP-Adapter-FaceID、InstantID、MM-Diff和PhotoMaker-V2相比,所提的StoryMaker不僅保持了面部的保真度,還保持了服裝的一致性。雖然IP-Adapter-Plus在服裝一致性方面表現(xiàn)良好,但在文本提示遵循和面部保真度方面存在不足。
個(gè)性化故事擴(kuò)散。給定參考角色圖像,StoryMaker可以根據(jù)任意提示生成一致的角色圖像,從而利用一系列提示創(chuàng)建故事。如圖1的前三行所示,本文的方法根據(jù)五個(gè)文本提示描述的“一個(gè)辦公室工作的人的一天”生成了一系列單人圖像。生成的角色姿勢(shì)各異,而不受給定姿勢(shì)圖的控制。在下圖1的最后兩張圖像中,展示了以電影《日出之前》為主題的故事,生成了兩個(gè)角色。為了實(shí)現(xiàn)最佳效果,使用指定姿勢(shì)控制生成。
應(yīng)用
本文的方法在對(duì)齊ID、服裝、一致性保持提示及提升生成圖像的多樣性和質(zhì)量方面表現(xiàn)出色,為多樣的下游應(yīng)用奠定了堅(jiān)實(shí)基礎(chǔ)。如下圖5(a)所示,男性或女性角色可以在保持服裝一致性的情況下變?yōu)槟泻⒒蚺ⅰ?/p>
此外,StoryMaker展示了驚人的服裝交換能力(圖5(b)),通過(guò)將角色圖像替換為服裝圖像,實(shí)現(xiàn)了這一點(diǎn),這表明角色embedding包含服裝信息。此外,類似于IP-Adapter和InstantID,StoryMaker作為即插即用模塊,能夠與LoRA或ControlNet集成,以生成多樣化圖像,同時(shí)保持角色一致性,如下圖5(c,e)所示。由于其角色保留能力,人像變體得以實(shí)現(xiàn),如圖5(d)所示。此外,研究者們探索了兩個(gè)角色之間的角色插值,展示了StoryMaker混合多個(gè)角色特征的能力,如圖5(f)所示。
結(jié)論
本文介紹了StoryMaker,這是一種新穎的個(gè)性化圖像生成方法,能夠在多角色場(chǎng)景中不僅保持面部身份的一致性,還能保持服裝、發(fā)型和身體的一致性。
本文的方法通過(guò)允許背景、姿勢(shì)和風(fēng)格的變化來(lái)增強(qiáng)敘事創(chuàng)作,從而實(shí)現(xiàn)多樣和連貫的故事講述。StoryMaker利用Positional-aware Perceiver Resampler融合從面部圖像和裁剪角色圖像中提取的特征,獲得獨(dú)特的角色embedding。為了防止多個(gè)角色與背景的交錯(cuò),使用MSE損失和分割mask分別約束不同角色和背景的交叉注意力影響區(qū)域。通過(guò)引入ControlNet進(jìn)行姿勢(shì)解耦和使用LoRA增強(qiáng)保真度,StoryMaker始終生成高質(zhì)量且匹配身份和視覺(jué)一致性的圖像。
廣泛實(shí)驗(yàn)表明,StoryMaker在保持角色身份和一致性方面表現(xiàn)優(yōu)越,尤其在多角色場(chǎng)景中超越現(xiàn)有的無(wú)調(diào)優(yōu)模型。該模型的多樣性在服裝交換、角色和與其他生成插件的集成等各種應(yīng)用中得到了進(jìn)一步體現(xiàn)。相信StoryMaker對(duì)個(gè)性化圖像生成作出了重要貢獻(xiàn),并為數(shù)字故事講述、漫畫(huà)等領(lǐng)域的廣泛應(yīng)用開(kāi)辟了可能性,在這些領(lǐng)域中,個(gè)性與敘事連貫性至關(guān)重要。
本文轉(zhuǎn)自 AI生成未來(lái) ,作者: AI生成未來(lái)
