ECCV`24 | 螞蟻集團(tuán)開源風(fēng)格控制新SOTA!StyleTokenizer:零樣本精確控制圖像生成
文章鏈接:https://arxiv.org/pdf/2409.02543
代碼&數(shù)據(jù)集鏈接:https://github.com/alipay/style-tokenizer
亮點(diǎn)直擊
- 介紹了一種名為StyleTokenizer的新方法,用于在擴(kuò)散模型中進(jìn)行風(fēng)格控制。這種方法允許通過一個(gè)任意參考圖像實(shí)現(xiàn)對(duì)生成圖像風(fēng)格的精確控制,無需訓(xùn)練,同時(shí)最小化對(duì)文本提示控制效果的影響。實(shí)驗(yàn)結(jié)果顯示,方法在風(fēng)格控制領(lǐng)域相比其他最先進(jìn)的方法表現(xiàn)出色。
- 整理了一個(gè)名為Style30k的數(shù)據(jù)集,包含超過300種廣泛分布的風(fēng)格類別,由專業(yè)設(shè)計(jì)師手動(dòng)收集。該數(shù)據(jù)集總共包括30,000張圖像,這是目前最大、最具多樣性的開源風(fēng)格數(shù)據(jù)集。利用該數(shù)據(jù)集,訓(xùn)練了一個(gè)強(qiáng)大的風(fēng)格編碼器,能夠基于單一參考圖像有效地表示風(fēng)格信息。
總結(jié)速覽
解決的問題:
- 風(fēng)格控制的難題:在文本生成圖像的過程中,現(xiàn)有方法難以同時(shí)有效控制圖像風(fēng)格和保持文本提示的語義信息。
- 條件干擾:許多基于適配器的方法在去噪過程中施加圖像表示條件,這些條件與文本控制條件之間會(huì)產(chǎn)生干擾,導(dǎo)致風(fēng)格控制和文本控制的效果不理想。
- 風(fēng)格表示獲取困難:從單一參考圖像中準(zhǔn)確提取和表達(dá)風(fēng)格,尤其是在保持文本提示語義完整性的同時(shí),是一個(gè)具有挑戰(zhàn)性的問題。
提出的方案:
- StyleTokenizer方法:是一種零樣本風(fēng)格控制的圖像生成方法,能夠在不影響文本表示效果的情況下,實(shí)現(xiàn)精確的風(fēng)格控制。
- 風(fēng)格與文本對(duì)齊:通過使用StyleTokenizer將風(fēng)格表示與文本表示對(duì)齊,避免風(fēng)格控制與文本控制條件之間的干擾。
- Style30k數(shù)據(jù)集:創(chuàng)建了一個(gè)名為Style30k的大規(guī)模風(fēng)格數(shù)據(jù)集,用于訓(xùn)練模型更好地提取和表示風(fēng)格特征。
- 風(fēng)格特征提取器:設(shè)計(jì)并訓(xùn)練了一個(gè)風(fēng)格特征提取器,能夠準(zhǔn)確捕捉和表達(dá)參考圖像的風(fēng)格特征,同時(shí)排除其他內(nèi)容信息。
應(yīng)用的技術(shù):
- StyleTokenizer:將風(fēng)格表示與文本表示對(duì)齊,避免風(fēng)格和文本控制條件之間的干擾。
- 風(fēng)格特征提取器:通過對(duì)Style30k數(shù)據(jù)集進(jìn)行訓(xùn)練,準(zhǔn)確表示風(fēng)格細(xì)節(jié),同時(shí)避免與內(nèi)容信息的混淆。
- 對(duì)比學(xué)習(xí):增強(qiáng)風(fēng)格特征提取器的魯棒性,使其能夠更好地適應(yīng)和處理新的風(fēng)格。
達(dá)到的效果:
- StyleTokenizer方法能夠充分捕捉參考圖像的風(fēng)格特征。
- 能夠生成與目標(biāo)圖像風(fēng)格和文本提示一致的圖像。
- 與現(xiàn)有方法相比,StyleTokenizer實(shí)現(xiàn)了高效、準(zhǔn)確的風(fēng)格控制。
- 在保持文本提示語義完整性的同時(shí),生成了令人滿意的圖像。
方法
這項(xiàng)研究提出了一種基于Stable Diffusion框架的創(chuàng)新方法,用于在圖像生成中解耦內(nèi)容和風(fēng)格條件,從而創(chuàng)造出視覺上更加吸引人的圖像。該方法主要引入了兩個(gè)關(guān)鍵模塊:
- 風(fēng)格編碼器(Style Encoder):此模塊負(fù)責(zé)從圖像中提取風(fēng)格信息。通過在一個(gè)名為Style30K的風(fēng)格數(shù)據(jù)集上進(jìn)行訓(xùn)練,風(fēng)格編碼器能夠準(zhǔn)確捕捉圖像的風(fēng)格特征,為后續(xù)的風(fēng)格控制提供基礎(chǔ)。
- 風(fēng)格標(biāo)記器(Style Tokenizer):該模塊將從風(fēng)格編碼器中提取的風(fēng)格表示轉(zhuǎn)換為風(fēng)格token,并與文本token在詞嵌入空間中對(duì)齊。風(fēng)格標(biāo)記器的訓(xùn)練過程確保了風(fēng)格標(biāo)記與文本token的兼容性,使得風(fēng)格和內(nèi)容能夠有效結(jié)合。
在生成圖像的最后階段,這些風(fēng)格token和文本token被連接在一起,并作為條件輸入到穩(wěn)定擴(kuò)散模型中,從而生成最終的圖像。這種方法通過精確控制圖像的風(fēng)格和內(nèi)容,為圖像生成提供了新的可能性。
StyleTokenizer方法總體流程
兩個(gè)階段。在第一階段,風(fēng)格編碼器在風(fēng)格數(shù)據(jù)集上進(jìn)行訓(xùn)練,以獲得風(fēng)格表示能力。采用對(duì)比學(xué)習(xí)來強(qiáng)化它,以關(guān)注不同風(fēng)格之間的距離差異,從而更好地表現(xiàn)風(fēng)格。
在第二階段,風(fēng)格編碼器從單個(gè)圖像中提取風(fēng)格嵌入,然后風(fēng)格標(biāo)記器將其轉(zhuǎn)換為風(fēng)格標(biāo)記,這些token與單詞嵌入空間中的文本token對(duì)齊。最后,這些token被輸入到SD pipeline中,作為生成圖像的條件。
StyleTokenizer整體如下圖:
Style30K數(shù)據(jù)集
描述圖像風(fēng)格對(duì)于藝術(shù)家來說已經(jīng)相當(dāng)具有挑戰(zhàn)性,而對(duì)普通人來說更是難上加難。圖像風(fēng)格涉及的內(nèi)容非常復(fù)雜,包括色彩分布、光照、線條風(fēng)格、藝術(shù)風(fēng)格、筆觸和情感等。這些特征雖然可以通過視覺感知,但用語言準(zhǔn)確全面地表達(dá)卻非常困難。因此,直接從圖像中提取風(fēng)格特征比單純依賴文字描述要更為有效。
為了應(yīng)對(duì)這一問題,研究人員開發(fā)了一個(gè)名為Style30K的風(fēng)格數(shù)據(jù)集,并設(shè)計(jì)了一個(gè)專門用于捕捉風(fēng)格特征的風(fēng)格編碼器(Style Encoder),如下圖4所示。與現(xiàn)有的通用特征提取方法不同,Style30K旨在專門訓(xùn)練風(fēng)格相關(guān)的特征提取能力。
該數(shù)據(jù)集的構(gòu)建過程分為三個(gè)主要階段。首先,研究人員收集了大量具有不同風(fēng)格的圖像,并用三張示例圖像來代表每種風(fēng)格。接著,使用不同的嵌入提取器從這些示例圖像中提取特征,并在大規(guī)模數(shù)據(jù)集中進(jìn)行檢索。第二階段中,研究人員手動(dòng)篩選檢索結(jié)果,確保收集到的圖像與示例圖像風(fēng)格一致,并且每張圖像都經(jīng)過三位標(biāo)注員的一致確認(rèn)。最后,在第三階段中,使用CogVLM為每張圖像添加了內(nèi)容描述。描述內(nèi)容僅關(guān)注圖像的實(shí)際內(nèi)容,而不涉及風(fēng)格,從而保證了風(fēng)格和內(nèi)容控制信號(hào)的獨(dú)立性。
風(fēng)格編碼器
在這一部分,研究人員詳細(xì)描述了如何訓(xùn)練風(fēng)格編碼器(Style Encoder,Es),該編碼器的主要任務(wù)是從圖像中提取風(fēng)格線索,并將這些線索編碼成風(fēng)格嵌入(fs),以指導(dǎo)生成過程。
從單一參考圖像中獲取準(zhǔn)確的風(fēng)格表示并非易事。傳統(tǒng)的方法通常依賴于CLIP圖像編碼器來提取圖像表示,從而實(shí)現(xiàn)內(nèi)容和風(fēng)格的控制。盡管這種方法在對(duì)顏色、主體、布局等視覺方面的控制上表現(xiàn)不錯(cuò),但它并未能獨(dú)立控制這些方面,尤其是在風(fēng)格控制方面,因?yàn)镃LIP主要依賴粗粒度的語義信息進(jìn)行訓(xùn)練。
為了克服這一限制,研究人員引入了一個(gè)經(jīng)過標(biāo)注的風(fēng)格數(shù)據(jù)集——Style30K,用于訓(xùn)練一個(gè)專注于準(zhǔn)確風(fēng)格表示的編碼器。這個(gè)風(fēng)格編碼器通過監(jiān)督學(xué)習(xí)的方式進(jìn)行訓(xùn)練,確保它僅關(guān)注與風(fēng)格相關(guān)的信息,而忽略與內(nèi)容無關(guān)的細(xì)節(jié)。通過這種方式,風(fēng)格編碼器能夠?qū)W⒂诓煌L(fēng)格之間的細(xì)微差別。此外,為了進(jìn)一步提高編碼器的泛化能力,研究人員采用了對(duì)比損失的監(jiān)督策略。這種方法幫助模型在嵌入空間中將相同風(fēng)格的圖像聚集在一起,而將不同風(fēng)格的圖像分散開來,從而增強(qiáng)了風(fēng)格編碼器處理新風(fēng)格的魯棒性。
風(fēng)格控制
以往基于適配器的方法在擴(kuò)散模型中引入了圖像提示功能,這種做法顯著提升了生成那些難以用提示語言描述的內(nèi)容的能力。這些方法通過在Unet模塊中添加額外的交叉注意力層,將風(fēng)格表示融入生成過程中。然而,這種方法在去噪過程中同時(shí)應(yīng)用文本和風(fēng)格條件,可能導(dǎo)致控制信號(hào)之間的干擾,從而喪失部分語義信息。
相較而言,Stable Diffusion(SD)模型的詞嵌入空間提供了豐富的風(fēng)格控制能力。
Dreambooth 和 Textual Inversion 已經(jīng)展示了,通過現(xiàn)有詞典之外的詞嵌入可以表達(dá)各種內(nèi)容。不過,這些方法需要額外的參考圖像進(jìn)行調(diào)優(yōu),并且容易在特定內(nèi)容上出現(xiàn)過擬合。此外,盡管精心編寫的文本提示可以影響圖像風(fēng)格,直接利用文本描述來控制風(fēng)格依然具有挑戰(zhàn)性。SD 在訓(xùn)練期間使用的文本描述通常缺乏對(duì)圖像風(fēng)格的詳細(xì)說明,同時(shí),圖像風(fēng)格涉及多方面特征,難以通過自然語言全面表達(dá)。
為了解決這些問題,研究人員提出了一種新的方法,旨在為每張圖像提供全面且準(zhǔn)確的風(fēng)格描述,并能夠應(yīng)用于擴(kuò)散流程。他們的風(fēng)格編碼器(Style Encoder)可以從圖像中提取獨(dú)特的風(fēng)格嵌入。接著,研究人員利用一個(gè)名為StyleTokenizer的兩層多層感知器(MLP)將這些風(fēng)格嵌入映射到詞嵌入空間中的風(fēng)格標(biāo)記。StyleTokenizer 的參數(shù)在訓(xùn)練過程中會(huì)更新,而SD模型的參數(shù)則保持凍結(jié)。這樣,映射后的風(fēng)格嵌入能夠提供圖像風(fēng)格的全面和精準(zhǔn)的表示。最終,風(fēng)格嵌入和文本嵌入被結(jié)合,并輸入到SD的文本編碼器中,這樣風(fēng)格圖像就可以作為風(fēng)格提示來生成圖像,從而更好地描述所需風(fēng)格。同時(shí),風(fēng)格和內(nèi)容在各自獨(dú)立的語義空間中處理,避免了風(fēng)格和內(nèi)容之間的重疊。
實(shí)驗(yàn)
實(shí)驗(yàn)細(xì)節(jié)
質(zhì)量評(píng)價(jià)
為了評(píng)估他們的方法在風(fēng)格控制和提示跟隨方面的表現(xiàn),研究團(tuán)隊(duì)將其方法與其他先進(jìn)的方法進(jìn)行了比較,包括StyTr2、InST、CAST、SD(使用風(fēng)格提示控制)和IP-Adapter。為此,他們準(zhǔn)備了一個(gè)基準(zhǔn)測(cè)試,包括52個(gè)提示和28個(gè)風(fēng)格參考圖像,這些提示來源于StyleAdapter使用的設(shè)置。這些提示涵蓋了各種內(nèi)容,如人類、動(dòng)物、物體和場(chǎng)景,而參考圖像則包括一些常見風(fēng)格和一些難以用語言描述的風(fēng)格。這些參考圖像和提示都沒有排除在訓(xùn)練過程之外。下圖5展示了不同方法生成的圖像,每列展示了使用相同提示和參考圖像生成的結(jié)果。
從結(jié)果中可以看出,StyTr2和InST在捕捉參考圖像的主要色調(diào)方面表現(xiàn)良好,但在整體風(fēng)格(如紋理)的把握上有所欠缺。例如,它們能夠捕捉到參考圖像中的紅色,但未能準(zhǔn)確呈現(xiàn)剪紙風(fēng)格。此外,這些方法生成的圖像質(zhì)量通常低于其他方法。雖然風(fēng)格提示控制在簡(jiǎn)單風(fēng)格類別(如油畫和水墨畫)中能實(shí)現(xiàn)一定的風(fēng)格控制,但缺乏參考圖像會(huì)導(dǎo)致細(xì)節(jié)上的顯著差異。對(duì)于那些難以用語言描述的復(fù)雜風(fēng)格,它們的風(fēng)格控制能力顯著下降。IP-Adapter能夠生成接近原始風(fēng)格的圖像,但在內(nèi)容與參考圖像分離方面存在困難,導(dǎo)致提示跟隨能力不足。例如,在生成的圖像中,盡管包含了山脈和向日葵,但參考圖像中的人類也出現(xiàn)在了結(jié)果中。IP-Adapter的主要優(yōu)勢(shì)在于圖像變換和編輯。然而,相比之下,研究團(tuán)隊(duì)的方法在風(fēng)格一致性方面表現(xiàn)優(yōu)異,包括線條、紋理、顏色和情感等方面,并且在跟隨文本提示方面具有強(qiáng)大的能力??傮w來看,該方法生成的圖像在美學(xué)質(zhì)量上優(yōu)于其他方法。
定量評(píng)估
使用以下指標(biāo)來評(píng)估生成圖像的質(zhì)量和效果:
- 文本-圖像相似性:我們使用CLIP模型從生成的圖像及其相應(yīng)的文本提示中提取嵌入。然后計(jì)算提示和生成圖像之間的余弦相似性。較高的余弦相似性表示更好的指令跟隨能力。
- 美學(xué)評(píng)分:為了評(píng)估生成圖像的美學(xué)質(zhì)量,我們使用LAION-Aesthetics Predictor 預(yù)測(cè)每個(gè)生成圖像的美學(xué)評(píng)分。此指標(biāo)衡量圖像的視覺吸引力和藝術(shù)質(zhì)量。較高的美學(xué)評(píng)分表示圖像更具視覺吸引力。
- 風(fēng)格相似性:由于沒有普遍接受的風(fēng)格相似性評(píng)估方法,我們模仿了由CLIP計(jì)算的文本-圖像相似性指標(biāo)。通過風(fēng)格編碼器提取風(fēng)格參考圖像和生成圖像的風(fēng)格嵌入。然后計(jì)算它們的余弦相似性。較高的余弦相似性表示生成圖像中對(duì)所需風(fēng)格的控制更好。
- 用戶研究:為了更全面地評(píng)估風(fēng)格相似性,進(jìn)行了用戶研究。對(duì)于每種方法生成的圖像,我們讓20名用戶(10名專業(yè)設(shè)計(jì)師和10名普通用戶)匿名投票選擇他們認(rèn)為風(fēng)格最接近參考圖像的圖像。歸一化的投票數(shù)(投票率)作為風(fēng)格相似性評(píng)分。
對(duì)于這些指標(biāo)中的每一個(gè),計(jì)算所有生成結(jié)果的平均值,以提供對(duì)現(xiàn)有風(fēng)格控制模型性能的總體評(píng)估。實(shí)驗(yàn)結(jié)果總結(jié)在下表1中,使用上述評(píng)估指標(biāo)將本文方法與最新的方法進(jìn)行比較。辦法在風(fēng)格相似性方面顯著優(yōu)于其他最新的方法。在用戶研究中,方法也獲得了比其他方法更多的投票。這些結(jié)果突出顯示了方法在生成圖像中保持期望風(fēng)格的效果。
此外,本文方法在大規(guī)模高美學(xué)數(shù)據(jù)上進(jìn)行訓(xùn)練,因此比基礎(chǔ)SD模型獲得了更高的美學(xué)評(píng)分。如前面圖5所示,它在美學(xué)方面的結(jié)果優(yōu)于其他方法。至于指令跟隨,本文方法在文本-圖像相似性方面的表現(xiàn)與基礎(chǔ)SD模型相當(dāng)。這表明方法在風(fēng)格控制過程中沒有降低指令跟隨能力??傊?,實(shí)驗(yàn)結(jié)果表明,本文方法能夠?qū)崿F(xiàn)更好的風(fēng)格控制能力和生成視覺上更具吸引力的圖像,同時(shí)風(fēng)格控制不會(huì)影響指令跟隨能力。
風(fēng)格編碼器評(píng)估
對(duì)風(fēng)格編碼器進(jìn)行了評(píng)估,并與幾個(gè)公開的特征編碼器進(jìn)行比較,即CLIP、VGG 和 BlendGAN 。評(píng)估在Style30K的驗(yàn)證集上進(jìn)行,該驗(yàn)證集包含12種不同的風(fēng)格類別,總共900張圖像,這些圖像與訓(xùn)練風(fēng)格類別不重復(fù)。
研究者們使用了多種方法來提取驗(yàn)證集中每張圖像的風(fēng)格嵌入,并將這些嵌入的分布在表示空間中進(jìn)行了可視化。下圖6展示了不同類別的風(fēng)格嵌入以不同顏色的點(diǎn)表示,這些點(diǎn)在空間中形成了各自的簇。結(jié)果表明,他們的風(fēng)格編碼器能夠有效地將相同風(fēng)格類別的圖像聚集在一起,顯示出較小的類內(nèi)距離和較大的類間差異。這表明該方法在捕捉和展示圖像風(fēng)格方面表現(xiàn)出色,并且能夠處理新穎的風(fēng)格變化。進(jìn)一步的定量評(píng)估通過Silhouette Coefficient和Calinski-Harabasz指標(biāo)確認(rèn)了這一點(diǎn)。無論是從視覺效果還是從聚類指標(biāo)來看,該方法在提取風(fēng)格特征并進(jìn)行風(fēng)格聚類方面都優(yōu)于其他方法。
消融研究
通過消融研究以評(píng)估風(fēng)格編碼器和Style Tokenizer的有效性,如下圖7和表3所示。圖7(b)表示風(fēng)格嵌入沒有首先通過Style Tokenizer對(duì)齊到詞嵌入空間,而是直接與文本嵌入連接。圖7(c)表示沒有使用風(fēng)格編碼器進(jìn)行風(fēng)格表示,而是直接使用CLIP視覺編碼器對(duì)圖像進(jìn)行編碼。實(shí)驗(yàn)結(jié)果表明,如果缺少其中任何一個(gè),生成的圖像要么指令跟隨能力減弱,要么風(fēng)格一致性較差。
其他應(yīng)用
由于本文方法能夠保持參考圖像中的風(fēng)格,如果使用多張不同風(fēng)格的圖像作為參考,則風(fēng)格融合會(huì)產(chǎn)生新的風(fēng)格。在圖8中展示了使用兩種風(fēng)格進(jìn)行風(fēng)格混合的效果。通過以調(diào)色板風(fēng)格作為控制開始,并逐漸融入素描風(fēng)格,生成的圖像顯示出從調(diào)色板風(fēng)格到素描風(fēng)格的漸進(jìn)過渡。
總結(jié)和展望
這是一種創(chuàng)新的zero-shot方法,旨在精確控制生成圖像的風(fēng)格。該方法通過將風(fēng)格和內(nèi)容條件分離,實(shí)現(xiàn)了對(duì)生成圖像風(fēng)格的精準(zhǔn)控制。首先,團(tuán)隊(duì)構(gòu)建了一個(gè)精細(xì)標(biāo)注的風(fēng)格數(shù)據(jù)集——Style30K,并開發(fā)了一個(gè)風(fēng)格編碼器,用于從參考圖像中提取風(fēng)格特征。隨后,引入了StyleTokenizer,將風(fēng)格token和文本token對(duì)齊到一個(gè)統(tǒng)一的表示空間中。最終,這些對(duì)齊后的token被用作擴(kuò)散模型去噪過程中的條件輸入。該方法為圖像生成中的風(fēng)格控制提供了一種靈活而有效的解決方案,開辟了生成高質(zhì)量風(fēng)格化內(nèi)容的新途徑。
本文轉(zhuǎn)自 AI生成未來 ,作者:AI生成未來
