1
作者 | 楊國(guó)興
編輯 | 陳大鑫
或者對(duì)于鏟屎官們來說,把老虎貓變成?,把狗變成狼?,還可以把老虎變成貓:
論文介紹
臉部屬性編輯任務(wù)的目標(biāo)是操縱真實(shí)臉部圖片的語(yǔ)義屬性,其在現(xiàn)實(shí)中有著廣泛的應(yīng)用,例如娛樂、輔助心理治療以及數(shù)據(jù)增強(qiáng)等等。隨著深度生成模型的發(fā)展,最近的工作大多以GAN(Generative Adversarial Network)為基礎(chǔ)?,F(xiàn)有的臉部屬性編輯模型面臨的一個(gè)主要挑戰(zhàn)是要同時(shí)滿足兩個(gè)要求:
(1)正確地修改想要的屬性;(2)保留其它無關(guān)的信息。但是因?yàn)椴煌瑢傩灾g存在著各種關(guān)系,且屬性與身份信息之間也存在著關(guān)系,所以在修改一個(gè)屬性時(shí)很可能不經(jīng)意地導(dǎo)致其他特征的改變,這導(dǎo)致了同時(shí)滿足這兩個(gè)屬性是很困難的。
為了滿足這兩個(gè)條件,一些最新的辦法采用了空間注意力的方法。這類方法假設(shè)每個(gè)屬性有著一個(gè)對(duì)應(yīng)的局部區(qū)域,圖片的屬性操作可以被限制在這一區(qū)域中。它們通過網(wǎng)絡(luò)中的注意力模塊去學(xué)習(xí)建模這一區(qū)域,一但這一區(qū)域被確定,它們便可以使用掩碼和殘差和的方法實(shí)現(xiàn)僅在部分區(qū)域內(nèi)進(jìn)行編輯。
但是這一假設(shè)并非對(duì)所有的屬性都滿足,比如說性別、笑容等屬性,這些屬性對(duì)應(yīng)的區(qū)域基本覆蓋了整個(gè)臉部且與其他屬性區(qū)域重疊。因此這類模型在操縱這些屬性時(shí)效果并不好。另一部分方法則把注意力放在對(duì)GAN學(xué)到的隱空間中進(jìn)行隱變量的分解,從而通過分解得到屬性相關(guān)的向量。給定一個(gè)預(yù)訓(xùn)練好的GAN模型,它們通過學(xué)習(xí)子映射的方式將原向量映射到表達(dá)對(duì)應(yīng)屬性的向量。
但是這類方法仍然存在兩個(gè)問題:
(1)它們依賴于預(yù)訓(xùn)練好的GAN模型提供的隱空間,并不對(duì)模型重新訓(xùn)練。這種沒有重新進(jìn)行端到端訓(xùn)練的模型的隱空間可能是一個(gè)次優(yōu)化的隱空間。
(2)這類方法往往只在數(shù)據(jù)集提供的幾個(gè)標(biāo)簽之間進(jìn)行解耦,但是還有許多并沒有被包含在這些預(yù)定義的標(biāo)簽中的信息需要被解耦,例如光照信息和身份信息等。
為了克服這些限制,本文提出了一個(gè)新的隱空間分解模型L2M-GAN。
該模型進(jìn)行端到端的訓(xùn)練,并學(xué)習(xí)將隱向量明確地分解為屬性相關(guān)向量和屬性無關(guān)向量,以實(shí)現(xiàn)相關(guān)屬性信息和其他信息的解耦。與之前的這類方法類似,我們也根據(jù)屬性標(biāo)簽對(duì)隱空間中的變量進(jìn)行解耦,但是不同的是,我們明確地將其分解為屬性相關(guān)的向量和屬性無關(guān)的向量,而非僅僅對(duì)兩個(gè)預(yù)定義的屬性進(jìn)行解耦。
方法
在介紹我們的方法之前,我們先定義“域”這一概念。“域”指的是某些屬性的值構(gòu)成的組合。比如想要編輯屬性<性別,年齡>時(shí),一共存在4個(gè)“域”,<男性,年老>,<女性,年老>,<男性,年輕>,<女性,年輕>。給定一張輸入圖片和它所對(duì)應(yīng)的域,以及目標(biāo)域,我們的目的是合成一張屬于目標(biāo)域的圖片,同時(shí)保留輸入圖片的與域無關(guān)的信息。
如下圖所示,我們提出的模型由三個(gè)部分組成:風(fēng)格編碼器、風(fēng)格轉(zhuǎn)換器和生成器。
在多任務(wù)學(xué)習(xí)的設(shè)置下,我們的風(fēng)格編碼器由多個(gè)域的輸出分支組成。為了解釋方便,上圖中僅表示了一個(gè)域的輸出。
風(fēng)格編碼器是L2M-GAN的關(guān)鍵組成部分,它由分解器和域轉(zhuǎn)換器兩個(gè)組件構(gòu)成。其中,分解器從原始的隱向量中分解出與域無關(guān)的(屬性無關(guān)的)向量,再通過相減能得到域相關(guān)的(屬性相關(guān)的)向量。因?yàn)槲覀兊哪繕?biāo)是修改目標(biāo)屬性到目標(biāo)域中,而其他無關(guān)的信息不會(huì)被修改。這種情況會(huì)出現(xiàn),當(dāng)且僅當(dāng)和
是相互垂直的,且修改后的向量也與
是相互垂直的。
為此,我們引入了垂直損失來對(duì)這兩個(gè)向量進(jìn)行限制。值得注意的是,之前的方法使用垂直損失來對(duì)兩個(gè)屬性進(jìn)行解耦,而L2M-GAN則用該損失來把屬性相關(guān)的信息和其他所有無關(guān)的信息分離開。這對(duì)屬性編輯中保留其他信息這一要求是至關(guān)重要的,因?yàn)槠渌膶傩詷?biāo)簽并不能涵蓋所有的無關(guān)信息。在得到域相關(guān)向量以后,L2M-GAN通過域轉(zhuǎn)換器把它轉(zhuǎn)換到目標(biāo)域中,得到表示目標(biāo)域信息的域相關(guān)向量。其與域無關(guān)向量相加后便可得到編輯過后的隱向量。
生成器以一張輸入圖片和一個(gè)編輯后的隱編碼作為輸入,生成一張目標(biāo)域的圖片,其包含目標(biāo)域信息和輸入圖片的與域無關(guān)的其他信息。與StarGAN V2類似,我們的生成器也采用 Adaptive Instance Normalization(AdaIN)結(jié)構(gòu)來將隱編碼中包含的風(fēng)格信息融合到輸入圖片中。
實(shí)驗(yàn)
我們?cè)趶V泛使用的CelebA-HQ數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)。我們根據(jù)CelebA的劃分以及CelebA和CelebA-HQ圖片間的對(duì)應(yīng)關(guān)系,把CelebA-HQ劃分為27176張訓(xùn)練圖片和2824張測(cè)試圖片。
我們將我們的方法與其他幾種最新的方法進(jìn)行了對(duì)比。正文中的實(shí)驗(yàn)幾種在“笑容”這一特定屬性上,其他更多屬性的結(jié)果我們放在了附件中。值得注意的是,“笑容”這一屬性是數(shù)據(jù)集所給的40個(gè)標(biāo)簽中最具挑戰(zhàn)性的一個(gè)屬性,因?yàn)槠渫瑫r(shí)涉及臉部中的多個(gè)部分,添加和消除笑容都需要模型對(duì)輸入圖片有高級(jí)的語(yǔ)義理解,這樣才能同時(shí)修改多個(gè)臉部圖片的組成部分而不改變其他信息。
從可視化結(jié)果中可以看到,StarGAN和CycleGAN傾向于在嘴周圍生成模糊和失真的結(jié)果,因此在大多數(shù)生成圖片中,它們沒法很好地正確編輯對(duì)應(yīng)屬性。ELEGANT 則總是把參考圖片中與屬性無關(guān)的信息也遷移到生成圖片中,這是因?yàn)樗M(jìn)行屬性交換的隱空間并沒有很好地解耦。
PA-GAN是基于空間注意力的方法,因此它較好地保留了一些無關(guān)的信息,例如背景等,但是可以看到,面對(duì)難以定義確定修改區(qū)域的“笑容”屬性,其通常會(huì)出現(xiàn)修改不充分的情況,因而無法正確地編輯屬性。InterfaceGAN*能夠生成高質(zhì)量的圖片,但是在一些細(xì)節(jié)上仍然做的不夠好,比如眼睛和嘴的生成。同時(shí)其有時(shí)會(huì)修改輸入圖片的身份信息,這是因?yàn)槠鋬H僅考慮了屬性間的解耦,而沒有考慮身份等其他信息。
在量化結(jié)果上,我們主要采用了FID和屬性操作準(zhǔn)確率來分別評(píng)價(jià)合成圖片的質(zhì)量以及屬性編輯的結(jié)果正確率??梢钥吹匠嗽谙θ葸@一結(jié)果上的FID比PA-GAN低,其他的結(jié)果都是超過了所有最新的結(jié)果的,而PA-GAN是以修改不充分為代價(jià)來達(dá)到較高的圖片質(zhì)量的。
除了上述結(jié)果,我們的模型還展現(xiàn)出了其他的能力,包括:控制編輯屬性的強(qiáng)度、同時(shí)修改多個(gè)屬性以及對(duì)未見過的圖片的遷移等。
因?yàn)榻?jīng)過訓(xùn)練之后的隱空間是一個(gè)學(xué)習(xí)到了語(yǔ)義信息的連續(xù)空間,當(dāng)我們線性地把變換到時(shí),合成的圖片所表示的關(guān)于目標(biāo)域的語(yǔ)義信息也會(huì)逐漸增加,關(guān)于原域的語(yǔ)義信息會(huì)逐漸減少,同時(shí)因?yàn)槲覀儗?duì)、與的垂直限制,這個(gè)過程不會(huì)改變其他無關(guān)的信息。這一過程可以表達(dá)為:
我們可以通過控制超參數(shù)來控制合成圖片的相關(guān)屬性的強(qiáng)度。
此外,我們的L2M-GAN模型以StarGAN V2作為骨架網(wǎng)絡(luò),所以可以很自然地進(jìn)行多屬性編輯的任務(wù)。
本文還使用了數(shù)據(jù)集外的圖片測(cè)試了我們模型的泛化能力??梢钥吹?,我們的模型在CelebA-HQ這一真實(shí)人臉數(shù)據(jù)集上訓(xùn)練過后,直接在分布差異比較大的動(dòng)漫數(shù)據(jù)集上測(cè)試也可以很好地實(shí)現(xiàn)屬性編輯的功能且合成質(zhì)量很高的圖片。
同時(shí),為了進(jìn)一步驗(yàn)證我們模型結(jié)構(gòu)的有效性,我們還在非人臉的動(dòng)物數(shù)據(jù)集AFHQ上進(jìn)行訓(xùn)練。從可視化結(jié)果中可以看到,我們的模型在非人臉數(shù)據(jù)集上也能達(dá)到很好的屬性編輯效果以及生成圖片質(zhì)量。這進(jìn)一步驗(yàn)證了我們的方法的有效性及泛化性。
總結(jié)
我們提出了一種新的基于隱空間分解的臉部屬性編輯模型。
我們提出的模型L2M-GAN是首個(gè)基于隱空間分解的端到端臉部屬性編輯模型,其可以有效地編輯局部和全局屬性。這得益于提出的新的風(fēng)格轉(zhuǎn)換器將隱向量分解為屬性相關(guān)的部分和屬性無關(guān)的部分,并對(duì)轉(zhuǎn)換前后的向量施加了垂直約束。大量的實(shí)驗(yàn)證明了我們提出的L2M-GAN比其他現(xiàn)有的方法有明顯的改進(jìn)。
另外本論文已經(jīng)開源,歡迎大家多多試用、來個(gè)star~
開源鏈接:https://github.com/rucmlcv/L2M-GAN
論文地址:
雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)雷鋒網(wǎng)
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。