機器之心報道

機器之心編輯部

近日,美圖推出了全新的人工智能修圖解決方案——美圖雲修,本文將從技術角度深入解讀該方案,目前用戶也可通過美圖 AI 開放平臺進行體驗。

商業攝影的工作流程中非常重要的一項是「後期修圖」,它工作量大、週期長,同時,培養一名「下筆如有神」的修圖師往往需要付出高昂的人力和物力成本,即便是熟練的修圖師也需要 1-3 個月的時間熟悉和適應不同影樓的修圖風格和手法。除此之外,修圖師的專業水平不同,審美差異、工作狀態好壞等因素都會造成修圖質量波動。

針對以上痛點,基於美圖成立 12 年來在人物影像領域積累的技術優勢,美圖技術中樞——美圖影像實驗室(MTlab)推出美圖雲修人工智能修圖解決方案。修圖過程中,AI 技術在實現多場景的自適應識別調參,呈現完美光影效果的同時,還能夠快速定位人像,修復人像瑕疵,實現人像的個性化修圖。

圖 1. 美圖雲修人像精修對比

接下來,本文將重點分析美圖雲修人工智能修圖解決方案的技術細節。

智能中性灰技術

在修圖中經常提到中性灰修圖,也稱 “加深減淡” 操作,通過畫筆來改變局部的深淺,在 PS 中需要手動建立一個觀察圖層,用以凸顯臉部瑕疵,如斑點、毛孔、痘印等,然後在觀察圖層中逐一選取瑕疵區域對原人臉對應瑕疵區域進行祛除,在此之後對膚色不均勻的地方抹勻,最大限度地保留皮膚質感,但不少情況下仍需藉助磨皮方法讓膚色均勻,但磨皮會丟失皮膚質感。對每張人像圖的皮膚區域重複該過程,可謂耗時耗力。傳統 PS 中性灰的修圖過程如圖 2 所示。

圖 2. PS 中性灰修圖圖層(左:原圖,中:觀察組,右:圖層)

美圖雲修的智能中性灰人像精修功能結合了自注意力模塊和多尺度特徵聚合訓練神經網絡,進行極致特徵細節提取,智能中性灰精修方案使沒有專業修圖技術的人也可以對人像進行快速精修,在速度方面遠超人工修圖方式,並且保持了資深人工修圖在效果上自然、精細的優點,在各種複雜場景都有較強的魯棒性,極大地提升了人像後期處理的工作效率。如圖 3 所示,爲智能中性灰修圖效果,無需手動操作,相比於目前各個 app 上的修圖效果,如圖 4 所示,有着更好的祛除瑕疵效果,並保留皮膚質感,不會有假面磨皮感。

圖 3. 美圖雲修 AI 中性灰精修效果對比

圖 4. 友商祛斑祛痘及磨皮效果(左:祛斑祛痘,右:磨皮)

AI 中性灰精修功能採用創新的深度學習結構,如圖 5 所示,在網絡編碼器到解碼器的連接部分加入雙重自注意力特徵篩選模塊和多尺度特徵聚合模塊,讓網絡可以學習豐富的多尺度上下文特徵信息,並對重要信息附加權重,讓圖像在高分辨率的細節得以保留,同時更好地修復問題膚質。

圖 5. 智能中性灰精修網絡結構

雙重自注意力特徵篩選模塊

雙重自注意力特徵篩選模塊 [1] 是對特徵圖的空間映射和通道映射進行學習,分爲基於位置的自注意力模塊和基於通道的自注意力模塊,最後通過整合兩個模塊的輸出來得到更好的特徵表達,如圖 6 所示。

圖 6. 雙重自注意力模塊結構

基於位置的自注意力模塊用於獲悉特徵圖中的任意兩個像素的空間依賴,對於某個特殊的膚質特徵,會被所有位置上的特徵加權,並隨着網絡訓練而更新權重。任意兩個具有相似膚質特徵的位置可以相互貢獻權重,由此模塊通過學習能夠篩選出膚質細節變化的位置特徵。如圖 6 左邊藍色區域所示,輸入一個特徵圖 F∈ R^(H×W×C),首先對該特徵圖分別沿通道維度進行全局平均池化和全局最大池化,得到兩個基於通道的描述併合並得到特徵圖 F_Channel ∈ R^(H×W×2)。再經過一個 7x7 的卷積層和 Sigmoid 激活函數,得到空間權重係數 M_S ∈ R^(H×W),可以由以下公式表示:

