ICCV 2021 _ Talk-to-Edit:通過對話實現高細粒度人臉編輯
Talk-to-Edit: Fine-Grained Facial Editing via Dialog
Yuming Jiang1 Ziqi Huang1 Xingang pan2 Chen Change Loy1 Ziwei Liu1 1S-Lab Nanyang Technological University 2The Chinese University of Hong Kong
{yuming002, hu0007qi, ccloy, ziwei.liu}@ntu.edu.sg px117@ie.cuhk.edu.hk
Part 1 話不多說,先看圖
用戶通過和系統的對話完成人臉編輯:
對人臉的各個特征進行編輯:
編輯各位帥哥美女(用到了GAN inversion):
Part 2: 方法及結果
以上是如何實現的呢?Talk-to-Edit的pipeline如下圖所示:
我們用 Semantic Field 來實現對人臉特征連續且高細粒度可控的編輯。對話功能則由 Language Encoder和Talk模塊來實現。接下來我們解釋各個模塊的工作原理和效果。
2.1 Semantic Field
背景:GAN[1, 2]可以基于隱空間中不同的隱向量生成不同的圖片。基于隱空間的圖片編輯方法[3, 4, 5, 6, 7]利用預訓練的GAN及其隱空間,有控制地改變一張圖片對應的隱向量,從而間接實現對圖片的編輯。然而這些方法假設在隱空間中沿著某個方向“走直線”就可以實現對一張人臉的某一特征的編輯 (如下圖(b)中棕色路徑(1))。
我們的方法拋開了“走直線”這一假設,在“走動”過程中不斷根據此刻的隱向量尋找當前最優的前進方向 (如上圖(b)中黑色路徑(2))。于是,我們在隱空間中構建一個向量場來表示每個隱向量的最佳“前進方向”,沿著當前隱向量的最佳“前進方向”移動隱向量,從而改變圖片的某一個語義特征。我們稱這個向量場為語義場,即Semantic Field。我們的編輯方式等價于沿著向量場的場線(field line),向勢(potential)增加得最快的方向移動。這里的勢指的就是某一特征的程度,比如在編輯“劉海”這一特征時,隱向量沿著場線,向劉海變長最快的方向移動(如上圖(b)中黑色路徑(2))。
Semantic Field具有兩個特性:1) 對同一個人來說,不斷改變某一個屬性,需要的“最佳前進方向”是不斷變化的。2)在編輯同一個屬性時,對于不同人,對應的“最佳前進方向”也是不同的。我們用一個神經網絡來模擬 Semantic Field,用如上圖(a)所示的方法訓練 Semantic Field。更多實現細節請參考論文和代碼。
如下表,實驗結果表明,相對于用“走直線”假設的baselines,我們的方法可以在人臉編輯的過程中更好的保留這個人的身份特征,并且在編輯某一個語義特征時減少對其他無關語義特征的改變。
看看圖,對比也很明顯:
2.2 Language Encoder 和 Talk Module
為了給用戶提供更便捷直觀的交互方式,我們使用對話的方式讓用戶實現編輯。Talk-to-Edit用一個基于LSTM的Language Encoder來理解用戶的編輯要求,并將編碼后的編輯要求傳遞給Semantic Field從而指導編輯。Talk模塊可以在每輪編輯后向用戶確認細粒度的編輯程度,比如向用戶確認現在的笑容是否剛好合適,是否需要再多一檔。Talk 模塊也可以為用戶提供其他編輯建議,比如系統發現用戶從未嘗試過編輯眼鏡這個特征,于是詢問用戶是否想試一試給照片加個眼鏡。
Part 3: CelebA-Dialog數據集
基于CelebA [8] 數據集,我們為研究社區提供了CelebA-Dialog數據集:
(1)我們提供了每張圖片的高細粒度特征標注。如上圖所示,根據笑容的燦爛程度,“笑容”這個語義特征被分為6檔。CelebA-Dialog精確地標注了每張圖片中的“笑”屬于6個等級中的哪一個。
(2)我們提供豐富的的自然語言描述,包括每張圖片各個語義特征的高細粒度自然語言說明 (image captions),以及一句圖片編輯的用戶要求(user request)。
CelebA-Dialog可以為多種任務提供監督,例如高細粒度人臉特征識別,基于自然語言的人臉生成和編輯等。
在Talk-to-Edit這個工作中,我們利用CelebA-Dialog的高細粒度特征標注訓練了一個高細粒度到人臉特征預測器,從而為Semantic Field的訓練提供高細粒度的監督。
Part 4: 總結
(1) 本工作提出了一個基于對話的,高細粒度的人臉編輯系統: Talk-to-Edit。
(2) 我們提出了 “Semantic Field”,即在GAN隱空間中學習一個語義場,通過在隱空間中沿著場線“行走”,從而實現連續且細粒的人臉特征編輯。
(3) 我們為研究社區貢獻了一個大規模的數據集 CelebA-Dialog。我們相信它可以很好地幫助到未來高細粒度人臉編輯的任務以及自然語言驅動的視覺任務。
再來看看Talk-to-Edit的更多優秀表現吧:
Reference:
[1] Tero Karras, Samuli Laine, and Timo Aila. A style-based generator architecture for generative adversarial networks. In CVPR, pages 4401–4410, 2019. 1, 2
[2] Tero Karras, Samuli Laine, Miika Aittala, Janne Hellsten, Jaakko Lehtinen, and Timo Aila. Analyzing and improving the image quality of stylegan. In CVPR, pages 8110–8119, 2020. 1, 2
[3] Yujun Shen, Ceyuan Yang, Xiaoou Tang, and Bolei Zhou. Interfacegan: Interpreting the disentangled face representation learned by gans. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2020. 2, 4, 6
[4] Yujun Shen, Jinjin Gu, Xiaoou Tang, and Bolei Zhou. 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-form factorization 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 gan ctrols. arXiv preprint arXiv:2004.02546, 2020. 2
[7] Andrey Voynov and Artem Babenko. Unsupervised discovery of interpretable directions in the gan latent space. In ICML, pages 9786–9796. PMLR, 2020. 2
[8] Ziwei Liu, Ping Luo, Xiaogang Wang, and Xiaoou Tang. Deep learning face attributes in the wild. In ICCV, pages 3730–3738, 2015. 3, 6, 14, 15, 16