这次接着给大家带来人脸图像相关的分享。本次我们的分享是为大家所熟悉的人脸美颜算法,内容将从以下三个方面给大家进行分享:

首先,我们会给大家介绍一下人脸美颜到底包含哪些内容?人脸美颜算法包含的内容非常的多,从我们所熟悉的磨皮祛斑算法,到大眼瘦脸算法,到美唇美发,到我们没有那么熟悉的妆容迁移算法,它包含的内容非常的多。

其次,我们会对前面的这一些算法所涉及的核心技术给大家做一个简单的介绍。主要包括图像滤波的技术、图像变形的技术、图像分割等技术。

最后,我们会对整体的美颜做一个简单的总结。

下面开始我们正式的分享内容。

我们以腾讯出品的天天P图这样的一个大家广泛使用的一个图像后处理软件来给大家做展示,如下面两幅图:

图1

图2

天天P图它包含了非常多的美容美妆的操作,我们可以看到从皮肤脸型等全局的操作,到眼睛眼皮睫毛嘴唇等局部的操作以及到头发等非常复杂的人脸图像的操作等,都已经被产品广泛的支持。

图1展示的是一个美容的菜单,我们可以看到它主要包含了以下几个内容;首先以磨皮美肤祛斑,这是与图像滤波相关的一个算法;然后是五官重塑,瘦脸瘦身,这是与图像的几何变形操作有关的一些算法;当然它还包括了一些淡化笔、美肤笔等等一些算法,也是美容的操作。

我们再看看美妆的操作,如图2。如果大家听过我以前的一个分享系列内容叫做Caffe图像分割实战,大家应该还记得,像唇彩染发这样的两个功能,背后都是图像分割技术在进行支持。当然还包括了一些其他的眉毛粉底睫毛等等一些算法就不再一一介绍。

下面我们首先从美颜的磨皮算法的核心技术来给大家进行介绍:

磨皮的算法现在主要有两种思路:

第一种思路是高反差保留的磨皮算法,就是来自于国外的一个工程师的算法。它的特点是图像的细节保留的比较好,真实感比较强。所以它带来的缺点就是当皮肤的瑕疵非常多的时候,算法没有那么强,它无法磨得非常干净。

这一类算法在国内以美颜相机等为代表,所以这一类算法它追求的是一个真实性。

第二种思路是以保边滤波器为代表的磨皮算法。它的特点是皮肤可以磨的非常的平滑,非常的干净,但是它带来的缺点就是无法保留真实感。也就是说很多的时候经过磨皮之后的图片看起来非常的假、不自然,

这个算法以B612、Face U等APP为代表。

我们以第二种算法,也就是滤波器的算法,来给大家做一个详细的原理介绍:

我们选择的滤波算法是双边滤波器。双边滤波器是在图像降噪领域以及图像滤波领域非常非常广泛使用的一个方法。

假设我们的输入的美颜的图是f,美颜后的图也就是我们的输出图是g,σr、σd分别是灰度和空间域的一个控制参数。

首先,我们求出灰度域的一个权值矩阵r,它是基于像素值f(i,j)、f(k,l)来进行计算。

然后,我们计算空间域的一个权值参数d,它就是以像素的具体的坐标i,k,j,l来进行计算。

得到了这两个权值矩阵之后,我们把这两个权值矩阵相乘,就得到了我们最终的一个权值矩阵w。

得到最终的权值矩阵之后,我们就可以进行加权平均,得到了我们最后的一个结果g。?

双边滤波器算法它的特点是它形式比较简单,而且,它能够在获得比较好的滤波结果的同时,还能够保持边缘的锐化。

第二部分我们给大家介绍塑形相关的算法,塑形相关的算法主要用于大眼瘦以及脸型的变化,甚至可以拉伸腿等等,这与ps里面的液化工具相似。

塑形算法主要也包含两个方面:

第一个是液化算法。这是一个比较经典的Interactive Image warping,这是来自于国外的一个硕士论文。

第二个是Moving Least Squares算法。这是基于关键点加上最小二乘法约束的一个算法。

再介绍具体的算法之前,我们可以先看一个演示。

这是来自于最新版的photoshop的一个液化工具,它已经实现了基于人脸识别的一个智能液化。

下面我们对Moving Least Squares算法做具体的介绍。这个算法的核心思想是:首先我们获取到原始图像中的一些关键点,然后我们定义的目标同样的一种关键点,它要做的就是求取一个相似变换。

