AIGC在天貓商品海報生成上的探索
靈感藝術(shù)家項目,旨在通過AIGC繪圖能力,聯(lián)合商家打造低門檻+高趣味性的宣傳海報設(shè)計大賽,本文分享我們的方案和優(yōu)化方向。建議對AIGC感興趣的工程、算法方向的同學(xué)閱讀。
一、項目背景
靈感藝術(shù)家項目,旨在通過AIGC繪圖能力,聯(lián)合商家打造低門檻+高趣味性的宣傳海報設(shè)計大賽,為新品進行宣傳和造勢。同時也是為了給消費者提供參與新品宣發(fā)的通道。
二、目標(biāo)拆解
GPT部分采用通義千問大語言模型,詳見其技術(shù)文檔。本文重點介紹海報風(fēng)格的圖像生成部分,分為商品海報、皮克斯,二次元,寫實四種風(fēng)格:
皮克斯、二次元、寫實三個風(fēng)格,實現(xiàn)思路比較清晰,屬于標(biāo)準(zhǔn)的文生圖,基于MJ、SD都可以實現(xiàn)。分析MJ和SD的優(yōu)缺點的文章有很多,不做贅述,我們最終選擇SD作為文生圖的算法方案,核心在于SD開源,可塑性強?;赿iffusers,我們重寫了一套SD實現(xiàn),支持VAE、ControlNet、Lora、Embedings等功能,根據(jù)業(yè)務(wù)特點,定制了warmup、auto_predict等能力。比較輕松的解決了這三個風(fēng)格的生成問題。
算法的難點在于商品海報的風(fēng)格生成,品牌方要求商品高度還原,并且生成的海報,像素清晰、細節(jié)豐富、具備高級感。要求是豐滿的,而現(xiàn)實是骨感的。商品細節(jié)復(fù)雜,特別是帶有文字時,很難生成。并且繪圖靈感由用戶文字隨機輸入,出圖效果幾乎是不可控的。為此,我們進行了大量調(diào)研,并做了一些優(yōu)化嘗試。
三、方案調(diào)研
以香奈兒5號香水為例,初步嘗試了4套方案。
方案一 SD + Outpainting
簡述:固定商品位置,重繪商品之外的區(qū)域。
優(yōu)點:不會影響香水的外觀。
缺點:圖片中人物、背景與香水的位置關(guān)系很難控制,有比較明顯的違和感。
方案二 SD Inpainting + Reference Only
簡述:以商品圖信息注入attention層中,來控制unet生成相似的圖像。
優(yōu)點:可以完全保留預(yù)生成的背景。
缺點:香水還原度低。
方案三 基于Reference的Diffusion算法
簡述:基于一張參考商品圖,生成較相似的商品
代表:PBE, IP Adapter, Anydoor…
優(yōu)點:泛化性強,無需對每個商品單獨訓(xùn)練
缺點:商品細節(jié)依舊不夠還原copy&paste過于嚴(yán)重
方案四 SD + Lora/Dreambooth
簡述:微調(diào)模型,注入商品外貌信息
優(yōu)點:商品外貌還原度較高,且出圖率較穩(wěn)定
缺點:文字等細節(jié)還原度仍然不夠高;且細節(jié)部分越小,其扭曲失真程度就越嚴(yán)重
方案四最接近想要的效果,但距離我們的要求,還有很大的差距。
四、優(yōu)化方向
探索一 VAE增強
對LDM(SD的主要引用論文)模型的結(jié)構(gòu)進行分析,初步懷疑細節(jié)還原不足的核心原因在于VAE從像素空間到隱空間相互轉(zhuǎn)換過程中,丟失了細節(jié)信息。
為了驗證猜想,我們做了一個測試,對一張圖片進行十次encoder和decoder操作,文字等圖像細節(jié)已經(jīng)開始模糊。我們想了一個方法,對VAE丟失的信息進行補償,還原度有比較可觀的增強。
但距離完美還原,依然還有差距。
探索二 圖像超分
既然細節(jié)難以還原,那么把細節(jié)放大,是否還原度就可以提升?為了驗證這個猜想,我們做了如下的實驗。
在256 * 256分辨率下,文字幾乎無法辨認(rèn)。
在512 512分辨率下,相對256 256有明顯改善,而且 2.X版本的還原度優(yōu)于1.X版本。
升級到SDXL后,文字還原度進一步增強。
像素提升,還原度確實有提升。很自然的,我們想到可以在生成的圖像上,對文字等細節(jié)部分進行超分,然后在refiner階段,訓(xùn)練專屬的 controlnet,進一步提升還原度。
經(jīng)過多次調(diào)整,細節(jié)還原度能達到90%以上。但距離完美還原,依然還有一點差距。
探索三 貼圖
既然文字等細節(jié)非常難還原,那么是否可以直接把文字部分復(fù)制粘貼回去?
通過提取原始商品的文字區(qū)域,貼圖到生成商品的對應(yīng)區(qū)域,完美還原文字細節(jié)。
五、線上方案
經(jīng)過上述幾個方向的探索,初步解決了香水等商品的海報生成問題,但對復(fù)雜圖文的商品依然很難還原,例如:
既要完美還原,又要增加泛化性,索性,全圖貼回去【狗頭】。方案如下:
- 離線模塊通過文生圖產(chǎn)生一個背景圖庫。
- 離線模塊預(yù)置多角度商品圖,解決商品角度的多樣性問題。
- 從背景圖庫中選擇一張跟當(dāng)前商品最相關(guān)的圖作為引導(dǎo)圖。解決商品和背景不協(xié)調(diào)的問題,提高出圖率。
- 由商品圖和背景圖一起,生成線框圖和商品白底圖以及對應(yīng)的mask。
- 通過Stable Diffusion+Canny Controlnet+Reference生成初步的商品海報。
- 使用SAM和LAMA抹除商品,防止后面貼圖時,邊緣出現(xiàn)對不齊的情況。
- 將抹去商品的圖和步驟4中的商品白底圖、對應(yīng)的mask作為輸入,合成新的圖像。
- 提取步驟5中的生成商品的光影信息,投射到步驟7的商品上,生成最終的商品海報。
總結(jié)一下:
- 通過Copy&Paste的方式,保證無差別還原。
- 通過預(yù)置引導(dǎo)圖解決了完全隨機性,提高了出圖率。
- 通過兩步生成解決了倒影等問題。圖像精美,具備高級感。
- 通過擦除重建以及圖像融合技術(shù),緩解了商品邊緣的毛刺問題。
- 通過從生成圖上提取光影,映射到貼圖,解決了光影不和諧的問題。
六、測試效果
七、線上效果
出圖率95%以上,基本每張圖都能看,大部分圖能抗打。A10 GPU上,單卡出圖速度3-5秒。
八、下一步探索方向
初步看,效果可以接受了,但依然還有一些可以提升的空間,比如:
如何進一步提升復(fù)雜海報的生成效果,增加遮擋關(guān)系?
如何解決商品與背景的比例和諧,GLIGEN可能是答案?
貼圖總顯得不那么算法,是否有機會繼續(xù)提升VAE的能力,或者去掉VAE。Consistency Decoder可以試試?
最后,探索從未停止,AIGC永不眠。
九、引用
[1] IP-Adapter: Text Compatible Image Prompt Adapter for Text-to-Image Diffusion Models
[2] Paint by Example: Exemplar-based Image Editing with Diffusion Models
[3] AnyDoor: Zero-shot Object-level Image Customization
[4] High-Resolution Image Synthesis with Latent Diffusion Models
[5] SDXL: Improving Latent Diffusion Models for High-Resolution Image Synthesis
[6] GLIGEN: Open-Set Grounded Text-to-Image Generation
[7] ???https://github.com/openai/consistencydecoder??
十、團隊介紹
我們是大淘寶FC技術(shù)智能策略團隊,負責(zé)手機天貓搜索、推薦、拍立享等業(yè)務(wù)研發(fā)和技術(shù)平臺建設(shè),綜合運用搜推算法、機器視覺、AIGC等前沿技術(shù),致力于依靠技術(shù)的進步支持場景的提效和產(chǎn)品的創(chuàng)新,為用戶帶來更好的購物體驗。
本文轉(zhuǎn)載自大淘寶技術(shù),作者:相國
