基於人臉關鍵點修復人臉,騰訊等提出優於SO他的LaFIn生成網路
作者 | Yang Yang、Xiaojie Guo、Jiayi Ma、Lin Ma、Haibin Ling
譯者 | 劉暢
編輯 | Jane
出品 | AI科技大本營( ID:rgznai100)
【導語】現實場景中,人臉的變化是很大的,例如不同的姿勢、表情和遮擋等,因此在現實場景中修復人臉影像是一件非常具有挑戰性的任務。一種好的修復演算法應該保證輸出沒有違和感,包括眼睛,鼻子和嘴巴之間的拓撲結構,以及姿勢,性別,種族,表情等屬性是一致的。
在今天的這篇論文中,騰訊聯合天津大學、武漢大學等高校研究了一種有效的基於深度學習的方法來解決這些問題。該方法涉及人臉關鍵點預測子網和影像修復子網。具體而言,關鍵點預測器可以提供不完整面孔的結構資訊(例如,拓撲關係和表情),而影像修復器則根據預測的關鍵點生成合理的外觀(例如,性別和種族)。
在 CelebA-HQ 和 CelebA 兩個資料集上的實驗結果現實了本文方法的有效性,並定性定量的證明了其優於 SOTA 的方法。此外,本文假設高質量的完整面孔及其關鍵點可以用作增強資料,以進一步提高(任何)關鍵點檢查的效能,在 300W 和 WFLW 兩個資料集上的實驗結果證實了這一想法。
論文與程式碼地址
.com/YaN9-Y/lafin
引言
影像修補(Image Inpainting)指的是重建影像丟失或損壞的過程,該過程可以作為各種其他任務的預處理,如影像恢復或影像編輯。毫無疑問,研究者們期望完成的結果是無違和感的。相較於海洋、草坪等自然場景,人臉會更有挑戰性。因為人臉會有更強的拓撲結構,而且需要保留一致性的人臉屬性。
如圖1 所示。,根據觀察,研究者們會很容易的感知到重構的人臉中存在的明顯缺陷。下面給出這個問題的定義:
定義:人臉修補。給定一個帶有損壞區域M的人臉影像I。然後指定M’ 為M的補碼。o為哈達瑪積。目標是對遮擋區域填充語義上的連續且有意義的資訊,換句話說,最終的結果I’ = MoI' + M'oI應當保持眼睛、鼻子、嘴巴間的拓撲結果,以及姿態、性別、種族和表情等屬性的一致性。
在現實場景中完成人臉修補是一項非常具有挑戰性的任務。 一個合格的人臉修補演算法應當仔細考慮下面兩個方面,以確保輸出的真實感:
(1)人臉的結構非常穩固。眉毛、眼睛、鼻子和嘴巴等面部特徵之間的拓撲關係始終有條有序。最終生成的臉必須首先滿足此拓撲結構。
(2)人臉的屬性,如姿態、性別、種族和表情在整個修補區域和可見區域應該保持一致。
有稍微不滿足上述的兩個條件,則會存在重大的感知缺陷。
為什麼要採用人臉關鍵點?這項工作採用人臉關鍵點作為結構監督資訊,是由於其緊湊性、充分性和魯棒性。有人可能會問,邊緣資訊或解析資訊是否比關鍵點指導性更強?如果得到的資訊是非常準確的,那當然。但是在非常具有挑戰性的環境下(如大面積損壞的大姿態人臉),要生成合理的邊緣並不容易。在這種情況下,冗餘和不準確的資訊會損害效能。關鍵點相較於這些資訊,更整潔健壯。從編輯操作角度看,關鍵點更易於控制。這些特點對於人臉修補來說,使用關鍵點是更好的選擇。
如何保持屬性的一致性?除了由關鍵點確定的人臉姿態和表情屬性外,還需要考慮其他幾個屬性,例如性別、種族和容貌風格。一致性最重要一點是連線可見區域和修補區域,對於這些更細粒度的屬性,修補演算法應將可見資訊作為影像重構的參考。
本文貢獻。本文提出了一個深度網路,即“關鍵點指導的生產性影像修補器”(Generative Landmark Guided Face Inpaintor,簡稱LaFIn),它由人臉關鍵點預測子網和影像修補子網組成,用於解決人臉修復問題。 主要貢獻可以歸納為以下幾個方面:
1、正如分析那樣,人臉關鍵點整潔,充足且魯棒,可以用作人臉修復的監督。本文構建了一個用於預測不完整面孔上的關鍵點模組,該模組可以對映目標面孔的拓撲結構,姿勢和表情。
2、為了修復人臉,本文設計了一個以人臉關鍵點資訊為指導的修復子網。為了實現屬性一致性,子網利用了上下文資訊並連線了相關聯的特徵圖。
3、本文進行了大量的實驗以驗證演算法的有效性,並定性定量的證明其優於目前SO他的方法。
此外,我們可以進一步使用完成結果來提高關鍵點檢測器的效能。由於在實際情況中,訓練資料通常不足,並且手動標註關鍵點十分耗時,因此需要 一種簡單而又可靠的資料擴充方式。這是本文的另一項貢獻。
4、修復後的圖可能生成基於關鍵點的各種新面孔。因此,可以將生成的面部和相應的(GroundTruth)關鍵點用作增強資料。在 WFLW和 300W兩個資料集上的實驗結果證實了這種方式的有效性。
方法
整個模型由兩個子網路構成,一個是預測關鍵點的網路,一個是基於關鍵點生成新畫素的影像修補網路。論文中的關鍵點預測子網路可以使用任意已有的關鍵點檢測演算法,但是作者的 關注點有所不同,他們更希望得到一些基礎拓撲結構和某些屬性,而不是每個關鍵點的精確位置。因此作者連線融合了不同階段的特徵圖來實現最終的關鍵點預測。
影像修補模型的輸入是損壞影像和關鍵點(預測的結果或Ground Truth)。模型包含了生成器和判別器。其中生成器是基於U-net網路結構,但略有不同,具體的網路結構引數作者在論文附錄使用表格非常詳細的給出了。判別器是基於70*70的Patch-GAN網路結構。引入了SN等一些常見的穩定模型訓練的結構。同樣在附錄裡面有非常詳細的結構引數。關於Loss函式,作者使用了多種Loss的 結合,包括per-pixel損失、感知損失、風格損失、TV損失和對抗損失。
實驗
首先實驗的資料集是CelebA-HQ,其中的損壞和遮擋等是隨機生成和新增。對比的方法包括CE、GFC、CA、GAFC、PIC、EC。客觀評價指標使用的是PSNR、SSIM和FID。
作者還實驗了使用LaFIn方法來增加關鍵點檢測的訓練資料。並在WFLW和 300W兩個資料集上實驗了效果。如下所示。
總結
在這些研究中,本文開發了一個生成網路,稱為LaFIn,用於人臉修復。提出的LaFIn演算法首先預測關鍵點,然後根據關鍵點進行影像修復。本文依據的原則是,要有足夠且魯棒的關鍵點,才能為人臉修補器提供結構資訊指導。為了確保屬性的一致性,本文利用了上下文資訊。透過大量的實驗,驗證了本文方法的有效性,並定性定量的證明其優於SO他的方法。此外,還可以使用LaFIn演算法來增加人臉關鍵點資料,實驗證明了這種方法的有效性。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946223/viewspace-2667439/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- iOS 人臉關鍵點檢測iOS
- 基於Keras的三維人臉重建Keras
- 基於開源模型搭建實時人臉識別系統(三):人臉關鍵點、對齊模型概覽與模型選型模型
- 人臉識別之Python DLib庫進行人臉關鍵點識別Python
- 基於開源模型搭建實時人臉識別系統(五):人臉跟蹤模型
- 基於開源模型搭建實時人臉識別系統(四):人臉質量模型
- 基於opencv實現簡單人臉檢測OpenCV
- 基於Android平臺實現人臉識別Android
- 工信部:支援構建基於指紋識別、人臉識別等技術的網路身份認證
- 北京網際網路法院掛牌成立,人臉識別一鍵生成起訴狀
- 【專案】Python人臉識別(GUI介面)—— 基於pyopencvPythonGUIOpenCV
- 如何在五分鐘內搭建人臉檢測/關鍵點識別等服務?
- 基於深度神經網路的人臉識別相關問題神經網路
- faced:基於深度學習的CPU實時人臉檢測深度學習
- Java 基於ArcFace人臉識別2.0 服務端DemoJava服務端
- AI+慈善 ▏人臉識別+人臉模擬助力失散親人找到回家的路AI
- 超模臉、網紅臉、萌娃臉...換頭像不重樣?我開源了5款人臉生成器
- 關於人臉識別濫用的十個可能的應對方案
- 基於虹軟人臉識別,實現RTMP直播推流追蹤視訊中所有人臉資訊(C#)C#
- 揭祕美圖影像實驗室MTlab的10000點人臉關鍵點技術
- 刪除十億人臉資料,Facebook關閉人臉識別系統
- 關於舉辦“人臉識別和深度偽造”沙龍的通知
- 美圖影像實驗室10000 點人臉關鍵點技術全解讀
- opencv視訊人臉檢測OpenCV
- 基於OpenCV+dlib開發一個人臉識別應用OpenCV
- 基於mtcnn/facenet/tensorflow實現人臉識別登入系統CNN
- 宅男福音DeepFake進階版!基於位置對映圖網路進行3D人臉重建3D
- 基於卷積神經網路的人臉表情識別應用--AR川劇變臉(一)卷積神經網路
- 人臉關鍵點是越多越好麼?1000點和106點有什麼區別?
- 人臉活體檢測人臉識別:眨眼+張口
- python ubuntu dlib人臉識別3-人臉對齊PythonUbuntu
- 人臉檢測識別,人臉檢測,人臉識別,離線檢測,C#原始碼C#原始碼
- 人臉識別之特徵臉方法(Eigenface)特徵
- 又一非法採集人臉資訊企業被查處!人臉資訊保護刻不容緩
- 刷臉支付人臉識別特徵點越多是別越精確特徵
- TF專案實戰(基於SSD目標檢測)——人臉檢測1
- 視訊人臉檢測——Dlib版(六)
- 視訊人臉檢測——OpenCV版(三)OpenCV