日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CycleGAN 各种变变变

發(fā)布時間:2025/3/8 编程问答 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CycleGAN 各种变变变 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

轉(zhuǎn)載自

簡單介紹了一下GAN和DCGAN的原理。以及如何使用Tensorflow做一個簡單的生成圖片的demo。

  • Ian Goodfellow對GAN一系列工作總結(jié)的ppt,確實精彩,推薦:獨家 | GAN之父NIPS 2016演講現(xiàn)場直擊:全方位解讀生成對抗網(wǎng)絡(luò)的原理及未來(附PPT)
  • GAN論文匯總,包含code:zhangqianhui/AdversarialNetsPapers

CycleGAN是在今年三月底放在arxiv(地址:https://arxiv.org/abs/1703.10593)的一篇文章,文章名為Learning to Discover Cross-Domain Relations with Generative Adversarial Networks,同一時期還有兩篇非常類似的DualGAN(地址:https://arxiv.org/abs/1704.02510)和DiscoGAN(地址:https://arxiv.org/abs/1703.05192),簡單來說,它們的功能就是:自動將某一類圖片轉(zhuǎn)換成另外一類圖片。

作者在論文中也舉了一些例子,比如將普通的馬和斑馬進行互相轉(zhuǎn)換,將蘋果和橘子進行互相轉(zhuǎn)換:

把照片轉(zhuǎn)換成油畫風(fēng)格:

將油畫中的場景還原成現(xiàn)實中的照片:

由于CycleGAN這個框架具有較強的通用性,因此一經(jīng)發(fā)表就吸引了大量注意,很快,腦洞大開的網(wǎng)友想出了各種各樣神奇的應(yīng)用。

比如將貓變成狗:

讓圖片中的人露出笑容:

國外網(wǎng)友Jack Clark還搜集了巴比倫、耶路撒冷以及倫敦的古代地圖,利用CycleGAN將它們還原成了真實衛(wèi)星圖像:

?

?

還有人使用CycleGAN將人臉轉(zhuǎn)換成娃娃:

?

將男人變成女人:

?

把你自己變成一個“肌肉文身猛男”也是可以的:

?

如果說這些應(yīng)用多少可以理解,那么下面的應(yīng)用就有點“匪夷所思”了:你可以想象將人和拉面做轉(zhuǎn)換嗎?日本網(wǎng)友加藤卓哉(Takuya Kato)就訓(xùn)練了這樣一個模型,它可以從拉面中生成人像,此外將人臉變成拉面的圖片。鑒于生成的結(jié)果比較鬼畜,如果有興趣的可以點擊這個鏈接(地址:https://junyanz.github.io/CycleGAN/images/faces_and_ramens.jpg)觀看生成結(jié)果。

此外,知乎上的?@達聞西?還用CycleGAN訓(xùn)練了可以脫掉女優(yōu)衣服的模型(可以參考提高駕駛技術(shù):用GAN去除(愛情)動作片中的馬賽克和衣服),其腦洞之大,實在是讓人驚嘆了一番。但是技術(shù)水平還很厲害,下一篇博客把其中的技術(shù)扒過來。

?

今天這篇文章主要分成三個部分:

  • CycleGAN的原理解析

  • CycleGAN與原始的GAN、DCGAN、pix2pix模型的對比

  • 如何在TensorFlow中用CycleGAN訓(xùn)練模型

CycleGAN的原理

我們之前已經(jīng)說過,CycleGAN的原理可以概述為:將一類圖片轉(zhuǎn)換成另一類圖片。也就是說,現(xiàn)在有兩個樣本空間,X和Y,我們希望把X空間中的樣本轉(zhuǎn)換成Y空間中的樣本。

因此,實際的目標(biāo)就是學(xué)習(xí)從X到Y(jié)的映射。我們設(shè)這個映射為F。它就對應(yīng)著GAN中的生成器,F可以將X中的圖片x轉(zhuǎn)換為Y中的圖片F(xiàn)(x)。對于生成的圖片,我們還需要GAN中的判別器來判別它是否為真實圖片,由此構(gòu)成對抗生成網(wǎng)絡(luò)。設(shè)這個判別器為??。這樣的話,根據(jù)這里的生成器和判別器,我們就可以構(gòu)造一個GAN損失,表達式為:

這個損失實際上和原始的GAN損失是一模一樣的,如果這一步不是很理解的可以參考一篇專欄:GAN學(xué)習(xí)指南:從原理入門到制作生成Demo

但單純的使用這一個損失是無法進行訓(xùn)練的。原因在于,映射F完全可以將所有x都映射為Y空間中的同一張圖片,使損失無效化。對此,作者又提出了所謂的“循環(huán)一致性損失”(cycle consistency loss)。

我們再假設(shè)一個映射G,它可以將Y空間中的圖片y轉(zhuǎn)換為X中的圖片G(y)。CycleGAN同時學(xué)習(xí)F和G兩個映射,并要求??,以及???。也就是說,將X的圖片轉(zhuǎn)換到Y(jié)空間后,應(yīng)該還可以轉(zhuǎn)換回來。這樣就杜絕模型把所有X的圖片都轉(zhuǎn)換為Y空間中的同一張圖片了。根據(jù)??和??,循環(huán)一致性損失就定義為:

同時,我們?yōu)镚也引入一個判別器??,由此可以同樣定義一個GAN的損失??,最終的損失就由三部分組成:

CycleGAN與DCGAN的對比

為了進一步搞清楚CycleGAN的原理,我們可以拿它和其他幾個GAN模型,如DCGAN、pix2pix模型進行對比。

先來看下DCGAN,它的整體框架和最原始的那篇GAN是一模一樣的,在這個框架下,輸入是一個噪聲z,輸出是一張圖片(如下圖),因此,我們實際只能隨機生成圖片,沒有辦法控制輸出圖片的樣子,更不用說像CycleGAN一樣做圖片變換了。

CycleGAN與pix2pix模型的對比

pix2pix也可以做圖像變換,它和CycleGAN的區(qū)別在于,pix2pix模型必須要求成對數(shù)據(jù)(paired data),而CycleGAN利用非成對數(shù)據(jù)也能進行訓(xùn)練(unpaired data)。

?

比如,我們希望訓(xùn)練一個將白天的照片轉(zhuǎn)換為夜晚的模型。如果使用pix2pix模型,那么我們必須在搜集大量地點在白天和夜晚的兩張對應(yīng)圖片,而使用CycleGAN只需同時搜集白天的圖片和夜晚的圖片,不必滿足對應(yīng)關(guān)系。因此CycleGAN的用途要比pix2pix更廣泛,利用CycleGAN就可以做出更多有趣的應(yīng)用。

在TensorFlow中實驗CycleGAN

最后來講一講如何在TensorFlow中實驗CycleGAN,打開全球最大的同性交友網(wǎng)站Github,我們可以發(fā)現(xiàn)CycleGAN在TensorFlow中已經(jīng)有很多輪子了,我使用的代碼是:vanhuyz/CycleGAN-TensorFlow(地址:https://github.com/vanhuyz/CycleGAN-TensorFlow)。

利用這個代碼,我訓(xùn)練了一個從男性和女性圖片互換的模型,比如將男人轉(zhuǎn)換成女人(左側(cè)為原圖,右側(cè)為模型自動生成的圖片):

?

還可以將女性轉(zhuǎn)換成男性:

?

為了訓(xùn)練這么一個模型,我們需要分別準(zhǔn)備好男性的圖片和女性的圖片。在實踐中,我使用了CelebA數(shù)據(jù)集,分別取出其中男性和女性的圖片并統(tǒng)一縮放到256x256的大小,然后存入兩個文件夾中:

?

如果你對這個實驗有興趣,可以直接在地址https://pan.baidu.com/s/1i5qY3yt下載到我使用的數(shù)據(jù)集。當(dāng)然,也可以使用自己的數(shù)據(jù),只需要將它們存為jpg格式并統(tǒng)一縮放到256x256的大小就可以了。接下來的步驟為:

1. 下載項目代碼

git clone https://github.com/vanhuyz/CycleGAN-TensorFlow.git

2. 將圖片轉(zhuǎn)換成tfrecords格式

這個項目中提供了一個build_data腳本,用于將圖片轉(zhuǎn)換成tfrecords形式。假設(shè)我們的圖片存放在~/datasets/man2woman/a_resized/和 ~/datasets/man2woman/b_resized目錄下,對應(yīng)的命令就是:

python build_data.py \
? ?--X_input_dir ~/datasets/man2woman/a_resized/ \
? ?--Y_input_dir ~/datasets/man2woman/b_resized/ \
? ?--X_output_file ~/datasets/man2woman/man.tfrecords \
? ?--Y_output_file ~/datasets/man2woman/woman.tfrecords

3. 訓(xùn)練

訓(xùn)練的命令為:

python train.py \
? ?--X ~/datasets/man2woman/man.tfrecords \
? ?--Y ~/datasets/man2woman/woman.tfrecords \
? ?--image_size 256

訓(xùn)練的過程比較漫長,此時可以打開TensorBoard來觀察訓(xùn)練情況(運行這個命令時需要將“20170715-1622”改成機器中對應(yīng)的文件夾,下同):

tensorboard --logdir checkpoints/20170715-1622

4. 導(dǎo)出模型并執(zhí)行單張圖片

導(dǎo)出模型的方法為:

python export_graph.py \
? ?--checkpoint_dir checkpoints/20170715-1622 \
? ?--XtoY_model man2woman.pb \
? ?--YtoX_model woman2man.pb ?\
? ?--image_size 256

對單張圖片進行轉(zhuǎn)換(將data/test.jpg替換為對應(yīng)的輸入圖片地址):

python inference.py \
--model pretrained/man2woman.pb ?\
--input data/test.jpg ?\
--output data/output.jpg \
--image_size 256

總結(jié)

有已經(jīng)訓(xùn)練好噠model,調(diào)用后發(fā)現(xiàn)效果很不好。

總結(jié)

以上是生活随笔為你收集整理的CycleGAN 各种变变变的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 午夜一级影院 | 欧美三级视频在线 | 天天天天天操 | 国产一级做a爰片久久毛片男 | 麻豆传媒一区 | caobi视频| 在线看黄色网 | 99re在线视频观看 | 日韩精品中字 | 亚洲黄色a级片 | 国产黄页 | 人人妻人人澡人人爽精品 | 黄色网在线播放 | 九九成人| 女人高潮娇喘声mp3 乱色视频 | 欧美日韩一 | 亚洲欧洲日本精品 | 最新日韩精品 | 欧美性免费 | 国产超碰在线观看 | 丰满人妻熟妇乱偷人无码 | 国产日韩大片 | 色屋视频| 综合色在线观看 | 91理论片 | 少妇丰满尤物大尺度写真 | 亚洲插插 | 亚洲啪视频 | 成人片在线播放 | 亚洲精品视频中文字幕 | 日韩免费大片 | 色牛影院| 午夜不卡福利视频 | 亚洲综合色视频 | 奇米影视欧美 | 在线看黄色av | 欧美性生交xxxxx久久久缅北 | 日韩一区二区视频在线观看 | 亚洲色图导航 | 亚洲视频手机在线观看 | 91系列在线观看 | 久久这里只有精品9 | 啪啪日韩 | 91久久国产综合久久91 | 一区二区在线 | 欧美激情aaa | 免费观看全黄做爰的视频 | 精品小视频在线观看 | 日本午夜小视频 | 色就色欧美 | 日韩一级色| 久久久久久无码精品人妻一区二区 | 一本色道久久综合亚洲精品图片 | 阿v天堂2018 俄罗斯丰满熟妇hd av色吧 | 日产毛片| 公侵犯人妻一区二区 | 秋霞成人网 | 综合在线播放 | 美女xx00| 国产aⅴ精品一区二区果冻 台湾性生生活1 | 超能一家人电影免费喜剧在线观看 | 国产91精选 | 欧美又粗又大xxxxbbbb疯狂 | 日本一区久久 | 影音先锋亚洲一区 | 亚洲国产精品国自产拍久久 | 色哟哟官网 | 日日天天干 | 丰满少妇中文字幕 | 北岛玲在线 | 国产一线av | 色眯眯网| 色漫| 欧美一级专区免费大片 | 色婷婷综合久久久中文字幕 | 午夜国产福利在线观看 | 国产亚洲女人久久久久毛片 | 奇米影视播放器 | 小珊的性放荡羞辱日记 | 欧美aaaaaaa | 精品97人妻无码中文永久在线 | 国产男人搡女人免费视频 | 亚洲天堂中文字幕 | 羞羞动漫免费观看 | 色呦呦网站入口 | 国产美女www爽爽爽 www.国产毛片 | 欧美韩一区| 日韩国产免费 | 久久av一区| 强辱丰满人妻hd中文字幕 | 午夜免费视频网站 | 亚洲九九九 | 丁香七月激情 | 久久久精品视频一区 | 免费大片黄在线观看视频网站 | 欧美交换国产一区内射 | 欧美混交群体交 | 亚洲欧美视频在线观看 | 国产综合日韩 |