就是下面这样的一个式子,它最终的目标是最小化这样的一个重建误差,这就是这个算法的核心。

我们可以看一下这个算法的结果的演示,可以看到算法的变形是非常的平滑。

第三部分是美妆算法。所谓美妆算法就是我们前面说的唇彩以及美发的算法,它背后就是语义分割的技术。语义分割现在主流是以CNN等深度学习算法为代表,辅以CRF这样的一个后处理操作。其次在我们分割完,也就是得到嘴唇和美发等区域之后,我们还要做一些简单的图像融合,以便使我们应用这些美妆算法之后,效果看起来更加自然,例如可以采用泊松融合等等一些同样融合的算法。

上面这个图是来自于谷歌的一个face parsing项目,也就是人脸各区域的一个分割的项目。我们可以看到他已经将人脸面部的各个区域都都进行了很精细的语义上的标注。目前最好的方法已经可以实现对这些区域进行实时的高精度的分割。这样的技术是美妆算法背后的支撑。

最后我们给大家介绍一下妆容迁移的算法。何为妆容迁移?我们首先看一张图:

图中上面这样一张图是我们要对它应用算法的图。下面这张图是我们的参考图。那么所谓的妆容迁移,就是说要把下面这样一张图的化妆的风格迁移到上面这样一张图。

这是以深度学习为代表的一个框架。我们可以看到它的流程就是首先我们要对两幅图各自做一个语义上的parsing,也就是图像分割操作。得到图像分割操作的结果之后,我们会对人脸上的各个区域来进行重建,对结构进行一个保持,会定义一个智能的loss,然后进行融合,得到我们最终的结果。

大家如果对技术细节非常感兴趣,可以去参考这篇文章:

Liu S, Ou X, Qian R, et al. Makeup like a superstar: deep localized makeup transfer network[C]// International Joint Conference on Artificial Intelligence. AAAI Press, 2016:2568-2575.

最后我们对整体的美颜算法做一个简单的总结:

a.美颜算法内容非常丰富。我们前面可以看到对于人脸的各个区域,从眼睛睫毛鼻子嘴巴到发型到脸型等等都已经有各种各样的丰富的美颜操作。

b.传统方法应用非常广泛。我们前面可以看到美颜算法它现在仍然有非常非常多的传统的方法在其中进行应用,甚至在很多的领域、在很多的方面,传统方法都要优于现在的深度学习的方法。

c.现在深度学习方法快速的发展。我们在前面给大家展示的最后的一个应用,就是妆容迁移,这是一个智能妆容迁移的一个技术,它就利用到了深度学习的方法,来对各个子区域进行一个智能的妆容迁移。包括前面我们给大家展示的一个液化算法,它也是photoshop在人脸识别这样的一个基础上,建立的对人脸的各个区域进行智能的液化的操作。

关于美颜算法,这里的分享只是一部分,实际上还包含了非常非常多的算法,大家如果对算法非常感兴趣,可以去线下搜集相关的资料,背后的一些具体的技术细节,大家都可以去留意。

感谢您的阅读,更多精彩尽在蜂口小程序~了解一下?
获取免费内容,欢迎V信fengkou-IT勾搭~

