精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

全部代碼開源:StarGAN 在 TensorFlow上的簡單實(shí)現(xiàn)

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-07-03 10:40 ? 次閱讀

StarGAN 是去年 11 月由香港科技大學(xué)、新澤西大學(xué)和韓國大學(xué)等機(jī)構(gòu)的研究人員提出的一個(gè)圖像風(fēng)格遷移模型,是一種可以在同一個(gè)模型中進(jìn)行多個(gè)圖像領(lǐng)域之間的風(fēng)格轉(zhuǎn)換的對(duì)抗生成方法。近日,有研究人員將 StarGAN 在 TensorFlow 上實(shí)現(xiàn)的全部代碼開源,相關(guān)論文獲 CVPR 2018 Oral。

看代碼之前,我們先來回顧一下 StarGAN 的原始論文。

StarGAN 對(duì)抗生成網(wǎng)絡(luò)實(shí)現(xiàn)多領(lǐng)域圖像變換

圖像到圖像轉(zhuǎn)換(image-to-image translation)這個(gè)任務(wù)是指改變給定圖像的某一方面,例如,將人的面部表情從微笑改變?yōu)榘櫭肌T谝肷蓪?duì)抗網(wǎng)絡(luò)(GAN)之后,這項(xiàng)任務(wù)有了顯著的改進(jìn),包括可以改變頭發(fā)顏色,改變風(fēng)景圖像的季節(jié)等等。

給定來自兩個(gè)不同領(lǐng)域的訓(xùn)練數(shù)據(jù),這些模型將學(xué)習(xí)如何將圖像從一個(gè)域轉(zhuǎn)換到另一個(gè)域。我們將屬性(attribute)定義為圖像中固有的有意義的特征,例如頭發(fā)顏色,性別或年齡等,并且將屬性值(attribute value)表示為屬性的一個(gè)特定值,例如頭發(fā)顏色的屬性值可以是黑色 / 金色 / 棕色,性別的屬性值是男性 / 女性。我們進(jìn)一步將域(domain)表示為共享相同屬性值的一組圖像。例如,女性的圖像可以代表一個(gè) domain,男性的圖像代表另一個(gè) domain。

一些圖像數(shù)據(jù)集帶有多個(gè)標(biāo)簽屬性。例如,CelebA 數(shù)據(jù)集包含 40 個(gè)與頭發(fā)顏色、性別和年齡等面部特征相關(guān)的標(biāo)簽,RaFD 數(shù)據(jù)集有 8 個(gè)面部表情標(biāo)簽,如 “高興”、“憤怒”、“悲傷” 等。這些設(shè)置使我們能夠執(zhí)行更有趣的任務(wù),即多域圖像到圖像轉(zhuǎn)換(multi-domain image-to-image translation),即根據(jù)來自多個(gè)域的屬性改變圖像。

圖 1:通過從 RaFD 數(shù)據(jù)集學(xué)習(xí)遷移知識(shí),應(yīng)用到 CelebA 的多域圖像到圖像轉(zhuǎn)換結(jié)果。第一列和第六列顯示輸入圖像,其余列是產(chǎn)生的 StarGAN 圖像。注意,圖像是由一個(gè)單一模型網(wǎng)絡(luò)生成的,面部表情標(biāo)簽如生氣、高興、恐懼是從 RaFD 學(xué)習(xí)的,而不是來自 CelebA。

在圖 1 中,前 5 列顯示了一個(gè) CelebA 的圖像是如何根據(jù) 4 個(gè)域(“金發(fā)”、“性別”、“年齡” 和 “白皮膚”)進(jìn)行轉(zhuǎn)換。我們可以進(jìn)一步擴(kuò)展到訓(xùn)練來自不同數(shù)據(jù)集的多個(gè)域,例如聯(lián)合訓(xùn)練 CelebA 和 RaFD 圖像,使用在 RaFD 上訓(xùn)練的特征來改變 CelebA 圖像的面部表情,如圖 1 最右邊的列所示。