其中 σ 表示 Sigmoid 激活函數, Conv_7x7 表示 7x7 卷積, Cat[]表示通道合併。

最後,將空間權重係數 M_S 對特徵圖 F 進行重新校準,即兩者相乘,就可以得到空間加權後的新膚質特徵圖。

基於通道的自注意力模塊主要關注什麼樣的通道特徵是有意義的,並把那些比較有意義的特徵圖通道通過加權進行突出體現。高層特徵的通道都可以看作是特定於膚質細節信息的響應,通過學習通道之間的相互依賴關係,可以強調相互依賴的特徵映射,從而豐富特定語義的特徵表示。如圖 6 右邊紅色區域所示,輸入與基於位置的膚質細節篩選模塊相同的特徵圖 F∈ R^(H×W×C),對該特徵圖沿空間維度進行全局平均池化,得到給予空間的描述特徵圖 F_Spatial ∈ R^(1×1×C),再把 F_Spatial 輸入由兩個 1x1 卷積層組成表示的多層感知機。爲了減少參數開銷,感知機隱層激活的尺寸設置爲 R^(C/r×1×1),其中 r 是通道降比。這樣第一層卷積層輸出通道爲 C/r,激活函數爲 PReLU,第二層卷積層輸出通道恢復爲 C。

再經過 Sigmoid 激活函數,得到通道權重係數 M_C ∈ R^(C×1×1),由以下公式表示:

其中 σ 表示 Sigmoid 激活函數, Conv_C ∈ R^(C×C/r) 和 Conv_(C/r) ∈ R^(C/r×C) 表示感知機對應的兩層, PReLU 表示感知機中間的線性修正單元激活函數。

相同地,將通道權重係數 M_S 和特徵圖 F 相乘,就可以得到通道加權後的新特徵圖。將空間加權特徵圖和通道加權特徵圖進行通道合併,經過一個 1x1 卷積後與輸入自注意力模塊前的特徵圖相加,就可以得到矯正後的最終特徵圖。

多尺度特徵聚合模塊

多尺度特徵聚合模塊 [2] 的作用是對特徵感受野進行動態修正,不同尺度的前後層特徵圖輸入模塊,通過整合並賦予各自的權重,最終將這些特徵進行聚合,輸出更爲豐富的全局特徵,這些特徵帶有來自多個尺度的上下文信息。

如圖 7 所示,以三個不同尺度輸入模塊爲例,模塊先使用 1x1 卷積和 PReLU 將上層 L_1 和下層 L_3 的特徵通道變換爲和當前層 L_2 ∈ R^(H×W×C) 一致,再通過元素和的方式將特徵聚合成 L_C=L_1+ L_2+ L_3,然後經過一個空間維度的全局平均池化得到基於通道的統計 S ∈ R^(1×1×C),之後爲了降低計算量經過一個 C/r 的 1x1 卷積和 PReLU 激活函數,生成一個壓縮的特徵表示 Z∈ R^(1×1×r),r 與自注意力特徵篩選模塊一致。這裏讓 Z 經過與尺度數量相同的平行卷積層,得到對應的特徵描述向量 v_1、v_2 和 v_3, v_i ∈ R^(1×1×C)。將這些特徵描述向量合併,再經過 Softmax 激活函數,得到各個尺度特徵通道的校正係數 s_1、s_2 和 s_3, s_i ∈ R^(1×1×C)。將特徵通道係數與對應尺度的特徵圖相乘後再進行聚合相加,得到最終的聚合特徵 F_aggregation,表示爲:

圖 7. 多尺度特徵聚合模塊結構

MTlab 所提出的 AI 中性灰精修方案通過設計有效的網絡結構以及流程,結合特殊的訓練方法,能夠便捷、精確地進行智能中性灰人像修圖。首先,相較於磨皮等傳統圖像處理方法,本方案輸出的智能修圖結果精細、自然,能夠最大程度地保留人像膚質細節,對於各類複雜場景都具有更好的魯棒性;其次,相較於人工中性灰修圖,本方法能夠保證穩定的修圖效果,同時極大縮短處理時間,從而提升影樓圖像後期處理的效率。

