1. 程式人生 > >深度學習AI美顏系列---AI美顏磨皮演算法二

深度學習AI美顏系列---AI美顏磨皮演算法二

這裡先放兩張對比結果圖,原圖來自網路:

演算法的流程如下:

1,面板分割演算法;

目前主流的語義分割等都可以實現,準確度要求較高。本人使用U-net和PSPNet。

2,人臉關鍵點識別演算法;

這一步可以使用商湯/Face++/虹軟人臉SDK,這裡使用的是虹軟101點人臉SDK。

也可以自己訓練人臉SDK,推薦使用mtcnn或者opencv人臉檢測+cnn關鍵點網路;

3,基於面板區域的祛斑演算法;

這裡祛斑演算法如下:

①使用Sobel粗略提取斑點資訊;

②使用連通域判斷得到最終斑點區域;

③結合高斯濾波+泊松融合來實現祛斑效果;

4,基於面板區域的磨皮美白調色演算法;

磨皮部分:通過高反磨皮演算法對人像磨皮,結合面板區域得到精確磨皮效果;

美白調色部分:這一步通過PS中的曲線調節來得到美白調色的LUT,結合膚色區域進行Blend得到調色結果;

5,大眼瘦臉演算法;

基於人臉特徵點+MLS變形或IDW反距離加權變形來實現大眼瘦臉演算法;

6,五官立體+腮紅+脣彩+美瞳演算法;

這一步通過人臉關鍵點來得到嘴脣和腮紅區域,實現脣彩和腮紅;

通過美瞳模板來實現美瞳演算法;

通過雙曲線調色來實現五官立體演算法;

關鍵點:

1,精準的面板識別分割;

2,精準的人臉關鍵點;

本演算法使用opengl可在手機端實時處理;