然而,現(xiàn)有模型在這種多域圖像轉(zhuǎn)換任務(wù)中既效率低,效果也不好。它們的低效性是因?yàn)樵趯W(xué)習(xí) k 個(gè)域之間的所有映射時(shí),必須訓(xùn)練 k(k-1)個(gè)生成器。圖 2 說明了如何訓(xùn)練 12 個(gè)不同的生成器網(wǎng)絡(luò)以在 4 個(gè)不同的域中轉(zhuǎn)換圖像。

圖 2: StarGAN 模型與其他跨域模型的比較。(a)為處理多個(gè)域,應(yīng)該在每兩個(gè)域之間都建立跨域模型。(b)StarGAN 用單個(gè)生成器學(xué)習(xí)多域之間的映射。該圖表示連接多個(gè)域的拓?fù)鋱D。

為了解決這類問題,我們提出了StarGAN,這是一個(gè)能夠?qū)W習(xí)多個(gè)域之間映射的生成對(duì)抗網(wǎng)絡(luò)。如圖 2(b) 所示,我們的模型接受多個(gè)域的訓(xùn)練數(shù)據(jù),僅使用一個(gè)生成器就可以學(xué)習(xí)所有可用域之間的映射。

這個(gè)想法很簡單。我們的模型不是學(xué)習(xí)固定的轉(zhuǎn)換(例如,將黑頭發(fā)變成金色頭發(fā)),而是將圖像和域信息作為輸入,學(xué)習(xí)將輸入的圖像靈活地轉(zhuǎn)換為相應(yīng)的域。我們使用一個(gè)標(biāo)簽來表示域信息。在訓(xùn)練過程中,我們隨機(jī)生成一個(gè)目標(biāo)域標(biāo)簽,并訓(xùn)練模型將輸入圖像轉(zhuǎn)換為目標(biāo)域。這樣,我們可以控制域標(biāo)簽并在測(cè)試階段將圖像轉(zhuǎn)換為任何想要的域。

我們還介紹了一種簡單但有效的方法,通過在域標(biāo)簽中添加一個(gè)掩碼向量(mask vector)來實(shí)現(xiàn)不同數(shù)據(jù)集域之間的聯(lián)合訓(xùn)練。我們提出的方法可以確保模型忽略未知的標(biāo)簽,并關(guān)注特定數(shù)據(jù)集提供的標(biāo)簽。這樣,我模型就可以很好地完成任務(wù),比如利用從 RaFD 中學(xué)到的特征合成 CelebA 圖像的面部表情,如圖 1 最右邊的列所示。據(jù)我們所知,這是第一個(gè)在不同的數(shù)據(jù)集上成功地完成多域圖像轉(zhuǎn)換的工作。

總結(jié)而言,這個(gè)研究的貢獻(xiàn)如下:

提出 StarGAN,這是一個(gè)新的生成對(duì)抗網(wǎng)絡(luò),只使用一個(gè)生成器和一個(gè)鑒別器來學(xué)習(xí)多個(gè)域之間的映射,能有效地利用所有域的圖像進(jìn)行訓(xùn)練。

演示了如何通過使用 mask vector 來學(xué)習(xí)多個(gè)數(shù)據(jù)集之間的多域圖像轉(zhuǎn)換,使 StarGAN 能夠控制所有可用的域標(biāo)簽。

使用 StarGAN 在面部屬性轉(zhuǎn)換和面部表情合成任務(wù)提供了定性和定量的結(jié)果,優(yōu)于 baseline 模型

圖 3:StarGAN 的概觀,包含兩個(gè)模塊:一個(gè)鑒別器 D 和一個(gè)生成器 G。(a)D 學(xué)習(xí)區(qū)分真實(shí)圖像和假圖像,并將真實(shí)圖像分類到相應(yīng)的域。(b)G 接受圖像和目標(biāo)域標(biāo)簽作為輸入并生成假圖像。 (c)G 嘗試在給定原始域標(biāo)簽的情況下,從假圖像中重建原始圖像。(d)G 嘗試生成與真實(shí)圖像非常像的假圖像,并通過 D 將其分類為目標(biāo)域。