智能調色技術

常見修圖所涉及的調色技術主要包括去霧,光照調整和背景增強等,其中光照調整涉及過曝修復和欠曝增強。其中,去霧主要用於保持圖像的清晰度和對比度,使圖像從視覺感觀上不會存在明顯霧感;曝光主要用於改善圖像的光影效果,保證成像光影質量,使得相片能夠呈現完美光影效果;而智能白平衡則是能夠還原圖像的真實色彩,保證圖像最終成像不受複雜光源影響。調色涉及的技術較多,此處以白平衡智能調整技術爲例,詳細介紹 AI 技術調色流程。

目前常用白平衡算法進行色偏校正,存在以下難點:

傳統白平衡算法雖然能夠校正色偏,但是魯棒性不足,無法應對實際需求中的複雜場景,往往需要設置不同的參數進行調整,操作繁瑣。

目前主流的色偏校正方案大多數是基於卷積神經網絡,而常規的卷積神經網絡結構並不能徹底校正色偏,這些方案對於與低色溫光源相近的顏色,比如木頭的顏色,會存在將其誤判爲低色溫光源的現象。

大多數數碼相機提供了在圖像菜雞過程中調整白平衡設置的選項。但是,一旦選擇了白平衡設置並且 ISP 將圖像完全處理爲最終的 sRGB 編碼,就很難在不訪問 RAW 圖像的情況下執行 WB 編輯,如果白平衡設置錯誤,此問題將變得更加困難,從而導致最終 sRGB 圖像中出現強烈的偏色。

美圖影像實驗室 MTlab 自主研發了一套專門能夠適應多場景複雜光源下的智能調色技術。傳統白平衡算法的核心是通過實時統計信息,比照傳感器的先驗信息,計算出當前場景的光源,通過傳感器先驗信息做白平衡,這種方法仍然有很多侷限。MTlab 提出的智能白平衡方案(AWBGAN),依靠海量場景的無色偏真實數據,能夠實現自適應的光源估計,完成端到端的一站式調色服務。AWBGAN 滿足以下 2 個特點:

全面性:多場景多光源,涵蓋常見場景進行多樣化處理

魯棒性:不會存在場景以及光源誤判問題,色偏校正後不會造成二次色偏

當前的主流算法主要是集中在 sRGB 顏色域上進行色偏校正,但是這樣處理並不合理。因爲相機傳感器在獲取原始的 RAW 圖像再到最終輸出 sRGB 圖像,中間經過一系列的線性以及非線性映射處理,例如曝光校正,白平衡以及去噪等處理流程。ISP 渲染從白平衡過程開始,該過程用於消除場景照明的偏色。然後,ISP 進行了一系列的非線性顏色處理,以增強最終 sRGB 圖像的視覺質量。由於 ISP 的非線性渲染,使用不正確的白平衡渲染的 sRGB 圖像無法輕鬆校正。爲此 MTlab 設計了 AWBGAN 訓練學習網絡來完成色偏校正。

針對一張待校正色偏的圖像,首先需要使用已經訓練好的場景分類模型進行場景判定,獲得校正係數,該校正係數將會用於 AWBGAN 的校正結果,能在校正結果的基礎上進行動態調整。對於高分辨率圖像如果直接進行色偏校正處理,耗時高。爲了提高計算效率,MTlab 會將待校正色偏圖像採樣到一定尺度再進行校正操作,最後再將結果使用金字塔操作逆向回原圖尺寸。完整的校正流程如圖 8 所示。

圖 8. 色偏校正方案整體流程

生成網絡的設計

上文中提到在 sRGB 圖像上直接進行處理並沒有在 Raw 圖上處理效果好,因此生成器採用類 U-Net 網絡結構模擬 sRGB 到 RAW 再轉換回 sRGB 的非線性映射過程,其中編碼器將 sRGB 逆向還原回 RAW 圖並進行 RAW 圖上的色偏校正,在完成正確的白平衡設置後,解碼器進行解碼,生成使用了正確白平衡設置的 sRGB 圖像。整個 G 網絡的目的不是將圖像重新渲染會原始的 sRGB 圖,而是在 RAW 上使用正確的白平衡設置生成無色偏圖像。鑑於直接使用原始的 U-Net 網絡生成的圖像會存在色彩不均勻的問題,G 網絡參考 U-Net 以及自主研發的方案做了一些調整:

在編碼器與解碼器之間加入另外一個分支,使用均值池化代替全連接網絡提取圖像的全局特徵從而解決生成圖像存在色塊和顏色過度不均勻的問題;

使用 range scaling layer 代替 residuals,也就是逐個元素相乘,而不是相加,學習範圍縮放層(而不是殘差)對於感知圖像增強效果非常好;

爲了減少生成圖像的棋盤格僞影,將解碼器中的反捲積層替換爲一個雙線性上採樣層和一個卷積層。

生成網絡結構如圖 9 所示,提取全局特徵的網絡分支具體結構如圖 10 所示。

圖 9. 生成網絡結構圖

圖 10. 全局分支網絡結構

判別器設計

爲了能夠獲得更加逼近真實結果的圖像,此處採用了對抗性損失來最小化實際光分佈和輸出正態光分佈之間的距離。但是一個圖像級的鑑別器往往不能處理空間變化的圖像,例如輸入圖像是在室內複雜光源場景下獲取的,受到室內光源漫反射的影響,每個區域需要校正的程度不同,那麼單獨使用全局圖像判別器往往無法提供所需的自適應能力。

爲了自適應地校正局部區域色偏,MTlab 採用文獻[4]EnlightenGAN 中的 D 網絡。該結構使用 PatchGAN 進行真假鑑別。判別器包含全局以及局部兩個分支,全局分支判斷校正圖像的真實性,局部分支從輸入圖像隨機剪裁 5 個 patch 進行判別,改善局部色偏校正效果。D 網絡的輸入圖像與 target 圖像,都會從 RGB 顏色域轉換成 LAB 顏色域,Lab 是基於人對顏色的感覺來設計的,而且與設備無關,能夠,使用 Lab 進行判別能夠獲得相對穩定的效果。全局 - 局部判別器網絡結構如圖 11 所示。

圖 11. 全局 - 局部判別器

Loss 函數的設計包括 L1 loss, MS-SSIM loss, VGG loss, color loss and GAN loss。其中 L1 loss 保證圖像的色彩亮度的真實性;MS-SSIM loss 使得生成圖像不會丟失細節,保留結構性信息,VGG loss 限制圖像感知相似性;color loss 分別將增強網絡得到 image 與 target 先進行高斯模糊,也就是去掉部分的邊緣細節紋理部分,剩下的能作爲比較的就是對比度以及顏色;GAN loss 確保圖像更加真實。這五個 loss 相加就構成了 AWBGAN 的損失函數。

最終色偏校正方案的校正效果如圖 12 所示。

圖 12. 美圖雲修智能白平衡結果。(左:色溫 6500K 情況,中:色溫 2850K 情況,右:校正後圖像)

智能祛除技術

修圖師在修圖過程中,會祛除一些皮膚本身固有的瑕疵,如皺紋、黑眼圈、淚溝等。對於人工智能的後期人像修圖來說,皺紋檢測有着重要的現實意義:一方面有助於皮膚衰老度的分析,揭示皺紋發生的區域和嚴重程度,成爲評估膚齡的依據;另一方面,則能爲圖像中的自動化人臉祛皺帶來更便捷的體驗,即在後期修圖的過程中,用戶可以利用算法自動快速定位皺紋區域,從而告別繁複的手工液化摸勻的過程。

1. 皺紋識別

在科研領域中,常用的皺紋檢測算法主要有以下幾種:

基於一般邊緣檢測的方法:比如常見的 Canny 算子、Laplace 算子、DoG 算子,但這些算子所檢出的邊緣實質上是圖像中兩個灰度值有一定差異的平坦區域之間的分界處,而不是皺紋的凹陷處,故不利於檢出具有一定寬度的皺紋;

