ICCV2021 | Talk-to-Edit 透過對話實現高細粒度人臉編輯

ICCV2021 | Talk-to-Edit 透過對話實現高細粒度人臉編輯

作者 | MMLab@NTU

編輯 | 王曄

想換個髮型嗎?想知道自己20年後的樣子嗎?還在為P圖卻P不出想要的效果而發愁嗎?來試試我們的“Talk-to-Edit”吧,告訴它你想怎麼編輯,分分鐘幫你搞定。

論文連結

Paper: https://arxiv。org/abs/2109。04425

Code: https://github。com/yumingj/Talk-to-Edit

Project Page: https://www。mmlab-ntu。com/project/talkedit/index。html

實驗室主頁:https://www。mmlab-ntu。com

1

話不多說,先看圖

使用者透過和系統的對話完成人臉編輯:

對人臉的各個特徵進行編輯:

ICCV2021 | Talk-to-Edit 透過對話實現高細粒度人臉編輯

編輯各位帥哥美女(用到了GAN inversion):

ICCV2021 | Talk-to-Edit 透過對話實現高細粒度人臉編輯

2

方法及結果

以上是如何實現的呢?Talk-to-Edit的pipeline如下圖所示:

我們用Semantic Field 來實現對人臉特徵連續且高細粒度可控的編輯。對話功能則由 Language Encoder和Talk模組來實現。接下來我們解釋各個模組的工作原理和效果。

(1)Semantic Field

背景

:GAN[1, 2]可以基於隱空間中不同的隱向量生成不同的圖片。基於隱空間的圖片編輯方法[3, 4, 5, 6, 7]利用預訓練的GAN及其隱空間,有控制地改變一張圖片對應的隱向量,從而間接實現對圖片的編輯。然而這些方法假設在隱空間中沿著某個方向“走直線”就可以實現對一張人臉的某一特徵的編輯 (如下圖(b)中棕色路徑(1))。

我們的方法拋開了“走直線”這一假設,在“走動”過程中不斷根據此刻的隱向量尋找當前最優的前進方向 (如上圖(b)中黑色路徑(2))。於是,我們在隱空間中構建一個向量場來表示每個隱向量的最佳“前進方向”,沿著當前隱向量的最佳“前進方向”移動隱向量,從而改變圖片的某一個語義特徵。我們稱這個向量場為

語義場,即Semantic Field

。我們的編輯方式等價於沿著向量場的場線(fieldline),向勢(potential)增加得最快的方向移動。這裡的勢指的就是某一特徵的程度,比如在編輯“劉海”這一特徵時,隱向量沿著場線,向劉海變長最快的方向移動(如上圖(b)中黑色路徑(2))。

Semantic Field具有兩個特性

1) 對同一個人來說,不斷改變某一個屬性,需要的“最佳前進方向”是不斷變化的。2)在編輯同一個屬性時,對於不同人,對應的“最佳前進方向”也是不同的。我們用一個神經網路來模擬 Semantic Field,用如上圖(a)所示的方法訓練 Semantic Field。更多實現細節請參考論文和程式碼。

如下表,實驗結果表明,相對於用“走直線”假設的baselines,我們的方法可以在人臉編輯的過程中更好的保留這個人的身份特徵,並且在編輯某一個語義特徵時減少對其他無關語義特徵的改變。

看看圖,對比也很明顯呀:

ICCV2021 | Talk-to-Edit 透過對話實現高細粒度人臉編輯

(2)Language Encoder

和 Talk Module

為了給使用者提供更便捷直觀的互動方式,我們使用對話的方式讓使用者實現編輯。Talk-to-Edit用一個基於LSTM的Language Encoder來理解使用者的編輯要求,並將編碼後的編輯要求傳遞給SemanticField從而指導編輯。Talk模組可以在每輪編輯後向使用者確認細粒度的編輯程度,比如向用戶確認現在的笑容是否剛好合適,是否需要再多一檔。Talk 模組也可以為使用者提供其他編輯建議,比如系統發現使用者從未嘗試過編輯眼鏡這個特徵,於是詢問使用者是否想試一試給照片加個眼鏡。