實(shí)驗(yàn)結(jié)果

圖4:CelebA 數(shù)據(jù)集上面部屬性轉(zhuǎn)換的結(jié)果對(duì)凱勒巴數(shù)據(jù)集。第1列顯示輸入圖像,后4列顯示單個(gè)屬性轉(zhuǎn)換的結(jié)果,最右邊的列顯示多個(gè)屬性的轉(zhuǎn)換結(jié)果。H:頭發(fā)的顏色;G:性別;A:年齡

圖5:RaFD 數(shù)據(jù)集上面部表情合成的結(jié)果

圖6:StarGAN-SNG 和 StarGAN-JNT 在 CelebA 數(shù)據(jù)集上的面部表情合成結(jié)果。

TensorFlow模型的實(shí)現(xiàn)

要求:

Tensorflow 1.8

Python 3.6

> python download.py celebA

下載數(shù)據(jù)集

> python download.py celebA

訓(xùn)練

python main.py --phase train

測(cè)試

python main.py --phase test

celebA 測(cè)試圖像和你想要的圖像同時(shí)運(yùn)行

預(yù)訓(xùn)練模型

下載celebA_checkpoint

結(jié)果 (128x128, wgan-gp)

女性

男性

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 數(shù)據(jù)集
    +關(guān)注

    關(guān)注

    4

    文章

    1205

    瀏覽量

    24644
  • 圖像轉(zhuǎn)換
    +關(guān)注

    關(guān)注

    0

    文章

    6

    瀏覽量

    6151
  • tensorflow
    +關(guān)注

    關(guān)注

    13

    文章

    329

    瀏覽量

    60499

原文標(biāo)題:【CVPR Oral】TensorFlow實(shí)現(xiàn)StarGAN代碼全部開源,1天訓(xùn)練完

