AIGC之SD可控生成論文閱讀記錄
提示:本博客是作者本人最近對(duì)AIGC領(lǐng)域相關(guān)論文調(diào)研后,臨時(shí)記錄所用,所有觀點(diǎn)都是來自作者本人局限理解,以及個(gè)人思考,不代表對(duì)。如果你也正好看過相關(guān)文章,發(fā)現(xiàn)作者的想法和思路有問題,歡迎評(píng)論區(qū)留言指正!
既然是論文閱讀分享,首先,你需要有一些AIGC基礎(chǔ)知識(shí),許多基礎(chǔ)概念我不會(huì)具體深入講它是什么!
1. ControlNet

這篇文章在一個(gè)框架下統(tǒng)一了SD模型添加各種模態(tài)做受控生成的方法,包括但不限于Edge Map, Sketch, Depth Info, Segmentation Map, Human Pose, Normal Maps 等。9類!具體來說,對(duì)于預(yù)訓(xùn)練好的模型(比如作者使用SD1.5-UNet里Encoder和MidLayer的ResNet和Transformer層)里的一層結(jié)構(gòu), 作者固定了其參數(shù),并將該層的輸入額外添加了一個(gè)全聯(lián)接映射后的條件c,輸入到一個(gè)和該層結(jié)構(gòu)一致的復(fù)制網(wǎng)絡(luò)里,再映射一次后重新添加回原結(jié)構(gòu)里的輸出。按照作者的解釋來看,這樣做的好處有兩個(gè):一個(gè)是最大程度的保留原模型的生成能力,另一個(gè)是新添加的組件將以0值初始化所以在優(yōu)化的初始階段該模型的輸出與原模型等價(jià)。
即對(duì)于一張模型生成的圖片,其UNet的decoder一定已經(jīng)包含了其生成的一些空間信息,語義信息等。直接抽取decoder相關(guān)的特征,添加到當(dāng)前的生成能夠影響當(dāng)前生成的布局語義等。

很想問具體融合方式?是否需要注意力?條件圖類型不同照理說加法不同,但是作者給統(tǒng)一了。全部作為圖像,做多尺度特征提取。
統(tǒng)一的條件:
-
作者所針對(duì)的每一個(gè)模態(tài),都可以通過已有模型的基礎(chǔ)上快速獲得大量數(shù)據(jù).(比如canny filter對(duì)edge的提取,midas對(duì)深度圖的提取等)。類似于InstructPix2Pix這篇工作,針對(duì)當(dāng)前任務(wù)造出一個(gè)百萬級(jí)別大小的訓(xùn)練數(shù)據(jù),可能是微調(diào)模型使其學(xué)到隱式關(guān)系的關(guān)鍵。
-
作者提出的架構(gòu)和對(duì)額外模態(tài)的輸入形式使得一個(gè)通用架構(gòu)成為可能。在上面介紹結(jié)構(gòu)時(shí),筆者提到作者是針對(duì)UNet的前半部分里的每一層做額外信息添加和復(fù)制訓(xùn)練的。其中當(dāng)然就包括了Resnet的卷積層。即無論什么模態(tài)的信息,作者的架構(gòu)都可以把它作為圖像通過UNet的encoder對(duì)其進(jìn)行多尺度的信息特征的提取。大量參數(shù)(對(duì)Encoder+MidLayer的復(fù)制)加上大量訓(xùn)練數(shù)據(jù)加上適配的網(wǎng)絡(luò)架構(gòu)可能是其成功的關(guān)鍵。
-
對(duì)信息的添加及添加位置的選定。如果直觀上來理解,在UNet的encoder階段添加模態(tài)信息引導(dǎo)使得Decoder生成時(shí)考慮到相關(guān)添加信息當(dāng)然符合直覺。但為何作者沒有選定(只)在Transformer層這樣的模態(tài)信息制導(dǎo)生成的關(guān)鍵位置添加模塊,而是一視同仁且是在每一層的結(jié)尾做信息融合。
上面主要搬運(yùn)自中森。
2. T2I-Adapter

幾乎跟Control-Net沒區(qū)別,區(qū)別只有兩點(diǎn):
- T2I-Adapter可以同時(shí)組合輸入多種類型的Condition,用超參數(shù) ω \omega ω控制的。
- T2I-Adapter是從SD的Encoder部分傳入Condition的。
個(gè)人思考:
- 是否可以說明在加條件在編,解碼器部分是都能成功的。
- 為啥上面這倆加條件都僅僅是堆疊,而不是做cross attention。
3. Composer

