南洋理工大學、港中大Talk-to-Edit,對話實現高細粒度人臉編輯
來自南洋理工大學、香港中文大學的研究者提出了一個交互式人臉編輯框架 Talk-to-Edit,可以通過用戶和系統之間的對話進行細粒度的屬性操作。此外,該研究還創建了一個視覺語言人臉編輯數據集 CelebA-Dialog,用來促進大規模研究。
想換個發型?想知道自己 20 年后的樣子?還在為 P 圖卻 P 不出想要的效果而發愁嗎?來試試這個「Talk-to-Edit」吧,告訴它你想怎么編輯,分分鐘幫你搞定。
話不多說,先看圖:
用戶通過和系統的對話完成人臉編輯:

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

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


這項研究來自南洋理工大學、香港中文大學提出的一個交互式人臉編輯框架 Talk-to-Edit,可以通過用戶和系統之間的對話進行細粒度的屬性操作。此外,該研究還創建了一個視覺語言人臉編輯數據集 CelebA-Dialog,用來促進大規模研究。

- 論文地址: 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
方法及結果
該研究提出的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。該研究的編輯方式等價于沿著向量場的場線 (field line),向勢(potential) 增加得最快的方向移動。這里的勢指的就是某一特征的程度,比如在編輯「劉海」這一特征時,隱向量沿著場線,向劉海變長最快的方向移動 (如上圖(b) 中黑色路徑(2))。
Semantic Field 具有兩個特性:1) 對同一個人來說,不斷改變某一個屬性,需要的 “最佳前進方向” 是不斷變化的。2)在編輯同一個屬性時,對于不同人,對應的 「最佳前進方向」 也是不同的。該研究用一個神經網絡來模擬 Semantic Field,用如上圖 (a) 所示的方法訓練 Semantic Field。更多實現細節請參考論文和代碼。
如下表,實驗結果表明,相對于用 「走直線」 假設的 baselines,該研究方法可以在人臉編輯的過程中更好的保留這個人的身份特征,并且在編輯某一個語義特征時減少對其他無關語義特征的改變。

如下圖所示,對比很明顯:

(2) Language Encoder 和 Talk Module
為了給用戶提供更便捷直觀的交互方式,該研究使用對話的方式讓用戶實現編輯。Talk-to-Edit 用一個基于 LSTM 的 Language Encoder 來理解用戶的編輯要求,并將編碼后的編輯要求傳遞給 Semantic Field 從而指導編輯。Talk 模塊可以在每輪編輯后向用戶確認細粒度的編輯程度,比如向用戶確認現在的笑容是否剛好合適,是否需要再多一檔。Talk 模塊也可以為用戶提供其他編輯建議,比如系統發現用戶從未嘗試過編輯眼鏡這個特征,于是詢問用戶是否想試一試給照片加個眼鏡。
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 的訓練提供高細粒度的監督。
總結
(1)該研究提出了一個基于對話的、高細粒度的人臉編輯系統: Talk-to-Edit。
(2)該研究提出了 Semantic Field,即在 GAN 隱空間中學習一個語義場,通過在隱空間中沿著場線「行走」,從而實現連續且細粒的人臉特征編輯。
(3)該研究為研究社區貢獻了一個大規模的數據集 CelebA-Dialog。并相信它可以很好地幫助到未來高細粒度人臉編輯的任務以及自然語言驅動的視覺任務。
Talk-to-Edit 更多優秀表現:


