1. 程式人生 > >美妝演算法---磨皮演算法研究彙總

美妝演算法---磨皮演算法研究彙總

寫這篇部落格,也是對自己這段時間關於磨皮演算法內容研究做個小結。

目前,對於人臉磨皮演算法,大家並不陌生,從PS到APP應用,可謂是層出不窮,這裡我總結一下,具體流程如下:

1,保邊濾波器

2,膚色檢測

3,影象融合

4,銳化

對於保邊濾波器:

此類濾波器主要作用是在平滑面板的同時,保留五官的細節。目前可以做磨皮的保邊濾波主要有以下幾種:

1,表面模糊

這個演算法是PS中的一個功能,具有較好的保邊作用,它的演算法實現連線:點選開啟連結

效果如下:


原圖                                                                                                                              表面模糊

2,雙邊濾波

這個演算法是由一個高斯分量+梯度分量組成權重資訊來實現模糊平滑影象的同時,保留邊緣的功能的,程式碼連線:點選開啟連結

效果圖如下:


原圖                                                                                                                            雙邊濾波r=15

3,導向濾波

導向濾波是基於導向圖的一種保邊濾波演算法,最開始由He kai ming提出,用於基於暗通道去霧演算法中,它的實現演算法和程式碼DEMO連線:點選開啟連結

效果圖如下:


原圖                                                        導向濾波                                                   快速導向濾波

3,基於均值濾波的保邊濾波器演算法

這個演算法速度很快,單效果一般,參考論文《Lee Filter Digital Image Enhancement and Noise Filtering by Use of Local Statistics》

演算法實現及程式DEMO連線:點選開啟連結

效果圖如下:


原圖                                                                                                                      效果圖

4,選擇性模糊演算法

這個演算法的具體實現及程式DEMO連線:點選開啟連結

效果圖如下:


原圖                                                                                                                      選擇性濾波演算法效果

5,基於高斯濾波的磨皮實現演算法

這個演算法不多說,大家可以直接看連線:點選開啟連結

相關程式碼DEMO連線:點選開啟連結

效果如圖:


原圖                                                                                                                      磨皮效果圖
以上就是我收集到的,目前可以用來做磨皮演算法的濾波器,大家可以參考一下。

對於膚色檢測:

膚色檢測的相關資料比較多,主要可以分為兩大類,基於顏色空間統計資訊的方法,基於機器學習分類的方法。

這裡給出一些連結:點選開啟連結

 一種基於RGB顏色空間的演算法:

                             

對於影象融合:

這個影象融合,主要是指將濾波影象和細節影象進行融合,得到一張具有較強細節真實感和磨皮效果的結果圖。

一般基於alpha通道,或者使用羽化操作來進行融合,公式如下:

res = (basePixel * alpha + filterPixel * (255 - alpha))  >>8

注意,這裡的alpha在0-255之間,這裡舉的是原圖和濾波圖的融合。

對於銳化演算法:

在得到磨皮融合的效果圖後,我們還需要進行一定的銳化演算法,來進一步增強細節感,這裡大家可以使用USM銳化或者經典的鄰域銳化,laplace銳化等等,相關資料自行百度吧。    

上述所有內容,都是磨皮演算法相關的內容,跟大家分享一下,最後一個,就是演算法的效率問題了,這個問題解決的核心,還在於濾波演算法的選擇,大家可以自行優化。本人基於Sobel運算元和均值濾波實現了一種保邊濾波器,只需進行一次均值濾波,一次sobel運算元即可,速度很不錯,這裡給個效果圖:

注意,這裡簡單的進行了全圖濾波呵呵。

本文轉自:http://www.zealfilter.com/article-138-1.html