Composer跟ControlNet和T2I-Adapter的思路類似。
思路:可編輯圖像生成其實(shí)就是對(duì)圖像各種元素的組合,Composer先用各種不同的模型將各種不同的圖片分解成各種元素,然后將不同圖片的元素進(jìn)行重組。比如上圖的戴珍珠耳環(huán)的少女,可以分解成shape、semantics、sketch、masking、style、content、intensity、palette、文字等等元素,然后跟其他不同圖片的元素進(jìn)行想要的重組。

條件添加方式:
- Global Conditions: sentence embeddings, image embeddings and color histograms, 都需要添加到Timestep中
- Localized Conditions:segmentation maps, depthmaps, sketches, grayscale images, and masked images,并且需要添加到Noisy Image中。
Inpainting作用:通過引入掩蔽的正交表示,Composer能夠?qū)⒖删庉媴^(qū)域限制為用戶指定的區(qū)域,用于所有上述操作,比傳統(tǒng)的修復(fù)操作更靈活,同時(shí)還防止修改該區(qū)域以外的像素。
訓(xùn)練方式 :傾向于自監(jiān)督,重建損失由原圖X0和生成的X0副本相似性構(gòu)建。它的編碼器是一個(gè)多任務(wù)網(wǎng)絡(luò),分別由許多包含預(yù)訓(xùn)練的分支構(gòu)成(分割,顏色,直方圖等)。利用多任務(wù)網(wǎng)絡(luò)獲得條件C,再利用C,用噪聲Z去完成擴(kuò)散模型的反向擴(kuò)散過程,獲得X0副本。
條件使用方式:
- 我個(gè)人理解和ControlNet是一致的,具體細(xì)節(jié)還是分開處理,文本(Caption)用Bert或者CLIP中的文本編碼去提特征。而圖像就用Unet的自編碼器作為多尺度特征提取。
- 多個(gè)條件之間,是分別用概率P去控制加和獲得最終條件。
推理階段:可以完成Zero-Shot任務(wù),輸入任意一張圖,可以獲得8中子集,再用噪聲Z去組合重建出自己想要的信息。舉個(gè)例子,對(duì)于Mask圖像,輸入噪聲Z和掩碼mask條件和文本prompt,進(jìn)行精確更改。
個(gè)人思考:圖像生成盡可能準(zhǔn)確豐富的提取圖像中各個(gè)維度的結(jié)構(gòu)化信息(包括文字信息),然后通過Stable Diffusion模型組合融入想要的結(jié)構(gòu)化信息,進(jìn)而達(dá)到完全自主可控的圖像生成。
============================================分界線
下面看兩篇針對(duì)人臉的可控生成的
4. Diffusion-AE

總結(jié):
- 采用卷積編碼器提取高級(jí)語義特征Zsem,如:年齡、性別、頭發(fā)的樣式。
- 采用Conditonal DDIM提取低級(jí)隨機(jī)變化特征。再XT重建回X0的時(shí)候又以剛剛的Zsem為條件。
- 該方法,可以同時(shí)提取圖像高級(jí)語義特征和低級(jí)隨機(jī)變化,可以用于很多下 游任務(wù)。
- 為了無條件生成,該方法又專門針對(duì)獲得Zsem額外訓(xùn)練了Latent DDIM,以增加生成的多樣性。
思考:
- 與Composer相比,我的理解是這里的卷積提取Zsem特征就類似于Composer用各種不同的模型將各種不同的圖片分解成各種元素的總和過程。不過Zsem更加粗粒度,而Composer拆解的特征更加細(xì)粒度!
- 總之,擴(kuò)散模型還原過程都要有充分的特征做支撐才能做到自主生成!
5. Diffusion-Rig
架構(gòu)圖傳不上來,一直說違規(guī),,,沒辦法。。。
總結(jié):
-
Diff-AE很相似,但是總的架構(gòu)更像Stylegan-rig就是在擴(kuò)散模型中加條件,Diff-AE只是加了二維卷積特征作為條件(高階語義信息,而擴(kuò)散模型DDIM編碼器部分作為低階語義信息提取器),這里的話,加了三維的DECA模型抽取的特征分別稱為為Surface Normals,Albedo, Lambertian Render這三者和編碼器特征(也是卷積,提取全局外觀信息,低階)。
-
DiffAE的架構(gòu)一致,它們的目的都是基于自動(dòng)編碼器的結(jié)構(gòu)進(jìn)行重建原圖構(gòu)建loss。在Diff-AE中,它為了做無條件生成,需要重新針對(duì)高級(jí)語義特征Z的獲得額外訓(xùn)練一個(gè)Latent DDIM。而本文則是分為雙階段完成該任務(wù)。第一階段,利用DECA抽取的特征作為physical buffer(其實(shí)就是條件)和卷積的全局外觀信息,在大規(guī)模人臉數(shù)據(jù)集上進(jìn)行訓(xùn)練和重建。在第二階段,凍結(jié)擴(kuò)散模型編碼器部分(卷積全局特征信息)。只利用DDIM進(jìn)行Finetune, 就是說,只針對(duì)當(dāng)前的特定人的相冊比如20來張照片進(jìn)行微調(diào),保留住身份信息,就能完成任務(wù)了。
============================================分界線
下面看兩篇針對(duì)可控訓(xùn)練中訓(xùn)練技巧的,這個(gè)點(diǎn)其實(shí)在中森的文章中也提到了。
6. Taming-Encoder

