PaperNotes(4)-高质量图像生成-CGAN-StackGAN-Lapgan-Cyclegan-Pix2pixgan
cgan,stackgan,lapgan,cyclegan,pix2pixgan
- 1.Conditional GAN
- 1.1簡(jiǎn)介
- 1.2網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練
- 1.3特點(diǎn)與用途
- 2.Stack GAN
- 2.1簡(jiǎn)介
- 2.2網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練
- 2.3特點(diǎn)與用途
- 3.Lap GAN
- 3.1簡(jiǎn)介
- 3.2網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練
- 3.3特點(diǎn)與用途
- 4.Pix2pix GAN
- 4.1 簡(jiǎn)介
- 4.2 網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練
- 4.3 特點(diǎn)和用途
- 5.Patch GAN
- 6.Cycle GAN
- 6.1簡(jiǎn)介
- 6.2網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練
- 6.3特點(diǎn)與用途
- 7.思考與待定
題記–如何生成高質(zhì)量圖像,gan相關(guān)模型調(diào)研
1.基于散度距離的改進(jìn)方案:f GAN, LSGAN, WGAN, WGAN-GP, SNGAN
2.基于網(wǎng)絡(luò)結(jié)構(gòu)的改進(jìn)方案:DCGAN, ImprovedDCGAN, SAGAN, BigGAN
3.由應(yīng)用引發(fā)的改進(jìn)方案:Conditional GAN, TripleGAN, StackGAN, LapGAN,PGGAN, SRGAN, CycleGAN,StarGAN
4.GAN在特征提取上的應(yīng)用:InfoGAN,VAEGAN,BigGAN
1.Conditional GAN
Generative Adversarial Text to Image Synthesis [ICML 2016,http://arxiv.org/abs/1605.05396]
1.1簡(jiǎn)介
論文:
條件GAN–生成的數(shù)據(jù)不僅要求逼真,還要求滿足一定的條件約束
文字約束–一只在奔跑的小狗;
圖像約束–生成圖像的框架輪廓約束,生成器就好像在輪廓的基礎(chǔ)上填充了顏色,繪制細(xì)節(jié);
1.2網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練
生成網(wǎng)絡(luò)增加了條件輸入;
判別網(wǎng)絡(luò)用于判別生成的圖像與條件是否匹配,因此其需要三種類型的匹配對(duì)(生成圖像,匹配條件)(真實(shí)圖像,匹配條件)(真實(shí)圖像,不匹配條件);
訓(xùn)練流程
1.3特點(diǎn)與用途
1.能生成符合條件的圖像,但是現(xiàn)有數(shù)據(jù)集合成pair出現(xiàn)的很少;TripleGAN是基于 CGAN 的改進(jìn),主要用于解決配對(duì)數(shù)據(jù)少的問(wèn)題,會(huì)訓(xùn)練一個(gè)圖像標(biāo)注模型。
2.不能生成大分辨率的高清圖,圖像細(xì)節(jié)缺失;StackGAN 也是基于 CGAN 的改進(jìn),它主要想C-GAN無(wú)法生成高清圖的問(wèn)題。
3.有一個(gè)觀點(diǎn):CGAN可以避免所有的隨機(jī)噪聲很產(chǎn)生相同的樣本(模式坍塌問(wèn)題),不同的條件,可以產(chǎn)生不同的圖。
**思考:**條件要是文字形式的,會(huì)涉及到NLP,文字的表示方式;條件如果是圖像,就是img2img的問(wèn)題,類似于上色,填充簡(jiǎn)單細(xì)節(jié)。
參考博文:https://blog.csdn.net/taoyafan/article/details/81229466
2.Stack GAN
2.1簡(jiǎn)介
StackGAN 希望輸入一個(gè)描述語(yǔ) c,能夠產(chǎn)生一張 256256 的清晰大圖。通過(guò)兩個(gè)階段堆疊來(lái)實(shí)現(xiàn)這個(gè)過(guò)程。
第一個(gè)階段輸入(c,z)產(chǎn)生一個(gè) 6464 的小圖x,
第二個(gè)節(jié)點(diǎn)輸入(c,x)產(chǎn)生一個(gè)256*256的大圖X
2.2網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練
由結(jié)構(gòu)圖可見(jiàn),對(duì)于獲得的 text_embedding,stackGAN 沒(méi)有直接將 embedding 作為
condition,而是用 embedding 接了一個(gè) FC 層得到了一個(gè)正態(tài)分布的均值和方差,然后從
這個(gè)正態(tài)分布中 采樣 出來(lái)要用的 condition。這樣做實(shí)際是做了一個(gè)降維處理,避免原始embeding高維稀疏,導(dǎo)致模型過(guò)擬合。(為了避免過(guò)擬合在生成器的loss上增加了一個(gè)正太分布的正則項(xiàng))
兩個(gè)階段的損失函數(shù)為:
2.3特點(diǎn)與用途
1.Conditioning Augmentation(CA) 條件增強(qiáng)技術(shù)
2.StackGAN 不能處理比較復(fù)雜的文本,李飛飛小組提出方法能處理更長(zhǎng)更復(fù)雜的文本,并且有不錯(cuò)的生成效果,論文地址:https://arxiv.org/abs/1804.01622。
思考:
1.要有同一張圖像的6464,256256大小的真圖。
2.感覺(jué)就像是兩個(gè)Conditional GAN 簡(jiǎn)單的堆疊在一起,多增加了一個(gè)CA技術(shù);
3.不要condition,直接級(jí)連的效果是不是等價(jià)于生成網(wǎng)絡(luò)層數(shù)加深?設(shè)計(jì)合適的級(jí)連結(jié)構(gòu),應(yīng)該能夠生成合適大小的圖像才對(duì)呀?嘗試級(jí)連生成大分辨率的工作,在相關(guān)工作中應(yīng)愛(ài)會(huì)介紹
參考博文:https://blog.csdn.net/a312863063/article/details/83574422
3.Lap GAN
3.1簡(jiǎn)介
生成高分辨率圖像GAN模型的典型代表,利用拉普拉斯金字塔,由低分辨率生成高分辨圖像。金字塔的每一層都是一個(gè)C-GAN,其中下一級(jí)圖像的上采樣圖作為G的條件,生成本級(jí)真實(shí)圖像與上采樣圖像的殘差。
3.2網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練
采樣流程圖,自右向左分析
訓(xùn)練流程,自右向左分析
3.3特點(diǎn)與用途
1.能生成較高分辨率的圖像,但是更高分辨率的圖像可能使用PGGAN,或者超分辨率GAN效果會(huì)更好一些。
2.實(shí)際都是C-GAN 的堆疊,只是G的條件是上采樣的圖,生成真圖和上采樣的殘差。
參考博文:https://zhuanlan.zhihu.com/p/94153155
4.Pix2pix GAN
4.1 簡(jiǎn)介
從風(fēng)格遷移說(shuō)起:在深度學(xué)習(xí)興起后,16年有篇cvpr文章使用深度卷積網(wǎng)絡(luò)做風(fēng)格遷移。隨著GAN網(wǎng)絡(luò)研究熱潮,人們開(kāi)始研究使用gan 網(wǎng)絡(luò)做風(fēng)格遷移。以下五個(gè)是比較典型風(fēng)格遷移的工作。
pix2pix GAN (1611),CycleGAN (1703),DiscoGAN (1703),PAN( Perceptual Adversarial Networks)感知GAN (1706),StarGAN (1711)
pix2pix GAN 和 cycle GAN是同以作者,兩篇遞進(jìn)式的工作。
pix2pix GAN工作出自Image-to-Image Translation with Conditional Adversarial Networks,實(shí)質(zhì)還是用CGAN來(lái)做圖像轉(zhuǎn)換工作。
4.2 網(wǎng)絡(luò)結(jié)構(gòu)和訓(xùn)練
pix2pix gan 生成器和判別器的工作結(jié)構(gòu)
pix2pix gan 損失函數(shù),L1是True黑與生成黑的像素間l1范數(shù)距離。
4.3 特點(diǎn)和用途
1.pix2pix 主要做了G網(wǎng)絡(luò)結(jié)構(gòu)的探索:Encoder-decoder 結(jié)構(gòu)和U-net結(jié)構(gòu),圖像patch的操作
2.實(shí)質(zhì)還是用CGAN來(lái)做圖像轉(zhuǎn)換工作。
參考博文:https://blog.csdn.net/on2way/article/details/78768221
5.Patch GAN
主要對(duì)判別網(wǎng)絡(luò)做了改進(jìn),D輸出N*N的矩陣,每個(gè)元素為T(mén)rue/False,表示輸入圖像中的感受野的真假。
思考:標(biāo)簽該怎么打?真實(shí)圖像給一個(gè)NN的True塊,生成圖像給一個(gè)NN的False塊?
主要是patch 操作?和pix2pix gan 中的patch有什么異同。
參考博文:https://blog.csdn.net/xiaoxifei/article/details/86506955
https://blog.csdn.net/weixin_35576881/article/details/88058040
6.Cycle GAN
6.1簡(jiǎn)介
用原始GAN結(jié)構(gòu)在生成網(wǎng)絡(luò)層數(shù)較深時(shí),可能生成與輸入差別較大的圖像,就不是風(fēng)格遷移,而是改頭換面, 忽略了輸入圖像長(zhǎng)什么樣子。
為了防止生成器學(xué)習(xí)到具有欺騙性的造假數(shù)據(jù),需要保證生成器的輸出和原圖具有很高的相似性,就可以不丟失原圖的特征。
于是 CycleGAN 中加入了一個(gè)新的生成器,以第一個(gè)生成器的輸出作為輸入,希望輸出一個(gè)和原始輸入盡可能相似的圖。如果能夠還原回原始圖片,可以表明第一個(gè)生成器的輸出保留了大量原始圖片的特征,輸出結(jié)果是較為可靠的;而如果不能較好的還原回原始圖片,意味著第一個(gè)生成器輸出與輸入差別較大。
6.2網(wǎng)絡(luò)結(jié)構(gòu)與訓(xùn)練
單向cycle gan
雙向cycle gan(很多博文中都是這個(gè)結(jié)構(gòu))
6.3特點(diǎn)與用途
1.用來(lái)做風(fēng)格遷移,在pix2pi的基礎(chǔ)上不需要pair的訓(xùn)練樣本。
2.CycleGAN 存在一種問(wèn)題,是它能學(xué)會(huì)把輸入的某些部分藏起來(lái),然后在輸出的時(shí)候再還原回來(lái)。比較好理解,隱藏掉一些破壞風(fēng)格相似性的“壞點(diǎn)”會(huì)更容易獲得判別器的高分。
思考:如何用實(shí)現(xiàn)圖像分辨率擴(kuò)大的功能?
參考博文:https://blog.csdn.net/on2way/article/details/78768221
7.思考與待定
做高分辨率的實(shí)驗(yàn)
1.cycle gan 似乎不是天生用來(lái)做分辨率變高的實(shí)驗(yàn)的。
2.直接使用stack GAN,梯度信息傳不到前面–兩個(gè)生成器具分開(kāi)訓(xùn)練
3.CGAN的公式推導(dǎo),如何與stein 變分合在一起–基本沒(méi)啥好推導(dǎo)的。
4.直接級(jí)連不需要條件的GAN–基本上沒(méi)有看到相關(guān)的文章
5.srgan 官網(wǎng)上提供了訓(xùn)練好的超分辨率模型,可以嘗試一些圖像的超分辨率生成。但如果原圖是一團(tuán)看不清的東西,基本也不了什么。
6.兩個(gè)網(wǎng)絡(luò)堆疊:兩個(gè)網(wǎng)絡(luò)同時(shí)訓(xùn)練的比兩個(gè)網(wǎng)絡(luò)分開(kāi)訓(xùn)練難訓(xùn)。改造了stack gan stage2 的GAN模型(去除條件輸入)堆疊模型在object101-airplane上表現(xiàn)好不錯(cuò),但是在cifar上的效果還是基本看不出來(lái)畫(huà)的是什么。
pg-gan,info gan 還沒(méi)有看多
總結(jié)
以上是生活随笔為你收集整理的PaperNotes(4)-高质量图像生成-CGAN-StackGAN-Lapgan-Cyclegan-Pix2pixgan的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 《Java8实战》笔记(05):使用流
- 下一篇: Tail Recursion尾递归