人像美妆简介与唇彩算法实现

8 篇文章 2 订阅
订阅专栏

1. 引言

2. 美妆算法简介

“人靠衣装,美靠靓妆”,美妆的通俗定义是指,通过使用化妆品和相应的工具(眼线笔、睫毛贴等),使人的五官变得精致、立体、美观,以达到美容的效果。这是传统意义上的美妆,而照片美妆则是指通过一定的图像算法来模拟真实化妆的过程,让我们的照片变得像画过妆、美过容一样。随着科技的发展,生活水平的提高,人们对生活质量的要求也越来越高,拍照分享几乎成了每个人的日常,而对这些照片的美妆处理需求,也是与日俱增,在这个渴望美的世界里,“美妆相机”“玩美彩妆”等一系列美妆App也孕育而生,并且深受女孩子的喜爱。

以厦门美图科技出品的“美妆相机”、虹软科技出品的 Perfect365、“玩美彩妆”和“天天P图”为代表的美妆应用,正在通过各种图像算法,来实现照片和视频的美妆效果,各种效果举例如图1所示。

图1 美妆特效举例

从图中可以看到,各大美妆应用所做的美妆特效无非包括如下几个部分。

· 修眉:给人像替换新的眉毛与眉形。

· 眼妆:眼影/睫毛/眼线/双眼皮/亮眼/美瞳。

· 腮红:给人像添加腮红效果。

· 唇彩:给人像增加不同的唇色。

· 粉底:给人像增加不同颜色的打底妆

在这里,我们以如下的开发流程来介绍所有美妆算法。

在早期的修图时代,几乎所有的修图操作都是在 Photoshop或者类似的 PC修图软件中完成的,那个时代,手机还没有这么智能,也运行不了现在这么丰富的 App,更没有什么“美图秀秀”,因为手机硬件性能的限制,我们只能在PC上修图。但是,随着科技的发展,智能手机的普及,美颜美妆类手机 App 开始萌发,而它们的诞生,无非就是使用最简单的方式把PC 中 Photoshop 等美颜美妆修图的操作用算法实现,并移植到手机上。这个方法一直沿用至今,它的具体流程如图 2所示。首先,将目标效果在 PS中实现;然后,将 PS中的步骤分解细化;接着,根据 PS中的步骤进行图像算法编程实现;最后,将算法合并,得到最终美颜美妆的功能库用以处理图像(当然,这里我们所说的是传统方法,深度学习的方法排除在外)。

图2 美妆效果算法开发流程图

整体算法开发流程介绍完了,需要注意的是,美妆功能对于人脸关键点信息是强依赖的,人脸关键点的准确与否,将直接影响妆容效果的好坏。后续我们将采取关键点检测模型检测人脸关键点,如图3所示。

图3 人脸关键点序号图

3. 唇妆

唇妆,是对唇部区域的美容化妆,是女性最常用的化妆手法。唇妆最大的作用在于凸显美人的气质,例如“淡雅的上班唇色”“妩媚的约会唇色”“出位的时尚唇色”“高贵的红艳唇色”等,不同的时间、不同的地点、不同的场景,不同的唇彩搭配,凸显不同的美人韵味。

3.1 常用唇彩效果算法实现

本节将实现一种常用的唇彩算法。

3.1.1 唇彩标准模板设计

这一步非常关键,实现唇彩的基本原理是对嘴唇区域的像素添加颜色,而嘴唇区域的获取,依赖嘴唇区域的mask。我们将通过算法,将制作好的嘴唇mask变换到任意一张用户人像照片中的嘴唇区域,然后根据mask中的黑白信息来判断嘴唇区域。

首先,制作一张模特的嘴唇mask,并对mask进行一定的裁切与缩放,如图4(a)所示。同时,我们以106关键点为基准,得到对应的点位信息(也可以手动标记点位数据),如图4(b)所示,点位标号即虹软105关键点标号。

其次,我们创建标准唇彩模板。将点位信息标号统一,如图4(c)所示,顺序不变,索引统一从 0开始。可以发现,嘴唇区域共有 20个关键点信息,在此基础上,再添加8个点,分别是矩形框所在的边界点,标号如图4(c)所示。这8个点用来限定嘴唇区域范围,至此,唇彩模板共有28个关键点信息。

最后,将嘴唇区域按照点位进行三角形剖分,并将三角形进行索引标号,如图 4(d)所示,共有42个三角形。记录下三角形的点位位置与索引,这样mask和对应的三角形索引以及28个点位信息就形成了一个标准唇彩模板。