基於紋理提取的方法:有以文獻 [5] 的 Hybrid Hessian Filter(HHF)以及文獻 [6] 的 Hessian Line Tracking (HLT)爲代表的,基於圖像 Hessian 矩陣的特徵值做濾波的方法,可用來提取圖像中的線性結構;也有以文獻 [7] 的 Gabor Filter Bank 爲代表的,利用在提取線性紋理的 Gabor 濾波的方法。這些方法需要手工設計濾波器,帶來了額外的調參代價,而且通常只能檢測線狀的抬頭紋和眼周紋,對於溝狀的法令紋的兼容較差,檢測結果也容易受到其他皮膚紋理或非皮膚物體的影響;

基於 3D 掃描的方法:如文獻 [8] 提出的利用 3D 點雲的深度信息映射到 2D 圖像的分析方法,但該方法依賴於額外的採集設備,在算法的普適性上較弱。

在自動化人臉祛皺的需求引領下,爲了擺脫傳統皺紋檢測算法的限制,美圖影像實驗室 MTlab 自主研發了一套全臉 (含脖子) 皺紋檢測技術。該技術在覆蓋全年齡段的真實人臉皺紋數據的驅動之下,發揮了深度學習表徵能力強和兼容性高的優勢,實現了端到端的抬頭紋、框周紋、法令紋和頸紋的精準分割,成爲了自動化祛皺算法的關鍵一環。

由於抬頭紋、框周紋、法令紋和頸紋這四類皺紋的類內模式相似性較高而類間模式相似較低,MTlab 採用零件化的思想,將全臉皺紋檢測任務分解成四個互相獨立的子任務,分別對上述的四類皺紋進行檢測。在四類皺紋的人臉區域定位上, MTlab 的人臉語義關鍵點檢測技術發揮了重要作用。在不同拍攝場景以及人臉姿態下,該技術都能正確劃分額頭、眼周、臉頰和頸部區,從而爲皺紋檢測任務提供了穩定可靠的輸入來源。MTlab 還利用眼周和臉頰區域的左右對稱性,在進一步減少網絡輸入尺寸的同時,也讓網絡在模式學習上變得更簡單。

圖 13. 皺紋檢測網絡結構圖

類 U-Net 的網絡結構在圖像特徵編碼和高低層語義信息融合上有着先天的優勢,故受到許多分割任務的青睞。鑑於皺紋檢測本質也是分割任務,MTlab 也在 U-Net 的基礎上進行網絡設計,並做了以下調整:

保留了編碼器淺層的高分辨率特徵圖,並將其與解碼器相同尺度的特徵圖進行信息融合:有助於引導解碼器定位皺紋在圖像中的位置,提升了寬度較細的皺紋檢出率;

將解碼器中的反捲積層替換爲一個雙線性上採樣層和一個卷積層:避免分割結果的格狀邊緣效應,讓網絡輸出的結果更貼合皺紋的原始形狀。

皺紋檢測的 loss 需要能起到真正監督的作用,爲此總體的 loss 由兩部分組合而成:Binary Cross Entropy Loss 以及 SSIM Loss。Binary Cross Entropy Loss 是分割任務的常用 loss,主要幫助網絡區分前景像素和背景像素;SSIM Loss 則更關注網絡分割結果與 GT 的結構相似性,有助於網絡學習一個更準確的皺紋形態。

2. 皺紋自動祛除

皺紋祛除主要是基於圖片補全實現,將皺紋部分作爲圖片中的待修復區域,藉助圖片補全技術重新填充對應像素。目前,圖片補全技術包含傳統方法和深度學習兩大類:

傳統圖片補全技術,這類方法無需數據訓練,包括基於圖片塊 (patch)[9,11] 和基於像素 [2] 這兩類補全方法。這兩類方法的基本思想是根據一定的規則逐步的對圖像中的受損區域進行填充。此類方法速度快,但需要人工劃定待修復區域,適用於小範圍的圖像修復,受損區域跨度較大時容易出現模糊和填充不自然的情況。基於深度學習的 Inpainting 技術 [12,13,14,15],這類方法需收集大量的圖片數據進行訓練。基本思想是在完整的圖片上通過矩形(或不規則圖形) 模擬受損區域,以此訓練深度學習模型。現有方法的缺陷在於所用數據集及假定的受損區域與實際應用差異較大,應用過程易出現皺紋無法修復或是紋理不清,填充不自然的情況。鑑於影樓用戶對於智能修圖的迫切需求,美圖影像實驗室 MTlab 自主研發了一套能夠適應複雜場景的的皺紋祛除方案。MTlab 提出的智能皺紋祛除方案,依靠海量場景的真實數據,在識別皺紋線的基礎上藉助 Inpainting 的深度學習網絡予以消除,提供端到端的一鍵式祛除皺紋,使其具備以下 2 個效果:

