小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

 Woxygen 2017-11-30

編者按:近日,高麗大學(xué)、Clova AI Research、新澤西大學(xué)和香港科技大學(xué)共同發(fā)表了一項新成果:一個可以在多域圖像間實現(xiàn)圖對圖轉(zhuǎn)換的統(tǒng)一生成對抗網(wǎng)絡(luò)——StarGAN。他們在論文中展示了大量StarGAN在人臉上的成功應(yīng)用,證明它不僅能調(diào)整圖像中的發(fā)色、肌理、膚色、性別,還能合成各種生動有趣的表情。

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

第一列和第六列為輸入圖像,其余列均為StarGAN生成圖像

以下是論智對論文部分內(nèi)容的編譯:

最近的研究顯示,學(xué)界已經(jīng)在兩個域圖像到圖像轉(zhuǎn)換上取得了長足進(jìn)展,但是,這些方法在可擴(kuò)展性和魯棒性上仍有諸多局限,且效率低下。當(dāng)需要對k個域上的圖片進(jìn)行圖像轉(zhuǎn)換時,現(xiàn)有模型需要事先訓(xùn)練好k(k?1)生成器。如下圖(a)所示,只有當(dāng)12個生成器都完成訓(xùn)練,該模型才能實現(xiàn)轉(zhuǎn)換,同時,模型雖然能習(xí)得4個數(shù)據(jù)集的所有特征,但生成器得到的只是兩個域的特征信息,因此它無法對整個數(shù)據(jù)集做到充分、合理利用。

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

左:cross-domain模型;右:StarGAN

為了解決這一問題,團(tuán)隊提出了StarGAN,一種可擴(kuò)展的、只用一個模型就能執(zhí)行多個域圖片到圖片轉(zhuǎn)換任務(wù)的方法。如上圖(b)所示,StarGAN允許來自不同域的多個數(shù)據(jù)集在同一個神經(jīng)網(wǎng)絡(luò)內(nèi)并行訓(xùn)練,而其生成器也能充分利用來自5個域的圖像特征。不同于直接提取圖片信息,該方法首先會讀取輸入的圖像和圖像所在的域,之后將圖像信息轉(zhuǎn)化進(jìn)相應(yīng)的域,并用標(biāo)簽(binary或one hot vector)注明信息。當(dāng)需要進(jìn)行圖像對圖像轉(zhuǎn)換時,StarGAN只需對照標(biāo)簽將圖片輸入目標(biāo)域即可。

實驗證明,這種方法擁有更強(qiáng)的靈活性和可擴(kuò)展性,它生成圖片的質(zhì)量與現(xiàn)有方法相當(dāng),在面部特征有效遷移和面部表情合成上的表現(xiàn)也十分出色。

綜觀全文,團(tuán)隊的工作主要有以下3點:

  • 提出StarGAN,一個只用一對生成器和判別器就能實現(xiàn)多個域之間映射的對抗生成網(wǎng)絡(luò),且能對各個域的圖像進(jìn)行有效訓(xùn)練;

  • 演示如何通過控制StarGAN的標(biāo)簽成功進(jìn)行多個域、多個數(shù)據(jù)集之間的圖像轉(zhuǎn)換;

  • 利用StarGAN生成了數(shù)量龐大、質(zhì)量上乘的人臉圖像(包括面部元素遷移和表情合成),證明這是一種優(yōu)質(zhì)的基準(zhǔn)模型。

什么是StarGAN?

StarGAN是一個生成對抗網(wǎng)絡(luò),它由兩部分組成:一個判定器D和一個生成器G。如下圖所示:

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

當(dāng)一真一假兩組圖像數(shù)據(jù)集輸入模型后,判定器D首先負(fù)責(zé)從中歸類出它認(rèn)為是“真的”的特征,并放進(jìn)一個相應(yīng)的域類(domain classification)(圖a)。隨后,研究人員將測試圖片和目標(biāo)域(希望轉(zhuǎn)化的方向)輸入模型,由生成器G結(jié)合兩者信息生成一幅“虛假”圖像,再將“虛假”圖像結(jié)合目標(biāo)域輸入模型訓(xùn)練(圖b)。接收到新的輸入信息后,生成器G根據(jù)目標(biāo)域信息嘗試把“虛假”圖像還原成原始圖像,并將重建的新圖輸入前一個步驟(圖c)。判定器D根據(jù)生成器G傳來的“虛假”圖像,試圖從中分離出和真實圖片難以區(qū)分的特征,并歸類到D的目標(biāo)域(圖d)。

模型訓(xùn)練

構(gòu)建完StarGAN,研究人員進(jìn)行了一系列訓(xùn)練實驗,他們主要選取了兩個數(shù)據(jù)集:CelebA和RaFD。

CelebA的全稱是CelebFaces Attributes,它是香港中文大學(xué)湯曉鷗教授實驗室公布的大型人臉識別數(shù)據(jù)集,包含202599張帶注釋的人臉圖像及40余種人臉屬性。研究人員將圖片尺寸由178×218調(diào)整至128×128,并構(gòu)建了7個域:頭發(fā)顏色(黑色/金色/棕色)、性別(男/女)和年齡(年輕/年邁)。