3

CelebA-Dialog

資料集

基於CelebA [8]資料集,我們為研究社群提供了CelebA-Dialog資料集:

(1)我們提供了每張圖片的高細粒度特徵標註。

如上圖所示,根據笑容的燦爛程度,“笑容”這個語義特徵被分為6檔。CelebA-Dialog精確地標註了每張圖片中的“笑”屬於6個等級中的哪一個。

(2)我們提供豐富的的自然語言描述,

包括每張圖片各個語義特徵的高細粒度自然語言說明 (imagecaptions),以及一句圖片編輯的使用者要求(user request)。

CelebA-Dialog可以為多種任務提供監督,例如高細粒度人臉特徵識別,基於自然語言的人臉生成和編輯等。

在Talk-to-Edit這個工作中,我們利用CelebA-Dialog的高細粒度特徵標註訓練了一個高細粒度到人臉特徵預測器,從而為Semantic Field的訓練提供高細粒度的監督。

4

總結

(1)   本工作提出了一個基於對話的,高細粒度的人臉編輯系統:

Talk-to-Edit

(2)   我們提出了

“Semantic Field”

,即在GAN隱空間中學習一個語義場,透過在隱空間中沿著場線“行走”,從而實現連續且細粒的人臉特徵編輯。

(3)   我們為研究社群貢獻了一個大規模的資料集

CelebA-Dialog

。我們相信它可以很好地幫助到未來高細粒度人臉編輯的任務以及自然語言驅動的視覺任務。

再來看看Talk

-to-Edit

的更多優秀表現吧

ICCV2021 | Talk-to-Edit 透過對話實現高細粒度人臉編輯

ICCV2021 | Talk-to-Edit 透過對話實現高細粒度人臉編輯

ICCV2021 | Talk-to-Edit 透過對話實現高細粒度人臉編輯

References

[1] Tero Karras, Samuli Laine, and Timo Aila。 Astyle-based generator architecture for generative adversarial networks。 InCVPR, pages 4401–4410, 2019。 1, 2

[2] Tero Karras, Samuli Laine, Miika Aittala, JanneHellsten, Jaakko Lehtinen, and Timo Aila。 Analyzing and improving the imagequality of stylegan。 In CVPR, pages 8110–8119, 2020。 1, 2

[3] Yujun Shen, Ceyuan Yang, Xiaoou Tang, and BoleiZhou。 Interfacegan: Interpreting the disentangled face representation learnedby gans。 IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020。2, 4, 6

[4] Yujun Shen, Jinjin Gu, Xiaoou Tang, and BoleiZhou。 Interpreting the latent space of gans for semantic face editing。 In CVPR,pages 9243–9252, 2020。 2, 4, 15

[5] Yujun Shen and Bolei Zhou。 Closed-formfactorization of latent semantics in gans。 arXiv preprint arXiv:2007。06600,2020。 2

[6] Erik Ha rko nen, Aaron Hertzmann,Jaakko Lehtinen, and Sylvain Paris。 Ganspace: Discovering interpretable ganctrols。 arXiv preprint arXiv:2004。02546, 2020。 2

[7] Andrey Voynov and Artem Babenko。 Unsuperviseddiscovery of interpretable directions in the gan latent space。 In ICML, pages9786–9796。 PMLR, 2020。 2

[8] Ziwei Liu, Ping Luo, Xiaogang Wang, and XiaoouTang。 Deep learning face attributes in the wild。 In ICCV, pages 3730–3738,2015。 3, 6, 14, 15, 16

ICCV2021 | Talk-to-Edit 透過對話實現高細粒度人臉編輯

由於微信公眾號試行亂序推送,您可能不再能準時收到AI科技評論的推送。為了第一時間收到AI科技評論的報道, 請將“AI科技評論”設為星標賬號,以及常點文末右下角的“在看”。