图4 标准唇彩模板设计

3.1.2 标准唇彩模板的变换

对于任意一张用户人脸照片S,如何将标准唇彩模板 mask 对齐到嘴唇区域呢?算法如下所述。

①对于S进行人脸关键点检测,得到嘴唇区域的20个关键点信息,标号为75-94。

②计算 20个关键点的最小外接矩形框,并将矩形框外扩。按照图 4(d)所示的顺序,得到8个矩形框边界点。共计28个嘴唇关键点的数组,记作P1,矩形框所在的嘴唇区域图像记作S1。

③假设标准唇彩模板图为M,对应28个关键点的数组为P2。

④假设标准唇彩模板对应的42个三角形定点索引为T。

⑤按照T将S1进行三角剖分,得到三角形图像数组Ts。

⑥按照T将M进行三角剖分,得到三角形图像数组Tm。

⑦遍历Ts,对每个三角形内的所有像素做仿射变换,映射到Tm对应的三角形内,这样就将Tm对齐到了Ts,即得到一张和S1一模一样的唇彩模板 mask,这个 mask中记录的是黑白区域,白色表示S1内的嘴唇区域,黑色表示背景,如图5(b)所示。

图5 标准唇彩模板变换

该算法流程涉及两个算法:仿射变换以及判断点是否在三角形内部。

3.1.3 嘴唇上色

为了能够方便地添加各种颜色的唇彩,这里我们使用标准颜色映射表 512×512 LUT的方法来对嘴唇区域的图像进行颜色变换。变换之后得到了图像C,如图6所示。

图6 LUT颜色变换

3.1.4 alpha混合

按照S1将图S和图C进行alpha融合,得到最终效果,如图5.47所示。

图7 唇彩算法效果图

3.2 唇彩的其他算法实现

3.2.1 嘴唇检测法

唇检测法是指通过算法检测出嘴唇区域,然后对该区域的像素进行颜色变换,进而达到上唇彩的效果;这种方法不需要精确的人脸关键点信息,代价比较小,但缺点是传统的嘴唇检测算法精度较低。

常用的检测算法有两种,一种是基于颜色空间的传统检测算法,论文参考《基于肤色和唇色信息的人脸检测方法的研究》和《一种快速鲁棒的唇部检测方法》;另一种是基于深度学习的嘴唇分割。

论文《基于肤色和唇色信息的人脸检测方法的研究》中以 YIQ 颜色空间为基础,基于唇色像素值统计结果,对唇色进行检测,作者给出了唇色像素的分布范围,如表 1 所示。对于任意像素,按照如下公式进行YIQ颜色空间转换,Y、I、Q分量满足唇色分布范围要求,则该像素即为唇色像素。

表1 YIQ颜色空间的纯色范围表

RGB颜色空间到YIQ颜色空间的转换公式如下:

在论文《一种快速鲁棒的唇部检测方法》中,以 RGB 颜色空间为基础,提出了一个唇色判断公式,如下所示:

对于任何一个像素点P(R,G,B),若满足上述公式,则该像素属于唇色。这里的T是经验值,论文中并未给出具体数值。

这里给出两种传统算法的效果图,如图8所示。

图8 唇色检测算法效果图

基于深度学习的图像分割,我们留到后续章节中详细给大家讲解。现在可以告诉大家的是,基于深度学习的嘴唇分割算法以极高的分割准确率完胜传统算法,大家拭目以待吧。

无论是传统方法还是深度学习方法,分割出嘴唇区域之后,我们就可以使用 LUT 颜色变换的方法或者使用 HSV等颜色空间修改像素颜色的方法,来修改嘴唇的颜色,进而达到上唇彩的效果。

3.2.2 曲线拟合法

曲线拟合算法对比嘴唇检测算法而言,不是通过检测来获取嘴唇区域,而是基于人脸关键点,也就是嘴唇区域的特征点来进行曲线拟合,进而获得光滑的嘴唇曲线,以及光滑的嘴唇区域。常用的曲线拟合算法有最小二乘法,贝塞尔曲线拟合法等。

曲线拟合法也是很多开发唇彩特效应用的首选方法,以曲线拟合法为基础的唇彩算法,逻辑流程如图9所示。

图9 使用曲线拟合法唇彩的逻辑流程图

具体分解过程如下:

(1)对原始人像照片进行人脸关键点检测,获取嘴唇区域关键点,以虹软的 101 关键点为例,如图10(a)所示。