StarGAN在CelebA中的訓(xùn)練情況

RaFD全稱Radboud Faces Database,是一個包含有4824張圖片的數(shù)據(jù)集,它內(nèi)部可分為67類(包括高加索地區(qū)男性、女性、兒童及摩洛哥男性等),每一類都包含從3個角度捕捉到的8種面部表情。研究人員也對圖像做了調(diào)整,他們從原圖中截取了大小為256 × 256的臉部特寫,將尺寸調(diào)整為128×128,并從中抽取10%的圖像作為測試集,保留剩下的90%為訓(xùn)練集。

StarGAN在RaFD中的訓(xùn)練情況

所有模型都是用D. Kingma和J. Ba在2014年提出的Adam訓(xùn)練的,其中β1 = 0.5,β2 = 0.999。訓(xùn)練數(shù)據(jù)的批大?。╞atch size)均為16,當(dāng)在CelebA中訓(xùn)練時,前10代的學(xué)習(xí)率為0.0001,它會在之后的10代線性衰減至0。而在RaFD中,為了彌補(bǔ)數(shù)據(jù)缺失,研究人員將前100代的學(xué)習(xí)率設(shè)為0.0001,并讓其在后100代中線性衰減至0。整個訓(xùn)練在一個NVIDIA Tesla M40 GPU上進(jìn)行,耗時約一天。

訓(xùn)練成果

為了凸顯StarGAN的效果,研究人員設(shè)置了3個對照組:DIAT、CycleGAN和IcGAN。前兩者都是跨領(lǐng)域模型,可用來比較模型在執(zhí)行單一或多屬性傳輸任務(wù)時的表現(xiàn)。它們采用的方法是多步驟轉(zhuǎn)換,如在更換頭發(fā)顏色后再改變性別。

CelebA訓(xùn)練成果,第一列為輸入,其余列為輸出。H:發(fā)色;G:性別;A:年齡

上圖展示了各模型在CelebA上的訓(xùn)練成果。如圖所示,和兩個跨領(lǐng)域模型相比,StarGAN模型生成的圖片質(zhì)量更優(yōu),轉(zhuǎn)換效果也更好,這很大程度上源于多任務(wù)學(xué)習(xí)框架的引入,使得神經(jīng)網(wǎng)絡(luò)并不是執(zhí)行一個固定的轉(zhuǎn)換操作,而能形成自然的過渡。

同時,和IcGAN相比,StarGAN模型生成的圖像保留了更多面部特征,這可能是因為后者用卷積層激活地圖來維護(hù)空間信息,并將之作為潛在信息,而前者則只是直接使用了一個低維潛在向量。

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

單一屬性轉(zhuǎn)換任務(wù)中各模型排名

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

多屬性轉(zhuǎn)換任務(wù)中各模型排名

研究人員在Amazon Mechanical Turk(AMT)上評估了4個模型的訓(xùn)練效果,具體排名如上兩張表所示:StarGAN較其他方法有顯著優(yōu)勢。在涉及多個屬性轉(zhuǎn)換的情況下,它能在模型訓(xùn)練中隨機(jī)產(chǎn)生目標(biāo)域標(biāo)簽,這使它能保留更多原有的面部特征。

之后,研究人員又在RaFD數(shù)據(jù)集中訓(xùn)練模型合成面部表情。在訓(xùn)練中,他們將8種不同表情定義為8個域,并把它們固定為“中性”表達(dá)式,當(dāng)輸入一個目標(biāo)域后,這個域就成了一個“異類”,StarGAN要做的只是在一張“中性”人臉中加入特定面部表情。

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

RaFD訓(xùn)練成果,第一列為輸入,其余列為輸出

如上圖所示,在所有參與實驗的模型中,StarGAN訓(xùn)練的模型生成的圖片最為清晰自然,它很好地保留了人臉的基礎(chǔ)形象和面部特征。雖然DIAT、CycleGAN模型也保留了大部分臉部特點,但它們生成的圖像都十分模糊。而IcGAN甚至無法保留原圖像的基礎(chǔ)信息,生成了一些男性圖像。

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

表情合成任務(wù)中各模型出錯率排名

在RaFD數(shù)據(jù)集中訓(xùn)練后,StarGAN模型生成圖像的準(zhǔn)確率高達(dá)99.55%。研究人員把成果導(dǎo)入AMT進(jìn)行評估,發(fā)現(xiàn)它的分類錯誤率遠(yuǎn)低于其他三類模型。同時,DIAT和CycleGAN由于架構(gòu)設(shè)計因素,一次只能學(xué)習(xí)1000張圖片,而StarGAN則能同時學(xué)習(xí)所有4000余張圖片,效率更高,模型性能也更好。上表第3列顯示了各模型在進(jìn)行一次圖像對圖像轉(zhuǎn)換時所需的參數(shù),DIAT需要7個,CycleGAN需要14個,而StarGAN由于只有一個生成器和一個判定器,在跨域轉(zhuǎn)換的情況下,它只需選取1個特定參數(shù)就可在目標(biāo)域內(nèi)對圖像做處理。