架構(gòu)梳理總結(jié):
本質(zhì)上就是一個(gè)擴(kuò)散模型,在文本引導(dǎo)條件的基礎(chǔ)上還加了圖像中的目標(biāo)編碼條件,就是加一個(gè)額外的Cross Attention模塊共同去生成最終圖像。
本文的重點(diǎn)研究內(nèi)容就是怎么把這個(gè)圖像目標(biāo)編碼器向量嵌入到擴(kuò)散模型反向擴(kuò)散過程中,還要?jiǎng)e影響到了原本的文本條件的引導(dǎo)生成作用??傊褪亲屗鼈z條件合作,而不能互相影響。

核心貢獻(xiàn)創(chuàng)新其實(shí)就倆:
-
提出正則化聯(lián)合訓(xùn)練方案和目標(biāo)身份保留損失,也就是Figure 3。
總結(jié)就是防止圖像目標(biāo)編碼特征太強(qiáng)影響到文本條件的引導(dǎo)作用,所以,要把身份信息(CLIP中自帶的)從對(duì)象嵌入中分離出來,所以以一定概率用其他人的頭像。 -
提出一個(gè)字幕生成方案,主要是針對(duì)特定領(lǐng)域數(shù)據(jù)集的文本描述設(shè)計(jì)的。
分別有兩個(gè)模型,分別叫標(biāo)題模型和屬性模型(預(yù)訓(xùn)練好的)。分別提取各自文本描述再粘貼到一起,作為文本的條件描述。這可以避免文本條件屬性丟失問題。
7. Paint by Example

架構(gòu)梳理總結(jié):
因?yàn)樾枰臄?shù)據(jù)集無法構(gòu)建,提出替代方案,用一張圖的檢測框作為mask,框里面的圖就是參考圖。把參考圖里面的目標(biāo)還原回原始圖里。把還原回來的圖和真實(shí)的原圖做損失計(jì)算。
為了保證該方法不偷懶,直接學(xué)復(fù)制粘貼操作。分別提出下面兩點(diǎn)創(chuàng)新:
- 利用預(yù)訓(xùn)練的SD作初始化,把參考圖提取特征后只保留CLS的token,再通過Cross Attention的方式,加上一些額外的全連接層到擴(kuò)散過程中去解碼特征。避免圖像特征給多了讓神經(jīng)網(wǎng)絡(luò)偷懶。
- 參考圖做數(shù)據(jù)增強(qiáng),(反轉(zhuǎn),平移等),檢測框的mask形狀做更多的隨機(jī)調(diào)整,模擬真實(shí)性。

Figure 3. 這就是典型的偷懶現(xiàn)象,直接復(fù)制粘貼操作,融合的很差。為了避免這個(gè)現(xiàn)象,采用了創(chuàng)新思路。
思考:其實(shí)本質(zhì)上就僅僅只是一個(gè)圖作為Reference條件生圖的架構(gòu),作者也一直在強(qiáng)調(diào)圖像生成圖像的直觀作用大于文本引導(dǎo)生成圖像,所以,它設(shè)計(jì)了這個(gè)架構(gòu)。最值得學(xué)習(xí)的是它的數(shù)據(jù)增強(qiáng)思路和特征Cross Attention方式。
============================================分界線
下面看兩篇簡單的針對(duì)可控區(qū)域生成的
8. GLIGEN
數(shù)據(jù)圖:

注意力添加方式:

核心思路:將bbox的信息和其對(duì)應(yīng)的詞的text embedding拼接過一個(gè)全聯(lián)接網(wǎng)絡(luò)MLP后得到我們的融合表征grounding tokens。這個(gè)表征會(huì)注入到UNet里self-attn和cross-attn之間,以一個(gè)新的架構(gòu)gated-self-attn的方式添加進(jìn)網(wǎng)絡(luò)。
**個(gè)人思考:**直接加位置信息和對(duì)應(yīng)的文本屬性到擴(kuò)散模型中,直接就可以在對(duì)應(yīng)的區(qū)域生成自己想要的內(nèi)容。方法很簡單,缺點(diǎn)也很明顯,加了額外的自注意力層,帶來了很多的額外的訓(xùn)練開銷!
9. Improving Diffusion Models for Scene Text Editing with Dual Encoders
架構(gòu)圖:

方法架構(gòu)梳理總結(jié):
類似于GLIGEN,也是對(duì)Cross Attention操作。在SD的原本的文本條件(instruction encoder負(fù)責(zé)風(fēng)格)的基礎(chǔ)上,加了一個(gè)額外的character encoder,負(fù)責(zé)文本的易讀性和真實(shí)性。這倆編碼器得到的公共的條件一起進(jìn)行Cross Attention。
訓(xùn)練細(xì)節(jié): 數(shù)據(jù)要Instruction word,mask,GT。 8張V100 80Ksteps 兩天完成。
**個(gè)人思考:**本質(zhì)上只是為了完成字符的融入任務(wù),甚至這里的Instruct word都可以不需要語義信息,反而更多應(yīng)該關(guān)注單詞本身字符和圖像風(fēng)格。缺點(diǎn)也一樣,需要額外訓(xùn)練。
============================================分界線
最后再介紹兩篇不需要訓(xùn)練的,公式推理就比較復(fù)雜了,作者能力有限,只能看個(gè)大概。
10. Training-Free Layout Control with Cross-Attention Guidance
核心方法圖:

目標(biāo)是:
研究預(yù)訓(xùn)練的文本到圖像生成器是否可以在推理過程中遵守用戶指定的布局,而無需使用明確的布局條件進(jìn)行訓(xùn)練。例如,給定文本描述y,文本提示中單詞yi的索引i和邊界框B,我們希望生成一個(gè)在B中包含yi的圖像x,本質(zhì)上修改生成器以從具有額外控件的新分布p(x|y,B,i)中采樣。
方法架構(gòu)梳理總結(jié):
就是對(duì)Cross Attention層進(jìn)行操作,學(xué)習(xí)布局信息去引導(dǎo)生成。操作方式分為兩種,前向和后向。
-
前向引導(dǎo):正向引導(dǎo)直接修改激活層以符合規(guī)定的模式,在推理過程開始時(shí),該模式被反復(fù)“強(qiáng)制”進(jìn)行多次去噪迭代。當(dāng)模型開始在正確的圖像區(qū)域中生成正確的輸出時(shí),注意力自然會(huì)與規(guī)定的布局相匹配。
-
后向引導(dǎo):類似于classifier guidance的模式,使用損失函數(shù)來評(píng)估注意力圖是否遵循期望的模式,并修改latent以引導(dǎo)注意力集中在特定區(qū)域。
-
作者還發(fā)現(xiàn)了EOT和SOT這種不包含固定圖像區(qū)域的token包含了很多位置和布局信息。(我很想問,這是不是就是Text Inversion干的事兒呢?)
個(gè)人思考:
個(gè)人感覺前向就是利用注意力讓模型強(qiáng)制在目標(biāo)框內(nèi)生成,反向就是保證生成的類別是對(duì)的。(不知道是不是這個(gè)意思),總的來說都是設(shè)計(jì)了計(jì)算公式,修改預(yù)訓(xùn)練好的模型的權(quán)重符合自己的需求而不需要額外訓(xùn)練!
這里我只貼了相關(guān)公式,沒有對(duì)公式變量進(jìn)行解釋,需要看懂并且自己推理的需要自己去看原文。(注:如果您看懂了,作者十分樂意向您請(qǐng)教!?。?/p>
11. Universal Guidance for Diffusion Models
核心就提出了通用的guidance方法,使任何現(xiàn)成的模型或損失函數(shù)(分割,檢測等)都可以作為擴(kuò)散的guidance。由于guidance函數(shù)可以在不重新訓(xùn)練或修改的情況下使用,這種形式的guidance是通用的,因?yàn)樗梢允箶U(kuò)散模型適用于幾乎任何目的。
總結(jié)了Guidance和Condition的區(qū)別:Guidance無需額外訓(xùn)練,Condition視任務(wù)需要額外的巨大的訓(xùn)練開銷。Guidance更加高端吧!
難點(diǎn):怎么直接把擴(kuò)散采樣過程中的噪聲圖像域遷移到被訓(xùn)練的guidance模型的干凈圖像上。
研究關(guān)鍵:classifier guidance, 改變采樣方式,而不改變模型!
研究Motivation點(diǎn):宋飏的DDIM,
Guidance方式:前向,后向,Per-step Self-recurrence三種方式。
利用classifier guidance作為前向guidance的理論基礎(chǔ),但是前向guidance會(huì)過度保留圖像真實(shí)性,于是利用后向guidance給生成的圖像匹配prompt提供了優(yōu)化方向,并優(yōu)先實(shí)施約束,輔助生成的圖像滿足限制。然而,既能確保真實(shí)性又能滿足guidance約束的最佳點(diǎn)并不總是存在的。于是,有了Per-step Self-recurrence的思路,通過給 Zt-1 插入K次高斯噪聲找到滿足真實(shí)性和guidance約束的最佳點(diǎn)。(一次找不到,多找?guī)状危?/p>
個(gè)人思考:公式還是太復(fù)雜了,只能看個(gè)懵懵懂懂。個(gè)人理解就是跟上一篇Training-Free Layout Control with Cross-Attention Guidance的思路類似,不過本文如題目所說,更加具有普適性,可以同時(shí)結(jié)合各種(多個(gè))預(yù)訓(xùn)練模型作為guidance,得到想要的結(jié)果。
總結(jié)
以上就是今天要分享的內(nèi)容,作者能力有限,記錄也是為了將來復(fù)習(xí)回顧,如果能幫到您就更好了。
最后附上所有參考文獻(xiàn)(順序自己對(duì)一下):
Zhang L, Agrawala M. Adding conditional control to text-to-image diffusion models[J]. arXiv preprint arXiv:2302.05543, 2023.
Mou C, Wang X, Xie L, et al. T2i-adapter: Learning adapters to dig out more controllable ability for text-to-image diffusion models[J]. arXiv preprint arXiv:2302.08453, 2023.
Huang L, Chen D, Liu Y, et al. Composer: Creative and controllable image synthesis with composable conditions[J]. arXiv preprint arXiv:2302.09778, 2023.
Preechakul K, Chatthee N, Wizadwongsa S, et al. Diffusion autoencoders: Toward a meaningful and decodable representation[C]//Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2022: 10619-10629.
Jia X, Zhao Y, Chan K C K, et al. Taming Encoder for Zero Fine-tuning Image Customization with Text-to-Image Diffusion Models[J]. arXiv preprint arXiv:2304.02642, 2023.
Yang B, Gu S, Zhang B, et al. Paint by Example: Exemplar-based Image Editing with Diffusion Models[J]. arXiv preprint arXiv:2211.13227, 2022.
Liu S, Zeng Z, Ren T, et al. Grounding DINO: Marrying DINO with Grounded Pre-Training for Open-Set Object Detection[J]. arXiv preprint arXiv:2303.05499, 2023.
Chen M, Laina I, Vedaldi A. Training-Free Layout Control with Cross-Attention Guidance[J]. arXiv preprint arXiv:2304.03373, 2023.
Bansal A, Chu H M, Schwarzschild A, et al. Universal Guidance for Diffusion Models[J]. arXiv preprint arXiv:2302.07121, 2023.
Ding Z, Zhang X, Xia Z, et al. DiffusionRig: Learning Personalized Priors for Facial Appearance Editing[J]. arXiv preprint arXiv:2304.06711, 2023.文章來源:http://www.zghlxwxcb.cn/news/detail-496338.html
Ji J, Zhang G, Wang Z, et al. Improving Diffusion Models for Scene Text Editing with Dual Encoders[J]. arXiv preprint arXiv:2304.05568, 2023.文章來源地址http://www.zghlxwxcb.cn/news/detail-496338.html
到了這里,關(guān)于最近讀的AIGC相關(guān)論文思路解讀的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!