(2)对嘴唇关键点进行曲线拟合,以贝塞尔曲线拟合为例,如图10(b)所示。

(3)对曲线拟合得到的嘴唇区域进行黑白填充,嘴唇区域为黑色,其他区域为白色,如图10(c)所示,得到嘴唇区域Mask。

(4)对嘴唇区域Mask进行高斯模糊,然后反相,得到最终的嘴唇区域Map,如图10(d)所示。

(5)将原图进行LUT唇色转换,如图10(e)和图10(f)所示。

(6)将原图和唇色转换结果图以嘴唇区域Map为alpha通道进行alpha混合,得到结果图,如图10(g)和图10(h)所示。

图10 嘴唇区域贝塞尔曲线拟合

4. 总结

本文对美妆算法进行简单介绍,并以唇彩为典例,介绍了唇妆的详细思路与算法实现。

5. 参考

Android简单实现嘴唇贴纸功能_JabamiLight的博客-CSDN博客

人像美妆---妆容迁移算法研究(Makeup transfer)_Trent1985的博客-CSDN博客

深度学习AI美颜系列----AI人像美妆算法初识
05-19 2202
转于:https://cloud.tencent.com/developer/article/1165882 人像美妆是近几年来深受广大女孩儿群体喜欢的修图功能之一,目前市面中做的比较好的有美妆相机、玩美彩妆、天天P图等APP,当然还有一些PC专用的秀图软件,本文将给大家做个算法初识; 什么是人像美妆?通俗的看个样例图 图,到右边的化妆效果图,就叫做人像美妆。 本人对AI美妆的一些看法...
人像美妆-妆容迁移DEMO
04-18
美妆相机类似的人像自动美妆算法DEMO
人脸美颜算法
热门推荐
studyeboy的专栏
01-14 1万+
人脸美颜算法 美颜的目的就是要让人看起来更美,包括:皮肤细腻、白皙、光滑、脸部各个器官及脸型可以进行细致的调整,通过美妆调节可以叨叨快速上妆的效果。人脸美颜效果,从技术上主要通过四个关键步骤实现。 获取人脸关键点信息 美颜处理依赖于人脸关键点信息,基于这些关键点,可以精确的知道脸部各个器官的位置信息,从而进行美化处理。 人脸关键点基本信息主要包括眉毛、眼睛、嘴巴、脸部外轮廓等关键点。 基于检测的关键点对脸部关键点进行稠密化处理,插入额外的关键点,如额头区域和脸部外围限制区域,使其能够覆盖整个脸部区域。
美颜sdk人脸美妆代码分析、算法流程
q1031691172的博客
01-04 637
人脸检测,特征点识别,这一步骤主要通过人脸检测、人脸对齐等技术来获得N个特征点。接下来基于人脸特征点,将模板变形,对齐到人脸五官区域。其中,变相算法有很多,包含仿射变化,IDW变换,MLS变换,RMLS变换等。最后将模板与人脸五官图像进行融合,融合算法主要有alpha融合,Photoshop图层混合,泊松融合等。由于篇幅原因,关于变换融合,就不再一一展开了。美颜sdk人像美妆是非常重要的一个功能,目前深受广大用户喜爱,本篇文章小编将为大家讲解一下美颜sdk人像美妆功能的代码以及算法实现流程。
人脸美妆之唇色检测算法研究
Trent1985的专栏
08-27 1万+
人脸美妆之唇色检测算法研究目前,随着人脸检测识别技术的日趋成熟,人脸美化技术的竞争也愈演愈烈,诸如移动设备应用类中的美咖相机,美图秀秀,Perfect 365,天天P图等等,这些应用无疑都在给人们的感官生活带来新的乐趣与新的体验,今天,我在这里给大家介绍一下,这些人脸美妆技术中一个必不可少的内容—-唇彩唇彩实现分为以下几个步骤: - 嘴唇粗略检测 - 嘴唇精确检测 - 嘴唇涂色嘴唇粗略检测
图像视频滤镜与人像美颜美妆算法详解.docx
最新发布
09-13
"图像视频滤镜与人像美颜美妆算法详解" 本文将详细探讨图像视频滤镜与人像美颜美妆算法的重要性及其应用和发展趋势。 一、图像视频滤镜的重要性 图像视频滤镜在拍摄和制作过程中发挥着重要的作用。通过使用滤镜,...
基于Android PaddleSeg 的 MODNet 算法实现人像抠图【100012538】
05-31
人像抠图Demo中,默认会载入一张人像图像,并会在图像下方给出CPU的预测结果和预测时延;在人像抠图Demo中,你还可以通过右上角的"打开本地相册"和"打开摄像头拍照"按钮分别从相册或相机中加载测试图像然后进行...
demo.rar_DEMO_demo算法_人像识别_人像识别算法_多面部人像识别
09-21
本DEMO“demo.rar_DEMO_demo算法_人像识别_人像识别算法_多面部人像识别”提供了一个基于谷歌算法的开源实现,让我们深入探讨这个领域的关键技术和应用。 首先,人像识别技术主要分为两个阶段:人脸检测和人脸识别...
Lutify unity3d后期特效 屏幕特效 ImageEffect
05-02
Lutify unity3d后处理特效
C++ 实现美颜(脸部上妆)(BeautyGAN)
juebai123的博客
09-17 2495
在《一键上妆的BeautyGAN》一文中介绍了,BeautyGAN 的 实现功能:输入两张人脸图片,一张无妆,一张有妆,模型输出换妆之后的结果,即一张上妆图和一张卸妆图。 并在《https://github.com/Honlan/BeautyGAN》中有训练好的模型下载。这里也来试试。 python 复现结果: 输入图: 结果图: 我们只关注生成器部分: 这个生成...
3DAI--AR与美妆
weixin_43883929的博客
01-14 435
根据ABI Research的预测:到2022年,全球将有超过12万家商店使用AR智能来帮助其开展业务。而更早到来的是,到2020年,电子商务收入的3%将直接由AR产生(相当于全球1220亿美元的收入)。 在人工智能科技的冲击下,消费者对于购物的体验在不断地变化。如今,很多美妆厂商希望通过AI+数字零售技术,继续创造差异化的店内体验。 新零售和AR并不是今年才出现的,马云在2016年杭州的云栖大会...
python + opencv + dlib 实现实时唇色变换 | 虚拟上妆
zero的博客
07-22 1155
点击下方“AI算法与图像处理”,一起进步! 重磅干货,第一时间送达 代码:https://github.com/ai-coodinator/lipstick大家好,今天跟大家分享一个利用...
深度学习AI美颜系列---AI美颜磨皮算法
Trent1985的专栏
11-28 8253
这里先放两张对比结果图,原图来自网络: 算法的流程如下: 1,皮肤分割算法; 目前主流的语义分割等都可以实现,准确度要求较高。本人使用U-net和PSPNet。 2,人脸关键点识别算法; 这一步可以使用商汤/Face++/虹软人脸SDK,这里使用的是虹软101点人脸SDK。 也可以自己训练人脸SDK,推荐使用mtcnn或者opencv人脸检测+cnn关键点网络; 3,基于皮肤...
美图秀秀专利---偏色检测算法研究
Trent1985的专栏
08-31 4280
本文将实现美图秀秀于2015年公布的一篇图像处理专利:一种基于颜色空间的偏色检测 方法。 这个专利的下载地址:http://pan.baidu.com/s/1eQIuPgQ 专利公布号为 CN104766348 A 专利中算法部分介绍的非常详细,主要过程如下: 整个过程非常简单,这里直接给出完整C代码: int RGB2YIQ(unsigne
图像美妆算法---自动祛斑算法研究
Trent1985的专栏
09-09 6892
目前,市面上有不少的人脸美妆软件,大多数也都有自动去除皮肤斑点痘痘的功能,网上对于手动祛斑的算法已有了相关实现,但是,自动祛斑的算法却少之又少,今天,在这里我简单讲一下这方面的开发经验。 对于自动祛斑,首先是建立在肤色基础之上的,这个我们必须搞清楚,我们的祛斑是去除的皮肤上的斑点和痘痘。 要实现自动祛斑,步骤如下: 1,斑点自动检测; 2,斑点去除; 对于斑点自动检测
MugLife静态照片变3D动画算法研究
Trent1985的专栏
03-09 6773
MugLife app是一款可以将静态照片变成3D动画的手机应用,如下效果图所示:大家可以看到,这个静态图具有了类3D的动画特效,是不是很好玩?这种算法是如何实现的呢?这里给出一篇论文“Bringing Portraits to Life”Siggraph Asia 2017这篇论文就是通过二维图像算法实现静态图的3D动画效果的。下面我们来讲解一下具体的算法实现过程:首先根据一段视频,将目标静态...
人像美颜美妆算法入门必备
Trent1985的专栏
07-19 4929
在CSDN多年,也积累了不少感悟,2018年本人与电子工业出版社约书一本《图像视频滤镜与人像美颜美妆算法详解》,该书已正式上市,从传统方法开始,系统讲述调色、滤波、变形等图像算法,引申到人像美颜美妆算法,最后扩展到基于深度学习的AI滤镜及美颜方向。在此做一些简单的推荐。 推荐1:对于人像美颜美妆相关的行业,如各大手机厂商、图像/视频/直播类app、SDK厂家等,都有相当一部分的算法研究人员需求,然而,市场上对应的专业算法书籍基本空白,本书将努力填补这一空白,全书系统介绍...
图像视频滤镜与人像美颜美妆算法详解.pdf
09-10
### 回答1: 《图像视频滤镜与人像美颜美妆...总之,该文档详细介绍了图像视频滤镜与人像美颜美妆算法,包括原理、技术背景、算法实现和实验结果等内容,对于对图像处理和美化有兴趣的读者来说,是一份很有价值的资料。
写文章

