何文睿,高丹陽,周羿旭,朱強(qiáng)
(1.北京信息科技大學(xué) 計(jì)算機(jī)學(xué)院,北京 100192;2.浙江大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,杭州 310058)
近年來,隨著ChatGPT、文心一言等生成式大模型的提出,人工智能生成內(nèi)容(artificial intelligence generated content,AIGC)技術(shù)受到學(xué)術(shù)界的廣泛關(guān)注[1]。AIGC在圖像、文本、音頻、視頻等多樣性內(nèi)容創(chuàng)作任務(wù)上,以其創(chuàng)新性的生成方式引發(fā)了研究者們的濃厚興趣[2]。研究初期,大部分AIGC相關(guān)任務(wù)使用基于生成對抗網(wǎng)絡(luò)(generative adversarial network,GAN)實(shí)現(xiàn),其通過對抗訓(xùn)練策略,致力于產(chǎn)生逼真的數(shù)據(jù)樣本。然而,GAN方法在訓(xùn)練過程中的復(fù)雜性和不穩(wěn)定性,以及可能出現(xiàn)模式坍塌現(xiàn)象和難以控制的樣本生成質(zhì)量等固有問題,限制了其進(jìn)一步的發(fā)展。
隨著具備更優(yōu)越性能和更強(qiáng)大處理能力的大型模型技術(shù)逐漸成熟,生成式人工智能逐漸采用“大模型+大數(shù)據(jù)”的結(jié)合策略。例如,OpenAI發(fā)布的DALL·E2模型融合了預(yù)訓(xùn)練CLIP(contrastive language-image pre-training)模型和擴(kuò)散模型,實(shí)現(xiàn)了從文本到圖像的生成;Google提出的Phenaki使用預(yù)訓(xùn)練的雙向掩碼Transformer模型,對文本進(jìn)行編碼并直接生成視頻內(nèi)容;Deepmind研發(fā)的Alphacode運(yùn)用大規(guī)?;赥ransformer的語言模型,實(shí)現(xiàn)代碼自動生成任務(wù)[3-5]。上述模型的出現(xiàn),標(biāo)志著AIGC領(lǐng)域正朝著更為高效和多樣化的方向迅速發(fā)展,為多領(lǐng)域的創(chuàng)作和應(yīng)用帶來了新的機(jī)遇和挑戰(zhàn)。
目前,生成式大模型可依據(jù)其所應(yīng)用的任務(wù)類型,粗略劃分為九大范疇,其中包括但不限于:文本生成圖像、文本生成視頻、圖像生成文本、圖像生成圖像等。作為圖像生成圖像領(lǐng)域中的經(jīng)典任務(wù)之一,生成式圖像合成任務(wù)旨在基于用戶所提供的參考圖像,在確保合成圖像的主體真實(shí)一致的前提下,實(shí)現(xiàn)圖像中前景與背景的巧妙無縫融合。此外,該任務(wù)還能根據(jù)用戶的文本輸入,完成細(xì)粒度的修改與微調(diào)。如,Zhang等[6]深入探討了前景元素在圖像中的空間定位與尺度信息的預(yù)測;Zhan等[7]致力于消除前景物體引發(fā)的不必要遮擋,以提升圖像的觀賞質(zhì)量。
生成式圖像合成任務(wù)的發(fā)展為現(xiàn)實(shí)生活中的具體應(yīng)用領(lǐng)域帶來了優(yōu)勢。以電子商務(wù)領(lǐng)域?yàn)槔?傳統(tǒng)商品圖像的制作過程涉及線下拍攝、圖像優(yōu)化及細(xì)節(jié)調(diào)校等復(fù)雜階段,通常需多次迭代以獲得理想的商品圖像結(jié)果。然而,將生成式圖像合成方法引入此任務(wù),可實(shí)現(xiàn)自動生成高品質(zhì)商品背景圖,同時(shí)通過文本描述等方式實(shí)現(xiàn)低成本的細(xì)節(jié)微調(diào),極大降低了時(shí)間和人力資源成本,提升了生產(chǎn)效率與靈活性,為用戶提供了更為高效、便捷及個(gè)性化的商品展示解決方案。但在具體實(shí)際應(yīng)用過程中,其仍存有一定局限性:若完全采用生成式合成方法,則無法確保商品主體的一致性;然而,若采用簡單的前后景拼接方式,則可能導(dǎo)致前后景不協(xié)調(diào),難以保障圖像邏輯性等問題。因此,需在模型的創(chuàng)造能力與控制能力之間找到平衡點(diǎn),以保證創(chuàng)造性實(shí)現(xiàn)生成多樣化背景,同時(shí)強(qiáng)化控制能力,以確保主體和前后景之間的一致性與真實(shí)性。
考慮到在該任務(wù)中,涉及到文本和圖像兩種引導(dǎo)信息,因此,我們選擇生成式大模型Stable Diffusion作為基本生成框架,并結(jié)合提示處理優(yōu)化等模塊,提出了一個(gè)聚焦于電子商務(wù)領(lǐng)域的商品圖像合成任務(wù)的解決范式,極大降低了傳統(tǒng)方式所帶來的時(shí)間和人力資源成本,提升了生產(chǎn)效率與靈活性。
圖像合成(image composition)任務(wù)旨在將一張圖像的前景與另一張圖像融合,生成一張新圖像。在該過程中,必須解決前后景之間的不一致等問題,包括但不限于外形、尺度和語義等方面的不協(xié)調(diào)。針對這些關(guān)鍵子問題,研究者們提出了多項(xiàng)子任務(wù),具體包括:1)物品放置:為前景物體確定適宜的位置、尺度與形狀[8];2)圖像融合:解決前后景邊界不自然的難題[9-10];3)圖像和諧:透過調(diào)整色調(diào)、色溫等視覺特征,增強(qiáng)前后景的視覺一致性[11-13];4)陰影生成:為新融合進(jìn)背景的前景物體生成與背景中光影方向一致的陰影,以提升合成圖像的整體真實(shí)性[14-15]。為了應(yīng)對上述諸多問題,本文同時(shí)借助于掩碼圖控制和生成式融合策略,以實(shí)現(xiàn)視覺一致性。
提示工程(prompt engineering)的主要目的在于設(shè)計(jì)和優(yōu)化預(yù)訓(xùn)練語言模型的輸入文本,以引導(dǎo)模型生成更為符合用戶預(yù)期的輸出。近年來,隨著諸如ChatGPT等大模型的發(fā)布,提示工程的概念得到了更為廣泛的應(yīng)用,其現(xiàn)今涵蓋了對大模型輸入的調(diào)整,包括對文本輸入和圖像輸入的合理調(diào)整,確保模型生成結(jié)果更加契合用戶的預(yù)期[16-17]。
文本提示的設(shè)計(jì)通常需要滿足以下兩個(gè)關(guān)鍵要求。1)明確的指導(dǎo):所使用的文本提示應(yīng)當(dāng)具有清晰且具體的表述,以確保模型能夠充分理解其意圖;2)正確的格式:鑒于大模型對于輸入格式的要求,文本提示的格式應(yīng)嚴(yán)格符合其規(guī)范。為了獲得有效且高質(zhì)量的文本提示,Yao等[18]引入了一種全新的知識引導(dǎo)上下文優(yōu)化策略,以增強(qiáng)可學(xué)習(xí)文本提示在面對不可見類別時(shí)的泛化能力;Ma等[19]提出了一種高效且可解釋的方法,以提升模型對于文本提示上下文的學(xué)習(xí)理解能力;Wang等[20]則提出了多任務(wù)提示調(diào)優(yōu)策略,首先從多個(gè)任務(wù)特定的源提示中提取知識,以學(xué)習(xí)一個(gè)單一的可遷移提示,緊接著通過乘法低秩更新學(xué)習(xí)適應(yīng)每個(gè)下游任務(wù)的共享提示;而Diao等[21]則提出了一種新穎的主動提示方法,通過任務(wù)特定的示例提示(使用人工設(shè)計(jì)的CoT推理注釋),將大型語言模型應(yīng)用于多樣的任務(wù)領(lǐng)域。
在充分考慮商品圖像合成任務(wù)的特點(diǎn)后,本文選擇將文本和圖像兩種模態(tài)的數(shù)據(jù)同時(shí)作為提示以控制生成,提出了逆向文本提示方法實(shí)現(xiàn)將圖像轉(zhuǎn)換成文本提示并進(jìn)行優(yōu)化。
擴(kuò)散模型(diffusion model)原本是物理學(xué)中的模型,后來科學(xué)家們借鑒該思想,提出了一種圖像生成方法并建立生成模型[22]。擴(kuò)散模型學(xué)習(xí)從噪聲樣本中恢復(fù)原始數(shù)據(jù),獨(dú)特的訓(xùn)練方法克服了GAN的局限性,如梯度消失導(dǎo)致的生成器訓(xùn)練失敗、對抗性學(xué)習(xí)的過高計(jì)算成本和不易收斂等問題。目前,基于擴(kuò)散的生成大模型,例如DALL·E2和Imagen,獲得的圖像水平已經(jīng)實(shí)現(xiàn)對GAN多方面的超越[23-25]。
Stable Diffusion是一個(gè)基于擴(kuò)散理論的文本到圖像生成式大模型,由于該模型是基于擴(kuò)散理論研發(fā)的,因此具有更高的穩(wěn)定性。同時(shí)為了減少計(jì)算復(fù)雜度,使用了在潛在表示空間上進(jìn)行擴(kuò)散的方法,不僅降低了訓(xùn)練和推理的代價(jià),而且能保持極好的圖片生成效果,且能在更大的空間尺度上生成高質(zhì)量的圖像,并兼顧細(xì)粒度上的真實(shí)性和清晰度[26]。
但由于Stable Diffusion模型參數(shù)量龐大、訓(xùn)練非常困難,本文選擇使用輕量級訓(xùn)練插件ControlNet,以引導(dǎo)生成圖像的內(nèi)容和風(fēng)格。
本文提出的多模態(tài)引導(dǎo)圖像合成系統(tǒng)架構(gòu)如圖1所示,主要包括3個(gè)模塊。
1)圖像提示生成模塊:利用原始圖像和參考圖像生成深度圖與掩碼圖,作為圖像引導(dǎo)信息,保證商品圖融合時(shí)的位置合適且無雜亂背景生成。
2)文本提示生成模塊:利用圖像和文本作為提示信息,通過文本引導(dǎo)的方式對生成的圖像進(jìn)行微調(diào),以符合預(yù)期。
3)合成圖生成模塊:融合圖片提示與文本提示,生成前后景一致且符合審美與邏輯的新的商品圖。
圖1 多模態(tài)引導(dǎo)的圖像合成系統(tǒng)結(jié)構(gòu)Fig.1 Structure of multimodal guided image composition system
圖像提示包含兩個(gè)關(guān)鍵信息,即掩碼圖和深度圖。其中,掩碼圖旨在確保原始圖像的前景物體的完整性。深度圖為模型提供先驗(yàn)空間分布,保證在新圖像的生成過程中,原圖的前景元素得以保持優(yōu)先地位。掩碼圖和深度圖的并用,保證了圖像生成過程中更高的準(zhǔn)確性和可控性。其不僅在生成圖像中實(shí)現(xiàn)了前景的無縫融入,也在細(xì)致處理中避免了不必要的干擾,進(jìn)一步提升了生成結(jié)果的質(zhì)量與真實(shí)度。
2.1.1 基于 Segment Anything 的掩碼圖生成
本文借助圖像分割工具Segment Anything得到掩碼圖,其結(jié)構(gòu)如圖2所示。該模型支持靈活的提示,可以實(shí)時(shí)計(jì)算掩碼以允許交互式使用,并且具有模糊性意識。強(qiáng)大的圖像編碼器計(jì)算圖像嵌入,文本提示編碼器嵌入提示,然后將這兩個(gè)信息源組合在預(yù)測分割掩碼的輕量化的掩碼解碼器中預(yù)測掩碼[27]。本文系統(tǒng)使用時(shí)僅需輸入圖像。
圖2 Segment Anything結(jié)構(gòu)Fig.2 Structure of Segment Anything
Segment Anything能夠準(zhǔn)確地識別和定位圖像中的前景物體,為其生成相應(yīng)的掩碼,進(jìn)而在生成過程中為Stable Diffusion模塊提供有針對性的區(qū)域引導(dǎo)。這種精細(xì)的引導(dǎo)方式有助于確保生成結(jié)果與原始圖像的前景區(qū)域之間的無縫結(jié)合。
2.1.2 基于 ControlNet 的深度圖生成
本文所提出的商品圖生成范式旨在創(chuàng)造出與輸入?yún)⒖紙D像風(fēng)格和構(gòu)圖相符的背景圖像。理論上,可以通過訓(xùn)練額外的LoRA模型來實(shí)現(xiàn)[28]。但考慮到LoRA模型的訓(xùn)練代價(jià)昂貴,且其泛化能力有限,無法滿足多樣化的用戶需求,因此,選擇采用ControlNet,其結(jié)構(gòu)如圖3所示。
圖3 ControlNet結(jié)構(gòu)Fig.3 Structure of ControlNet
圖3中左側(cè)為標(biāo)準(zhǔn)Stable Diffusion,ControlNet的引入可以控制Stable Diffusion并使其支持更多的輸入條件,如語義分割圖、關(guān)鍵點(diǎn)圖等。ControlNet包含兩部分參數(shù):凍結(jié)參數(shù)部分和可訓(xùn)練參數(shù)部分。其中凍結(jié)參數(shù)部分固定原始權(quán)重,保留Stable Diffusion原有的圖像生成能力;可訓(xùn)練參數(shù)部分的參數(shù)在訓(xùn)練階段會進(jìn)行更新,逐步提高模型能力。利用復(fù)制的方式,能夠有效避免模型在數(shù)據(jù)集較小時(shí)出現(xiàn)過度擬合的情況,同時(shí)保留模型從數(shù)十億圖像中達(dá)到的生成質(zhì)量。本文系統(tǒng)使用時(shí)僅需輸入圖像。具體來說,本文利用ControlNet中的Reference_Only處理器,通過該處理器,只需附加一張額外圖像,即可得到高質(zhì)量的輸出結(jié)果。同時(shí)利用Depth_Midas處理器,以提取輸入圖像的深度信息,從而獲得精確的深度圖。得到的深度圖在明確生成圖像中物體的分布方面具有關(guān)鍵作用,既確保生成結(jié)果的物體分布與參考圖像相似,同時(shí)避免在主要物體周圍產(chǎn)生雜亂無章的干擾物體[29-30]。
文本提示包括兩個(gè)部分:逆向文本提示是參考圖像轉(zhuǎn)換得出的文本信息;原始文本提示由用戶直接提供。其中,逆向文本提示有助于確保生成圖像與參考圖像的相似性,而用戶輸入的原始文本則為生成圖像提供了預(yù)期描述,對生成圖像的主題、元素以及整體風(fēng)格等方面起到了約束作用。將兩種不同的文本提示相結(jié)合,賦予了生成過程更高的靈活性和可控性,既保證了生成圖像與參考圖像的一致性,又能夠滿足用戶的個(gè)性化需求。
2.2.1 基于 CLIP 的逆向文本提示生成
通過將參考圖像特征轉(zhuǎn)化為文本形式,為生成過程提供了視覺特征輔助,使得生成的圖像在構(gòu)圖與風(fēng)格上更接近于參考圖像。具體來說,逆向文本提示來自于參考圖像,借助CLIP模型,參考圖像的視覺信息被轉(zhuǎn)化成文本信息,稱為逆向文本提示。
CLIP核心結(jié)構(gòu)如圖4所示,包含文本編碼器和圖像編碼器。其預(yù)訓(xùn)練分為兩個(gè)階段:第一階段是通過一個(gè)大規(guī)模的文本數(shù)據(jù)集訓(xùn)練模型,使其能夠理解文本之間的關(guān)系;第二階段則是使用一個(gè)大規(guī)模的圖像和文本對數(shù)據(jù)集,同時(shí)訓(xùn)練圖像編碼器和文本編碼器,使得模型能夠?qū)⒑x相同的文本特征和圖像特征進(jìn)行匹配。
圖4 CLIP結(jié)構(gòu)簡圖Fig.4 Structure of CLIP
2.2.2 文本提示優(yōu)化
考慮到Stable Diffusion對輸入的文本提示有嚴(yán)格的格式要求,對于隨意輸入文本生成的圖像,達(dá)不到預(yù)期的生成視覺效果與質(zhì)量。因此,本文選擇利用大語言模型ChatGPT對文本提示進(jìn)行優(yōu)化,使其完全符合Stable Diffusion的輸入規(guī)范。優(yōu)化操作的引入,確保文本提示的規(guī)范性和準(zhǔn)確性,讓模型能夠更精確地理解用戶意圖,從而生成更具質(zhì)量的圖像。
合成圖生成模塊在圖像生成過程中綜合了多重信息輸入,包括:原始圖像作為引導(dǎo)生成過程的視覺圖像基礎(chǔ);經(jīng)過圖像分割模塊得到的掩碼圖,用于精確定位前景物體區(qū)域;利用Depth_Midas處理器得到的深度圖,提供先驗(yàn)空間分布信息;結(jié)合了圖像和文本的提示信息微調(diào)生成圖像。
具體來說,該模塊采用生成式模型Stable Diffusion實(shí)現(xiàn),能夠有效融合多模態(tài)的引導(dǎo)信息,并生成符合約束條件的高質(zhì)量圖像。在生成過程中,Stable Diffusion結(jié)合了不同需求,實(shí)現(xiàn)多源數(shù)據(jù)充分結(jié)合,能夠生成既符合預(yù)期又靈活多樣的圖像預(yù)測集合。
本文使用標(biāo)準(zhǔn)Stable Diffusion模型和ControlNet架構(gòu),具體參數(shù)設(shè)置如表1和表2所示。實(shí)驗(yàn)環(huán)境配置如下:CPU為Intel (R) Xeon (R) Gold 6154 CPU @ 3.00 GHz,GPU為NVIDIA GeForce 3090,顯存為24 GB,操作系統(tǒng)為基于 Liux 內(nèi)核的 Ubuntu 5.4.0-164-generic,編程語言為Python 3.10,深度學(xué)習(xí)框架為Pytorch。
表1 Stable Diffusion部分參數(shù)設(shè)置Table 1 Parameter settings for Stable Diffusion
表2 ControlNet部分參數(shù)設(shè)置Table 2 Parameter settings for ControlNet
圖5所示為采用本文的圖像合成系統(tǒng)對3個(gè)產(chǎn)品進(jìn)行生成的結(jié)果示例,每個(gè)示例均包含輸入原圖、參考圖及最終的生成圖像。
圖5 采用本文的圖像合成系統(tǒng)生成的結(jié)果示例Fig.5 Examples of generated results using our image composition system
從圖5可以看出,生成的圖像中,前景物體能夠被完整地保留并融合到生成的背景圖中,不存在縫隙、錯(cuò)位等情況,同時(shí)生成的背景圖像與參考圖像一致且根據(jù)具體情況進(jìn)行了細(xì)節(jié)調(diào)整與修改。
接下來,我們將對提出的系統(tǒng)中的不同模塊進(jìn)行詳細(xì)結(jié)果展示與分析。
3.2.1 逆向文本提示
逆向文本提示對生成效果的影響如圖6所示,其中逆向文本提示是指利用參考圖像得到的文本提示;通用文本提示是圖片生成式任務(wù)中常用的提示內(nèi)容,如“高畫質(zhì)”“高分辨率”等詞語。從結(jié)果中可以看出,逆向文本提示生成的圖像更加美觀,且沒有雜物和異常陰影出現(xiàn)。由于逆向提示充分,內(nèi)容包含了對參考圖中的物品以及顏色的準(zhǔn)確描述,對圖像生成進(jìn)行了更細(xì)粒度和嚴(yán)格的文字約束,因此其生成的圖像更接近參考圖。而使用一些通用的文本提示,并不能對生成圖片的質(zhì)量提供幫助。
圖6 逆向文本提示對生成效果的影響Fig.6 The impact of reverse text prompts on the generation effect
3.2.2 圖像提示
深度圖對生成效果的影響如圖7所示??梢钥闯?在未使用深度圖的情況下,背景中出現(xiàn)大量多余雜物且物體位置凌亂,嚴(yán)重影響圖片觀感。而添加深度圖后的生成結(jié)果,不僅畫面元素與參考圖像高度相似,而且物體分布美觀。有效證明了參考圖為模型提供了可參考的信息,指導(dǎo)圖像生成在更有力的約束下進(jìn)行,結(jié)果更加符合用戶審美與預(yù)期。
圖7 深度圖對生成效果的影響Fig.7 The impact of depth maps on the generation effect
針對電子商務(wù)領(lǐng)域,本文提出了一種商品圖像合成任務(wù)的解決范式。在使用 Stable Diffusion 平臺的基礎(chǔ)上,利用 CLIP、ControlNet、ChatGPT等算法和工具來對圖像生成的效果進(jìn)行優(yōu)化。引入了圖像提示模塊,利用掩碼圖和深度圖引導(dǎo)圖像合成,實(shí)現(xiàn)了對圖像主體和背景邊界的優(yōu)化;引入了文本提示生成模塊,實(shí)現(xiàn)了部分提示詞的自動書寫以及對全部提示詞的優(yōu)化。從消融實(shí)驗(yàn)的結(jié)果可以看出,本文設(shè)計(jì)的多模態(tài)引導(dǎo)圖像合成系統(tǒng)顯著提升了圖像生成的效果,能夠有效生成前后景一致的圖像,有利于圖像生成技術(shù)在各個(gè)領(lǐng)域內(nèi)的推廣和應(yīng)用,具備一定的實(shí)用價(jià)值。