一致性:填充區域紋理連續,與周圍皮膚銜接自然。魯棒性:受外部環境影響小,效果穩定。MTlab 針對該問題收集的海量數據集能夠涵蓋日常生活場景中的多數場景光源,賦能模型訓練最大驅動力,保障模型的性能,較好的解決了上述問題,併成功落地於應用場景。

針對現有方案存在的缺陷,MTlab 根據皺紋的特點設計了皺紋祛除模型(WrinkleNet)。將原始圖片和皺紋 mask 同時送入祛除模型,即可以快速的完成祛除,並且保持了資深人工修圖在效果上自然、精細的優點,在各種複雜場景都有較強的魯棒性,不僅對臉部皺紋有效,同時也可用於其他皮膚區域(如頸部)的皺紋祛除,其核心流程如圖 14 所示。

圖 14. 祛皺核心流程

數據集製作:

如前所述,數據集會極大的影響深度學習模型的最終效果,目前主流的圖像補全模型多采用開源數據集,使用矩形或不規則圖形模擬圖像中待補全的區域。針對皺紋祛除任務這麼做是不合理的。一方皮膚區域在顏色和紋理上較圖片其他區域差異較大,另一方面皺紋多爲弧形細線條,其形狀不同於已有的補齊模式(矩形、不規則圖形),這也是導致現有模型效果不夠理想的原因之一。因此,在數據集的準備上,MTlab 不僅收集了海量數據,對其皺紋進行標註,同時採用更貼近皺紋紋理的線狀圖形模擬待填充區域。

生成網絡設計:

生成網絡基於 Unet 設計,鑑於直接使用原始的 U-Net 網絡生成的圖像會存在紋理銜接不自然,紋理不清的問題,因此對其結構做了一些調整。1)解碼的其輸出爲 4 通道,其中一個通道爲 texture 迴歸,用於預測補齊後的圖片紋理;2)在 Unet 的 concat 支路加入了多特徵融合注意力模塊(簡稱 FFA)結構,FFA 的結構如圖 15 所示,該結構旨在通過多層特徵融合注意力模塊,如圖 16 所示,提高模型對細節紋理的關注度。

圖 15. 生成網絡結構圖

圖 16. 多特徵融合注意力模塊

Loss 設計:

Loss 函數的設計包括 L1-loss, L2-loss, VGG-loss,以及 GAN-loss。其中 L1-loss 度量輸出圖像與真實圖像間的像素距離;L2-Loss 用於度量輸出紋理與真實紋理間的差異;VGG loss 限制圖像感知相似性;GAN loss 採用 PatchGAN 結構,確保圖像更加真實。這四個 loss 相加就構成了 WrinklNet 的損失函數。

最終臉部和脖子的祛皺效果分別如圖 17 和圖 18 所示。

圖 17. 美圖雲修臉部祛皺效果

圖 18. 美圖雲修脖子祛皺效果

智能修復技術

在現實生活中,齙牙、缺牙、牙縫、牙齒畸形等等問題會讓用戶在拍照時不敢做過多如大笑等露出牙齒的表情,對拍攝效果有一定影響。美圖雲修基於 MTlab 自主研發的一個基於深度學習技術的網絡架構,提出了全新的牙齒修復算法,可以對用戶各類不美觀的牙齒進行修復,生成整齊、美觀的牙齒,修復效果如圖 19 所示。

圖 19. 美圖雲修牙齒修復效果

MTAITeeth 牙齒修復方案:

要將牙齒修復算法真正落地到產品層面需要保證以下兩個方面的效果:

真實性,生成的牙齒不僅要美觀整齊,同時也要保證生成牙齒的立體度和光澤感,使其看起來更爲自然。

魯棒性,不僅要對大多數常規表情(如微笑)下的牙齒做修復和美化,同時也要保證算法能夠適應某些誇張表情(如大笑、齜牙等)。