搞怪明星臉

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

輸入:一個正常的湯唯

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

輸出:黑發(fā)湯唯、金發(fā)湯唯、棕發(fā)湯唯

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

輸出:男版湯唯、老年版湯唯、金發(fā)男版湯唯

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

輸出:金發(fā)老年版湯唯、老漢版湯唯(局...局座?)、金發(fā)老漢版湯唯

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

輸入:一個正常的暮光女

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

輸出:生氣、輕蔑、惡心

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

輸出:害怕、開心、自然

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

輸出:傷感、驚訝

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

(更多清晰搞怪大圖,請訪問論文或私信小編下載論文)

結(jié)語

總而言之,這是一個偉大的創(chuàng)新,同時也是一個非常有趣的實踐。研究人員在reddit上分享了自己的成果后,3天即收獲過千的好評,并成功引起“GANs之父”Ian Goodfellow注意,后者在twitter上對論文做了傾情推薦。

較之以前的方法,StarGAN的擴(kuò)展性更強(qiáng)、生成圖片質(zhì)量更高,它引入了一種多任務(wù)學(xué)習(xí)背后的泛化能力設(shè)置,同時提出用標(biāo)簽控制各個圖像域。從原則上說,這個對抗生成網(wǎng)絡(luò)能用于所有域之間圖像到圖像的轉(zhuǎn)換。最后,據(jù)研究人員表示,未來他們的目標(biāo)之一是把StarGAN應(yīng)用到風(fēng)格遷移上。

實現(xiàn)方法

環(huán)境

  1. Python 2.7或3.5

  2. PyTorch 0.2.0

  3. TensorFlow 1.3 (可選張量版)

具體步驟

1.復(fù)制數(shù)據(jù)庫

$ git clone https://github.com/yunjey/StarGAN.git$ cd StarGAN /

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

  • CelebA數(shù)據(jù)集

$ bash download.sh
  • RaFD數(shù)據(jù)集

由于不是公開數(shù)據(jù)集,可前往官網(wǎng)(搜RaFD或私信小編)請求訪問。

獲得數(shù)據(jù)集后,首先把它分為90%的訓(xùn)練集和10%的測試集,之后將圖片中的人臉部分以面部為中心裁剪為256x256大小的圖片,并以下圖所示格式儲存:

港科大等校最新研究:用一個GAN實現(xiàn)面部特征遷移(附代碼實現(xiàn))

3.訓(xùn)練StarGAN

  • 在CelebA中訓(xùn)練

$ python main.py--mode = ' train '-- dataset = ' CelebA '-- c_dim = 5 --image_size = 128 --sample_path = ' stargan_celebA / samples '-- log_path = ' stargan_celebA / logs ' --model_save_path = ' stargan_celebA / models ' -- result_path = ' stargan_celebA / results '
  • 在RaFD中訓(xùn)練

$ python main.py--mode = ' train '-- dataset = ' RaFD '-- c_dim = 8 --image_size = 128 --num_epochs = 200 --num_epochs_decay = 100 --sample_step = 200 --model_save_step = 200 --sample_path = ' stargan_rafd / samples '-- log_path = ' stargan_rafd / logs ' --model_save_path = ' stargan_rafd / models ' -- result_path = ' stargan_rafd / results '
  • 用CelebA RaFD進(jìn)行訓(xùn)練

$ python main.py--mode = ' train '-- dataset = ' Both '-- image_size = 256 --num_iters = 200000 --num_iters_decay = 100000 --sample_path = ' stargan_both / samples '-- log_path = ' stargan_both / logs ' --model_save_path = ' stargan_both / models ' -- result_path = ' stargan_both / results '

4.測試StarGAN

  • CelebA的面部特征遷移

$ python main.py--mode = ' test '-- dataset = ' CelebA '-- c_dim = 5 --image_size = 128 --test_model = ' 20_1000 ' --sample_path = ' stargan_celebA / samples '-- log_path = ' stargan_celebA / logs ' --model_save_path = ' stargan_celebA / models ' -- result_path = ' stargan_celebA / results '
  • RaFD上的面部表情合成

$ python main.py--mode = ' test '-- dataset = ' RaFD '-- c_dim = 8 --image_size = 128 --test_model = ' 200_200 '-- rafd_image_path = ' data / RaFD / test ' --sample_path = ' stargan_rafd / samples '-- log_path = ' stargan_rafd / logs ' --model_save_path = ' stargan_rafd / models ' -- result_path = ' stargan_rafd / results '
  • CelebA上的面部表情合成

$ python main.py\--mode = ' test '-- dataset = ' Both '-- image_size = 256 --test_model = ' 200000 ' \--sample_path = ' stargan_both / samples '-- log_path = ' stargan_both / logs ' \--model_save_path = ' stargan_both / models ' -- result_path = ' stargan_both / results '

    本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多