萬字長文看懂「美圖雲修」AI修圖解決方案

美圖影像研究院發表於2021-08-11

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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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

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

智慧中性灰技術

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

圖 5. 智慧中性灰精修網路結構


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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

其中 σ 表示 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),由以下公式表示:

萬字長文看懂「美圖雲修」AI修圖解決方案

其中 σ 表示 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,表示為:

萬字長文看懂「美圖雲修」AI修圖解決方案

萬字長文看懂「美圖雲修」AI修圖解決方案

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

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


智慧調色技術

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

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

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

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

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

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

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

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

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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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


生成網路的設計

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

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

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

  3. 為了減少生成影像的棋盤格偽影,將解碼器中的反摺積層替換為一個雙線性上取樣層和一個卷積層。


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

萬字長文看懂「美圖雲修」AI修圖解決方案

圖 9. 生成網路結構圖

萬字長文看懂「美圖雲修」AI修圖解決方案

圖 10. 全域性分支網路結構


判別器設計

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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

圖 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 所示。萬字長文看懂「美圖雲修」AI修圖解決方案

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


智慧祛除技術

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

1. 皺紋識別

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

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

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

  3. 基於 3D 掃描的方法:如文獻 [8] 提出的利用 3D 點雲的深度資訊對映到 2D 影像的分析方法,但該方法依賴於額外的採集裝置,在演算法的普適性上較弱。

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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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

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

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

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

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


2. 皺紋自動祛除

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

  1. 傳統圖片補全技術,這類方法無需資料訓練,包括基於圖片塊 (patch)[9,11] 和基於畫素 [2] 這兩類補全方法。這兩類方法的基本思想是根據一定的規則逐步的對影像中的受損區域進行填充。此類方法速度快,但需要人工劃定待修復區域,適用於小範圍的影像修復,受損區域跨度較大時容易出現模糊和填充不自然的情況。

  2. 基於深度學習的 Inpainting 技術 [12,13,14,15],這類方法需收集大量的圖片資料進行訓練。基本思想是在完整的圖片上透過矩形(或不規則圖形) 模擬受損區域,以此訓練深度學習模型。現有方法的缺陷在於所用資料集及假定的受損區域與實際應用差異較大,應用過程易出現皺紋無法修復或是紋理不清,填充不自然的情況。

鑑於影樓使用者對於智慧修圖的迫切需求,美圖影像實驗室 MTlab 自主研發了一套能夠適應複雜場景的的皺紋祛除方案。MTlab 提出的智慧皺紋祛除方案,依靠海量場景的真實資料,在識別皺紋線的基礎上藉助 Inpainting 的深度學習網路予以消除,提供端到端的一鍵式祛除皺紋,使其具備以下 2 個效果:

  1. 一致性:填充區域紋理連續,與周圍皮膚銜接自然。

  2. 魯棒性:受外部環境影響小,效果穩定。

MTlab 針對該問題收集的海量資料集能夠涵蓋日常生活場景中的多數場景光源,賦能模型訓練最大驅動力,保障模型的效能,較好的解決了上述問題,併成功落地於應用場景。


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

萬字長文看懂「美圖雲修」AI修圖解決方案

圖 14. 祛皺核心流程


資料集製作:

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


生成網路設計:

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

萬字長文看懂「美圖雲修」AI修圖解決方案

圖 15. 生成網路結構圖

萬字長文看懂「美圖雲修」AI修圖解決方案

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


Loss 設計:

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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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


智慧修復技術

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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


MTAITeeth 牙齒修復方案:

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

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

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

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

萬字長文看懂「美圖雲修」AI修圖解決方案

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

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

  1. 透過 MTlab 自主研發的人臉關鍵點檢測演算法檢測出人臉點,根據人臉點判斷是否有張嘴;

  2. 若判定為張嘴,則裁剪出嘴巴區域並旋轉至水平,再根據人臉點計算出嘴唇 mask、牙齒區域 mask 以及整個嘴巴區域(包括嘴唇和牙齒)的 mask;

  3. 根據嘴巴區域的 mask 得到網路輸入圖①,根據牙齒區域和嘴唇區域的 mask,分別計算對應區域的均值,得到網路輸入圖②,兩個輸入圖均為 3 通道;

  4. G 網路有兩個分支,訓練時,將圖①和圖②輸入 G 網路的第一個分支,再從資料集中隨機挑選一張參考圖(網路輸入圖③)輸入 G 網路的第二個分支,得到網路輸出的結果圖,根據結果圖和目標圖計算 Perceptual loss、Gan loss、 L1 loss 以及 L2 loss,上述幾個 loss 控制整個網路的學習和最佳化;

  5. 實際使用時,將裁剪好的嘴巴區域的圖進行步驟 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 &amp; 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.

相關文章