DeepFaceDrawing: 使用草圖生成人臉影像

deephub發表於2022-02-07

在本文中,介紹了使用人臉設計或草圖來製作人臉照片的想法。該技術的應用包括角色設計、教育培訓、面部變形和嫌疑人畫像等。

有興趣的可以先看看視訊介紹:

要解決的問題

這篇文章的想法是設計一個應用程式來使用該面部草圖來繪製一張真實的面部影像,該應用程式在警察、電影拍攝和麵部彩繪中具有各種應用。這個想法的主要標準之一是它簡單明瞭,非常易於使用,即使你不是一個好的畫家,你也可以使用這個應用程式建立真實的面孔。

過去有解決這個問題的方法,在某些情況下使用了深度學習,但大多數時候他們以固定的繪圖作為輸入,並試圖通過新增細節使其更完整,並生成真實的面孔。

從左至右:真實影像——HED——APDrawingGAN

從左至右:Canny Edges — Photoshop 中的影印濾鏡 — PS 中影印濾鏡的簡化

問題是如何解決的?(架構和思想)

資料集

使用 CelebAMask-HQ 資料集的人臉影像建立了一個新的資料集,並用於訓練(Train)和測試模型。

在這個資料庫中只收集了面對面的影像,沒有任何其他新增,例如眼鏡、口罩等。

邊緣檢測過程採用了整體巢狀的邊緣檢測方法,下一步使用Photoshop中的Photocopy Filter來提高設計的質量,消除影像噪聲。該資料庫包括 17,000 對真實影像及其設計,其中男性影像 6,247 對,女性影像 11,456 對。但是,這個資料集不是很大,需要新的資料來改進演算法。在這個想法中,訓練集與測試集的比例是 1 比 20。

架構

該系統的網路結構包括三個主要模組:元件嵌入(CE)、特徵對映(FM)和影像合成(IS)。

  1. CE(元件嵌入)模組是一個自動編碼器,它具有定義面部的5個特徵或主要元件,即左眼、右眼、鼻子和嘴。(嘴)通過其他元件進行學習。
  2. FM (Feature Mapping)和IS (Image Synthesis)模組一起形成了一個深度學習子網,用來放置和組合面部元件,以建立一個真實的臉。其中FM是CE模組中編碼的特徵解碼器,它將特徵向量轉換為32通道的特徵圖,而不是1通道的原型,這樣提高了模型的效能。

這個模型使用了shadow-guided的思想,這是用來幫助那些不太精通繪畫和繪畫的人。在背景中就會有一個臉部設計的模糊影像,使用者可以使用它來使設計更加完整,畫出一個細節更多的更好的設計。

該網路的輸入為512 × 512。在第一階段,這些影像進入第一個子網或CE,分別學習與每個人臉分量相關的每個編碼器,在第二階段,每個人臉分量根據相似度在其特定的類中使用K近鄰演算法,並被放置到圖中。在FM的下一步中,每個元件被插入到它的解碼器和真實的元件中進行製作。然後將新元件組合在一起以建立一個真正的新面孔。這一步在SI中使用條件GAN體系結構技術執行,這樣可以保證所有的面元件都在它們的原始位置。

樣例如下:

其他特徵

在該模型中,可以改變對人臉每個特徵的注意量和準確性,可以調整每個特徵的擬真程度,例如鼻子比較像而嘴不太像。還有一種功能就是可以單獨設計每隻眼睛,保證眼睛可能不一定是相同的。

對比

總結

在這個想法中,我們嘗試繪製一張臉,並將其主要成分(例如左右眼睛、鼻子、嘴巴)和其餘成分分開,並教一個深度學習網路在真實影像中找到它們的等價物,並將它們轉化為真實的樣子。 這個方向有很多挑戰,DeepFaceDrawing試圖用新的想法和以前的知識來解決,但是這個想法仍然存在問題,我們希望在下一個版本中得到解決,這個應用程式的質量和準確性會提高。

官網,論文和DEMO程式碼都在這裡:

https://www.overfit.cn/post/cf48c77252ad43928cea5c581b90a88e

作者:Ehsan Mrh

相關文章