美顏算法之膚色類似度計算

在AI美顏中,常常會用到膚色類似度計算,如何實現這個算法?算法

今天爲你們分享一下,圖玩智能科技爲企業提供更穩定更優質的美顏產品,歡迎隨時諮詢www.toivan.com.函數

步驟以下:性能

 

1,人臉皮膚分割;spa

 

2,對人臉皮膚分割結果進行LAB顏色空間轉換;3d

 

3,設立預置膚色分類卡,記錄每種膚色的LAB值;blog

 

4,根據當前用戶人臉皮膚區域的LAB值,與預置膚色卡中的每種膚色LAB進行CIELAB色差計算,色差最小的,即爲最接近的膚色;產品

 

這裏總結一下CIELAB色差計算的兩種方式以下:class

 

一、1976-CIELABim

 

CIELab是CIE的一個顏色系統,表色體系,基於CIELab的意思是基於這個顏色系統之上,基本是用於肯定某個顏色的數值信息。總結

 

Hunter 1948 L, a, b色彩空間的座標是L, a和b。可是,Lab常常用作CIE 1976 (L*, a*, b*)色彩空間的非正式縮寫(也叫作CIELAB,它的座標其實是L*, a*和b*)。

 

LAB顏色空間是基於人眼對顏色的感知,能夠表示人眼所能感覺到的全部顏色。L表示明度,A表示紅綠色差,B表示藍黃色差。

 

三個基本座標意義:

 

顏色的亮度(L*, L* = 0生成黑色而L* = 100指示白色),

紅色/品紅色和綠色之間的位置(a*負值指示綠色而正值指示品紅)

黃色和藍色之間的位置(b*負值指示藍色而正值指示黃色)。

CIELAB是均勻的顏色空間,所謂均勻是當數值均勻變化時,人的感官也是均勻變化; 在L*a*b* 模型中均勻改變對應於在感知顏色中的均勻改變。

 

因此在L*a*b* 中任何兩個顏色的相對感知差異,能夠經過把每一個顏色處理爲(有三個份量:L*, a*, b* 的)三維空間中一個點來近似,並計算在它們之間的歐幾里得距離。

 

L*a*b* 空間中的兩個顏色的歐幾里得距離是ΔE(「Delta E」,ΔE*ab)。

 

 

二、CIEDE2000

 

CIEDE2000色差公式主要對CIE94公式作了以下幾項修正:

 

從新標定近中性區域的a*軸,以改善中性色的預測性能;

將CIE94公式中的明度權重函數修改成近似V形函數;

在色相權重函數中考慮了色相角,以體現色相容限隨顏色的色相而變化的事實;

包含了與BFD和Leeds色差公式中相似的橢圓選擇選項,以反映在藍色區域的色差容限橢圓不指向中心點的現象;

CIEDE2000色差公式以下:

 

計算步驟:

 

  • 計算CIELAB公式中的L*、a*、b*、C*ab

 

 

  • 計算L‘、a‘、C‘、h‘

 

 

  • 計算△L‘、△C‘ab、△H‘ab

 

 

  • 計算SL、SC、SH和T

 

 

過程簡單,很容易便可實現人臉膚色判斷。

相關文章
相關標籤/搜索