深度学习AI美颜系列---肤色相似度计算(CIELAB色差计算)

深度学习AI美颜系列---肤色相似度计算(CIELAB色差计算)

 

 

在AI美颜中,经常会用到肤色相似度计算,如何实现这个算法?

步骤如下:

1,人脸皮肤分割;

2,对人脸皮肤分割结果进行LAB颜色空间转换;

3,设立预置肤色分类卡,记录每种肤色的LAB值;

4,根据当前用户人脸皮肤区域的LAB值,与预置肤色卡中的每种肤色LAB进行CIELAB色差计算,色差最小的,即为最接近的肤色;

这里总结一下CIELAB色差计算的两种方式如下:

1、1976-CIELAB

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表示蓝黄色差。

三个基本坐标意义:

  1. 颜色的亮度(L*, L* = 0生成黑色而L* = 100指示白色),
  2. 红色/品红色和绿色之间的位置(a*负值指示绿色而正值指示品红)
  3. 黄色和蓝色之间的位置(b*负值指示蓝色而正值指示黄色)。

CIELAB是均匀的颜色空间,所谓均匀是当数值均匀变化时,人的感官也是均匀变化; 在L*a*b* 模型中均匀改变对应于在感知颜色中的均匀改变。

所以在L*a*b* 中任何两个颜色的相对感知差别,可以通过把每个颜色处理为(有三个分量:L*, a*, b* 的)三维空间中一个点来近似,并计算在它们之间的欧几里得距离。

L*a*b* 空间中的两个颜色的欧几里得距离是ΔE(“Delta E”,ΔE*ab)。

2、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

过程简单,很容易即可实现人脸肤色判断;

代码大家可以自行编写,不在累赘;

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Trent1985

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值