MTlab 提出的 MTAITeeth 牙齒修復算法,較好地解決了上述兩個問題,並率先將技術落地到實際產品中,其核心流程如圖 20 所示。

圖 20. AITeeth 牙齒修復方案流程圖

圖中所展示的流程主要包括: G 網絡模塊和訓練 Loss 模塊,該方案的完整工作流程如下:

通過 MTlab 自主研發的人臉關鍵點檢測算法檢測出人臉點,根據人臉點判斷是否有張嘴;若判定爲張嘴,則裁剪出嘴巴區域並旋轉至水平,再根據人臉點計算出嘴脣 mask、牙齒區域 mask 以及整個嘴巴區域(包括嘴脣和牙齒)的 mask;根據嘴巴區域的 mask 得到網絡輸入圖①,根據牙齒區域和嘴脣區域的 mask,分別計算對應區域的均值,得到網絡輸入圖②,兩個輸入圖均爲 3 通道;G 網絡有兩個分支,訓練時,將圖①和圖②輸入 G 網絡的第一個分支,再從數據集中隨機挑選一張參考圖(網絡輸入圖③)輸入 G 網絡的第二個分支,得到網絡輸出的結果圖,根據結果圖和目標圖計算 Perceptual loss、Gan loss、 L1 loss 以及 L2 loss,上述幾個 loss 控制整個網絡的學習和優化;實際使用時,將裁剪好的嘴巴區域的圖進行步驟 3 中的預處理,並輸入訓練好的 G 網絡,就可以得到網絡輸出的結果圖,結合圖像融合算法將原圖和結果圖進行融合,確保結果更加真實自然,並逆回到原始尺寸的原圖中,即完成全部算法過程。GAN 網絡的構建:

對於方案中的整個網絡結構,以及 perceptual loss、L1 loss、L2 loss 和 Gan loss,方案參考了論文 EdgeConnect[16]中的網絡結構並結合自有方案進行了調整。僅用網絡輸入圖①和網絡輸入圖②訓練網絡模型,會造成生成的牙齒並不美觀甚至不符合常規,爲了使網絡模型可以生成既美觀又符合常規邏輯的牙齒,本方案構建了一個雙分支輸入的全卷積網絡,第二個分支輸入的是一張牙齒的「參考圖」,訓練時,該參考圖是從訓練數據集中隨機選擇的,參考圖可以對網絡生成符合標準的牙齒起到正向引導的作用:

第一個分支爲 6 通道輸入,輸入爲圖①和圖②的 concat,並歸一化到(-1,1)區間;第二個分支爲 3 通道輸入,輸入圖像是在構建的訓練數據集中隨機挑選的“參考圖”,同樣歸一化到(-1,1)區間;G 網絡是本質上是一個 AutoEncoder 的結構,解碼部分的上採樣採用的是雙線性上採樣 + 卷積層的結合,與論文中 [16] 有所不同,爲了減輕生成圖像的 artifacts 和穩定訓練過程,本方案中的歸一化層統一都採用 GroupNorm,而網絡最後一層的輸出層激活函數爲 Tanh。

判別網絡部分:判別網絡採用的是 multi_scale 的 Discriminator,分別判別不同分辨率下的真假圖像。本方案採用 3 個尺度的判別器,判別的是 256x256,128x128,64x64 三個尺度下的圖像。獲得不同分辨率的圖像,直接通過 Pooling 下采樣即可。

Loss 函數的設計包括 L1 loss, L2 loss, Perceptual loss 和 GAN loss。其中 L1 loss 和 L2 loss 可以保證圖像色彩的一致性;GAN loss 使得生成圖像的細節更加真實,也使得生成的牙齒更加清晰、自然、更加具有立體度和光影信息;Perceptual loss 限制圖像感知的相似性,以往的 VGG loss 往往會造成顏色失真與假性噪聲的問題,本方案採用的是更加符合人類視覺感知系統的 lpips(Learned Perceptual Image Patch Similarity) loss[17],很大程度上緩解了上述問題,使生成圖像具有更加自然的視覺效果;上述這幾個 loss 相加就構成了 MTAITeeth 方案的損失函數。

結語