热门文章

  • Vulkan 与 OpenGL 对比 9696
  • 一欧元滤波器(OneEuroFilter) 6452
  • SadTalker: Learning Realistic 3D Motion Coefficients for Stylized Audio-Driven Single Image Talking 4684
  • Android 使用模拟器模拟Linux操作系统 4259
  • 在x86机器上的Docker运行arm64容器 4137

分类专栏

  • 其他 17篇
  • 语音驱动说话人 8篇
  • OpenGLES 8篇
  • 人脸重演 4篇
  • 人脸关键点检测 7篇

最新评论

  • 一欧元滤波器(OneEuroFilter)

    CatCatDogDog2030: “有误” 也不直接指出哪里错误呀

  • Win端交叉编译鸿蒙Ohos Native层第三方库流程

    2301_77888455: 大佬第三方库目录应该在项目目录的哪个位置

  • 人脸及人脸关键点检测开源项目调研

    有头驴子: 怎么好几个遮住了嘴部还有嘴巴的特征点

  • 人脸及人脸关键点检测开源项目调研

    啸195: 3.2.2 insightface开源106点 insightface安装:https://github.com/deepinsight/insightface/tree/master/python-package 官方Demo(106点): https://github.com/deepinsight/insightface/tree/master/alignment/coordinate_reg 评价: 当人脸检测缩放尺度设置为130x130时,人脸检测+ 耗时在30ms以内,准确度很高,点位存在较小的抖动,对侧脸抬头仰头等较为鲁棒。 ———————————————— 130*130是指的什么尺寸

  • 在x86机器上的Docker运行arm64容器

    2301_80842084: 还是报错WARNING: The requested image's platform (linux/arm64/v8) does not match the detected host platform (linux/amd64/v4) and no specific platform was requested