文章出處:【微信號(hào):AI_era,微信公眾號(hào):新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    關(guān)于 TensorFlow

    的底層數(shù)據(jù)操作,你也可以自己寫一點(diǎn)c++代碼來豐富底層的操作。真正的可移植性(Portability)Tensorflow CPU和GPU運(yùn)行,比如說可以運(yùn)行在臺(tái)式機(jī)、服務(wù)器、手機(jī)
    發(fā)表于 03-30 19:57

    阿里云Kubernetes容器服務(wù)打造TensorFlow實(shí)驗(yàn)室

    GPU的使用,同時(shí)支持最新的TensorFLow版本, 對(duì)于數(shù)據(jù)科學(xué)家來說既是復(fù)雜的,同時(shí)也是浪費(fèi)精力的。阿里云的Kubernetes集群,您可以通過簡單的按鈕提交創(chuàng)建一套完整的
    發(fā)表于 05-10 10:24

    情地使用Tensorflow吧!

    Google Cloud ML服務(wù),我們可以把TensorFlow應(yīng)用代碼直接提交到云端運(yùn)行,甚至可以把訓(xùn)練好的模型直接部署,通過API就可以直接訪問,也得益于
    發(fā)表于 07-22 10:13

    TensorFlow是什么

    更長。TensorFlow 使這一切變得更加簡單快捷,從而縮短了想法到部署之間的實(shí)現(xiàn)時(shí)間。本教程中,你將學(xué)習(xí)如何利用 TensorFlow
    發(fā)表于 07-22 10:14

    TensorFlow實(shí)現(xiàn)簡單線性回歸

    本小節(jié)直接從 TensorFlow contrib 數(shù)據(jù)集加載數(shù)據(jù)。使用隨機(jī)梯度下降優(yōu)化器優(yōu)化單個(gè)訓(xùn)練樣本的系數(shù)。實(shí)現(xiàn)簡單線性回歸的具體做法導(dǎo)入需要的所有軟件包: 神經(jīng)網(wǎng)絡(luò)中,所有的
    發(fā)表于 08-11 19:34

    TensorFlow實(shí)現(xiàn)多元線性回歸(超詳細(xì))

    TensorFlow 實(shí)現(xiàn)簡單線性回歸的基礎(chǔ),可通過權(quán)重和占位符的聲明中稍作修改來對(duì)相同
    發(fā)表于 08-11 19:35

    TensorFlow的特點(diǎn)和基本的操作方式

    Tensorflow是Google開源的深度學(xué)習(xí)框架,來自于Google Brain研究項(xiàng)目,Google第一代分布式機(jī)器學(xué)習(xí)框架DistBelief的基礎(chǔ)發(fā)展起來。
    發(fā)表于 11-23 09:56

    基于TensorFlow Micro代碼為何要這么實(shí)現(xiàn)

    Hello World是什么?基于TensorFlow Micro代碼為何要這么實(shí)現(xiàn)
    發(fā)表于 11-10 07:48

    Ubuntu 18.04 for Arm運(yùn)行的TensorFlow和PyTorch的Docker映像

    ,并做出優(yōu)化以實(shí)現(xiàn)盡可能高的性能。我們希望這些 Docker 鏡像和創(chuàng)建它們的方法對(duì)希望 AArch64 使用 TensorFlow 和 PyTorch 的人有所幫助。包括什么?構(gòu)
    發(fā)表于 10-14 14:25

    TensorFlow是什么?如何啟動(dòng)并運(yùn)行TensorFlow

    TensorFlow 是一款用于數(shù)值計(jì)算的強(qiáng)大的開源軟件庫,特別適用于大規(guī)模機(jī)器學(xué)習(xí)的微調(diào)。 它的基本原理很簡單:首先在 Python 中定義要執(zhí)行的計(jì)算圖(例如圖 9-1),然后 Tenso
    的頭像 發(fā)表于 07-29 11:16 ?1.7w次閱讀

    TensorFlow都有哪些功能,大家是否都全部了解呢?

    ,AlphaGo 和 Google Cloud Vision 也是基于 TensorFlow 開發(fā)的。而且 TensorFlow開源的,你可以免費(fèi)下載并立刻上手操作。
    的頭像 發(fā)表于 09-02 10:20 ?2.1w次閱讀

    開源機(jī)器學(xué)習(xí)平臺(tái)TensorFlow的更新內(nèi)容

    TensorFlow 2.2.0-rc0已發(fā)布,據(jù)官方介紹,TensorFlow 是一個(gè)采用數(shù)據(jù)流圖(data flow graphs),用于數(shù)值計(jì)算的開源軟件庫。
    的頭像 發(fā)表于 03-15 14:53 ?1933次閱讀

    如何在ESP32使用代碼運(yùn)行TensorFlow模型?

    該項(xiàng)目使用在ESP32運(yùn)行的TensorFlow Lite創(chuàng)建一個(gè)語音控制的機(jī)器人。它可以響應(yīng)簡單的單字命令:“左”,“右”,“前進(jìn)”和“后退”。
    的頭像 發(fā)表于 04-27 14:54 ?4681次閱讀

    tensorflow簡單的模型訓(xùn)練

    本文中,我們將詳細(xì)介紹如何使用TensorFlow進(jìn)行簡單的模型訓(xùn)練。TensorFlow是一個(gè)開源的機(jī)器學(xué)習(xí)庫,廣泛用于各種機(jī)器學(xué)習(xí)任務(wù)
    的頭像 發(fā)表于 07-05 09:38 ?514次閱讀

    tensorflow和pytorch哪個(gè)更簡單?

    PyTorch更簡單。選擇TensorFlow還是PyTorch取決于您的具體需求和偏好。如果您需要一個(gè)易于使用、靈活且具有強(qiáng)大社區(qū)支持的框架,PyTorch可能是一個(gè)更好的選擇。如果您需要一個(gè)
    的頭像 發(fā)表于 07-05 09:45 ?787次閱讀