影樓修圖涉及衆多技術,除了上述提到的特色修圖功能外,還包括人臉檢測、年齡檢測、性別識別、五官分割、皮膚分割、人像分割、實例分割等相對成熟的技術,可見成熟的 AI 技術能夠替代影樓修圖費時費力且重複度高的流程,大幅節省人工修圖時間,節省修圖成本。在智能調色、智能中性灰、智能祛除、智能修復等 AI 技術的加持下,提高修圖質量,解決手工修圖存在的問題。AI 自動定位臉部瑕疵、暗沉、黑頭等,在不磨皮的情況下予以祛除,實現膚色均勻,增強細節清晰度;識別皺紋、黑眼圈、淚溝等皮膚固有的缺陷,在保持紋理細節和過渡自然的前提下予以祛除;針對用戶的牙齒、雙下巴等影響美觀的缺陷,採用 AI 技術進行自然修復,達到美觀和諧的效果。

憑藉在計算機視覺、深度學習、增強現實、雲計算等領域的算法研究、工程開發和產品化落地的多年技術積累,MTlab 推出的的美圖雲修人工智能修圖解決方案能爲影像行業注入更多的活力,爲商業攝影提供低成本、高品質、高效率的的後期修圖服務。

參考文獻:

[1] CBAM: Convolutional block attention module, Woo, S., Park, J., Lee, J.Y., So Kweon, ECCV (2018).

[2] Learning Enriched Features for Real Image Restoration and Enhancement, Syed Waqas Zamir, Aditya Arora, Salman Khan, Munawar Hayat, Fahad Shahbaz Khan, Ming-Hsuan Yang, and Ling Shao, ECCV (2020).

[3] Huang, Jie , et al. "Range Scaling Global U-Net for Perceptual Image Enhancement on Mobile Devices." European Conference on Computer Vision Springer, Cham, 2018.

[4] Jiang Y , Gong X , Liu D , et al. EnlightenGAN: Deep Light Enhancement without Paired Supervision[J]. 2019.

[5] Ng, Choon-Ching, et al. "Automatic wrinkle detection using hybrid hessian filter." Asian Conference on Computer Vision. Springer, Cham, 2014.

[6] Ng, Choon-Ching, et al. "Wrinkle detection using hessian line tracking." Ieee Access 3 (2015): 1079-1088.

[7] Batool, Nazre, and Rama Chellappa. "Fast detection of facial wrinkles based on Gabor features using image morphology and geometric constraints." Pattern Recognition 48.3 (2015): 642-658.

[8] Decencière, Etienne, et al. "A 2.5 d approach to skin wrinkles segmentation." Image Analysis & Stereology 38.1 (2019): 75-81.

[9] Criminisi A , P P , Toyama K . Region filling and object removal by exemplar-based image inpainting[J]. IEEE Transactions on Image Processing, 2004, 13.

[10] Telea A. An image inpainting technique based on the fast marching method[J]. Journal of graphics tools, 2004, 9(1): 23-34.

[11] Pérez P, Gangnet M, Blake A. Poisson image editing[M]//ACM SIGGRAPH 2003 Papers. 2003: 313-318.

[12] Pathak D, Krahenbuhl P, Donahue J, et al. Context encoders: Feature learning by inpainting[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2016: 2536-2544.

[13] Yeh R A, Chen C, Yian Lim T, et al. Semantic image inpainting with deep generative models[C]//Proceedings of the IEEE conference on computer vision and pattern recognition. 2017: 5485-5493.

[14] Liu G, Reda F A, Shih K J, et al. Image inpainting for irregular holes using partial convolutions[C]//Proceedings of the European Conference on Computer Vision (ECCV). 2018: 85-100.

[15] Hong X, Xiong P, Ji R, et al. Deep fusion network for image completion[C]//Proceedings of the 27th ACM International Conference on Multimedia. 2019: 2033-2042.

[16 EdgeConnect: Structure Guided Image Inpainting using Edge Prediction, Nazeri, Kamyar and Ng, Eric and Joseph, Tony and Qureshi, Faisal and Ebrahimi, Mehran, The IEEE International Conference on Computer Vision (ICCV) Workshops}, Oct, 2019.

[17] The Unreasonable Effectiveness of Deep Features as a Perceptual Metric, Richard Zhang, Phillip Isola, Alexei A. Efros, Eli Shechtman, Oliver Wang. In CVPR, 2018.

相關文章