最新文章

  • 手写签名检测调研
  • Win端交叉编译鸿蒙Ohos Native层第三方库流程
  • EMO: Emote Portrait Alive 译文
2024年4篇
2023年41篇
2022年2篇
2021年10篇
2020年1篇

目录

目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值

玻璃钢生产厂家设计玻璃钢雕塑哪家专业长寿玻璃钢人物雕塑儋州玻璃钢雕塑设计聊城景区玻璃钢雕塑厂家江苏中庭商场美陈市场报价闵行玻璃钢雕塑工程不锈钢景观玻璃钢彩绘雕塑小品玻璃钢宇航员雕塑嘉兴玻璃钢造型雕塑日照园林玻璃钢雕塑安装菏泽制作玻璃钢雕塑报价多少钱泸州玻璃钢雕塑摆件施工服务商场美陈如何选择衢州创意玻璃钢雕塑哪家便宜济宁玻璃钢雕塑雕花南宁环保玻璃钢雕塑销售电话吉安佛像玻璃钢雕塑设计陕西商场节庆美陈雕塑定制阿克苏玻璃钢雕塑温州商场美陈采购黄山商场中庭美陈北京装饰商场美陈生产公司河源玻璃钢革命人物雕塑品牌广东玻璃钢造型雕塑浙江校园玻璃钢雕塑安阳锻铜玻璃钢景观雕塑制造芜湖玻璃钢雕塑加工厂玻璃钢浮雕镂空雕塑报价潮汕玻璃钢金色骆驼雕塑西藏园林玻璃钢雕塑订制香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化