AI美顏中的磨皮算法之一

AI美顏磨皮算法目前尚未具體定義,各大公司也都處於摸索階段,圖玩智能科技爲企業提供更優質更穩定的美顏產品及服務,歡迎隨時諮詢www.toivan.com.今天先看一下磨皮算法的通常流程:算法

這個流程圖是通常傳統的磨皮算法流程圖,而本文將基於這個流程圖,結合深度學習作一些改進。網絡

 

在這個流程圖中,主要的模塊有兩個:濾波模塊和膚色區域檢測模塊;學習

 

濾波模塊中,包含了三種算法:spa

 

1,保邊濾波器濾波算法3d

 

該方法是指經過一些具備保留邊緣的能力的濾波器,來將圖像磨平,達到皮膚平滑的目的;blog

 

這類濾波器主要有:get

 

①雙邊濾波器深度學習

 

②導向濾波器產品

 

③Surface Blur表面模糊濾波器it

 

④局部均值濾波器

 

⑤加權最小二乘濾波器(WLS濾波器)

 

⑥Smart blur等等。

 

此方法皮膚區域比較平滑,細節較少,須要後期添加細節信息,來保留一些天然的紋理;

 

2,高反差減弱算法

 

高反差保留算法是指經過高反差來獲得皮膚細節的MASK,根據MASK中細節區域,好比皮膚中的斑點區域位置,將原圖對應區域進行顏色減淡處理,以此來達到斑點弱化,美膚的目的;

 

該方法在保留紋理的同時,減弱了皮膚瑕疵與斑點的顏色,使得皮膚看起來比較光滑天然;

 

3,其餘算法

 

這裏是指一些未知的算法,固然已知的也有,好比:基於保邊濾波和高反差的磨皮算法,該方法同時對原圖作了1-2步驟,獲得一張光滑的濾波圖和高反差對應的細節MASK,而後將MASK做爲alpha通道,把原圖和濾波圖進行Alpha融合,達到平滑皮膚的同時,去除斑點,保留紋理的做用;

 

皮膚區域識別檢測模塊

 

目前經常使用的皮膚檢測主要是基於顏色空間的皮膚顏色統計方法;

 

該方法具備較高的誤檢率,容易將類膚色斷定爲膚色,這樣就致使了非皮膚區域圖像被濾波器平滑掉了,也就是不應磨皮的圖像區域被模糊了;

 

重點來了,下面咱們在傳統磨皮算法流程中使用深度學習來改進或者提升咱們磨皮的質量,好比:使用深度學習進行皮膚區域分割,獲得更爲精確的皮膚區域,從而使得咱們最後的磨皮效果超越傳統算法的效果;

 

下面,咱們介紹基於深度學習的皮膚區域分割:

 

分割的方法有不少,CNN/FCN/UNet/DenseNet等等,這裏咱們使用UNet進行皮膚分割:

 

Unet作圖像分割,

 

它最開始的網絡模型以下:

這是一個全卷積神經網絡,輸入和輸出都是圖像,沒有全鏈接層,較淺的高分辨率層用來解決像素定位的問題,較深的層用來解決像素分類的問題;

 

左邊進行卷積和下采樣,同時保留當前結果,右邊進行上採樣時將上採樣結果和左邊對應結果進行融合,以此來提升分割效果;

 

這個網絡中左右是不對稱的,後來改進的Unet基本上在圖像分辨率上呈現出對稱的樣式,本文這裏使用Keras來實現。

你們能夠看到,基於顏色空間的傳統磨皮算法始終沒法精確區分皮膚區域與類膚色區域,所以在頭髮的地方也作了磨皮操做,致使頭髮紋理細節丟失,而基於Unet皮膚分割的磨皮算法則能夠很好的區分皮膚與頭髮這種類膚色區域,進而將頭髮的紋理細節保留,達到該磨皮的地方磨皮,不應磨皮的地方不磨,效果明顯優於傳統方法。

相關文章
相關標籤/搜索