【蜂口 | AI人工智能】人脸美颜——龙鹏 深度学习与人脸图像应用连载(八)相关推荐

  1. 【蜂口 | AI人工智能】人脸美颜——龙鹏 深度学习与人脸图像应用连载(八)...

    这次接着给大家带来人脸图像相关的分享. 本次我们的分享是为大家所熟悉的人脸美颜算法, 内容将从以下三个方面给大家进行分享: 首先,我们会给大家介绍一下人 脸美颜 到底包含哪些内容? 人 脸 美颜算法包 ...

  2. 【蜂口 | AI人工智能】人脸颜值——龙鹏 深度学习与人脸图像应用连载(五)

    这次继续给大家带来人脸图像相关的分享.本次的分享主题是人脸的颜值.这次的分享将从三个方面: 首先,我们对人脸的颜值,包括对它的定义和量化标准做一个简单的介绍. 其次,我们对颜值相关的特征,主要是面部的 ...

  3. 【蜂口 | AI人工智能】三维人脸重建——龙鹏 深度学习与人脸图像应用连载(十)

    本次我们的分享是三维人脸重建问题,我们将从以下几个方面给大家进行分享: 首先,我们对三维人脸重建做一个通用的介绍,并对它的常见的方进行比较详细的介绍. 其次,我们对当前的三维人脸重建中最常用的一个模型 ...

  4. 【蜂口 | AI人工智能】三维人脸重建——龙鹏 深度学习与人脸图像应用连载(十)...

    本次我们的分享是三维人脸重建问题, 我们将从以下几个方面给大家进行分享: 首先,我们对三维人脸重建做一个通用的介绍,并 对它的常见的方进行 比较详细的介绍. 其次,我们对当前的三维人脸重建中最常用的一 ...

  5. 【蜂口 | AI人工智能】人脸颜值——龙鹏 深度学习与人脸图像应用连载(五)...

    这次继续给大家带来人脸图像相关的分享. 本次的分享主题是 人脸 的颜值. 这次的分享将从三个方面: 首先,我们对 人脸 的颜值,包括 对它的定义和量化标准做一个简单的介绍. 其次,我们对 颜值 相关的 ...

  6. 【蜂口 | AI人工智能】表情识别——龙鹏 深度学习与人脸图像应用连载(七)...

    [文章首发于蜂口知道公众号,内容来源于蜂口小程序,欢迎关注了解~] 作者:龙鹏,前360AI研究员算法工程师,现任陌陌深度学习实验室高级算法工程师. 本次继续给大家 带来的是表情识别这个问题. 我们将 ...

  7. 【蜂口 | AI人工智能】性别脸型分类——龙鹏 深度学习与人脸图像应用连载(四)

    本系列文章皆首发于蜂口知道公众号~内容来源:蜂口小程序,欢迎关注了解 大家好,我是龙鹏.这次继续给大家带来人脸图像相关的分享. 这次我们的分享是人脸的性别和脸型分类问题, 我们主要会从两个方面给大家进 ...

  8. 【蜂口 | AI人工智能】性别脸型分类——龙鹏 深度学习与人脸图像应用连载(四)...

    大家好,我是龙鹏.这次继续给大家带来人脸图像相关的分享. 这次我们的分享是人脸的性别和脸型 分类 问题, 我们主要会从两个方面给大家进行介绍: 1)我们会对图像分类这一基本问题给大家做一个比较完整的介 ...

  9. 《820事件:钻哥对AI人工智能下重手!!!》(Yanlz+AI+人工智能+元宇宙+Python+神经网络+深度学习+语言识别+NFT+VR+AR+MR+XR+虚拟现实+AI2026立钻哥哥++==)

    版本 作者 参与者 完成日期 备注 AI_Start_V01_1.0 严立钻 2022.08.20 #<820事件:钻哥对AI人工智能下重手!!!>发布说明: ++++"820事 ...

最新文章

  1. sj 网页前端与后台数据交互的3种方式
  2. asp.net mvc fckeditor全攻略(补充:Controller中传值的问题)
  3. C++ 判断某个变量是某一种类型
  4. RandomAccessFile r rw rws rwd之间的区别
  5. 2 原生Zookeeper 实现分布式锁
  6. class没有发布到tomcat_Java 类在 Tomcat 中是如何加载的?
  7. linux kernel_thread执行过程
  8. cakephp 1.3 Views
  9. maven报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:x.x.x:test
  10. oracle中修改数据库实例监听的ip和端口
  11. java jdom追加节点_java-使用xpath和jdom选择一个节点
  12. 下载地址url中带有中文是url转换方法
  13. 蝶形算法(Butterfly Algorithm)未更完
  14. python 温度 符号_python中如何将华氏温度转换为摄氏温度?
  15. 如何修改Word文字的行间距
  16. 考研数学一二三区别 什么专业考研不考数学
  17. csr_matrix矩阵
  18. win7上安装microsoft edge浏览器, 模拟ie11模式
  19. 计算机教师职业幸福感,教师的职业幸福感作文
  20. 线性代数学习笔记——第七讲——分块矩阵(干货满满的感觉)

热门文章

  1. Spring框架两大核心特征的基本理解
  2. 预测分析:R语言实现2.4 评估线性回归模型
  3. js写给定k个字符串数组,从这k个数组中任意取一个字符串,按顺序拼接,列出所有可能的字符串组合。(不要使用库方法)
  4. OSChina 周四乱弹 ——一周五天在诈尸
  5. 【学习笔记】NOIP爆零赛8
  6. 用Origin找两曲线的交点
  7. 百度OCR java-SDK做图文识别
  8. 最高百万年薪,全国多家知名互联网/游戏公司热招 Cocos 人才丨9月岗位
  9. 太极图正确画法_道教知识:太极图的正确画法
  10. 这次把怎么做好一个PPT讲清-其他技巧篇