一种具有细节保留功能的磨皮算法。

     算法最近更新时间: 2014.7.19,  效果详见:http://files.cnblogs.com/Imageshop/FaceBeautification.rar

     话说女人的钱最好赚,所以现在各大流行的图像编辑小软件基本上都有个磨皮的功能,这对那些脸上不小心长了小痘痘或者小斑点的美眉来说是在上传照片前的必要和必须步骤。加上现在自恋的人特多,没事有事来个自拍,然后挂到网上炫一把,当然也得把自己的皮肤处理好。 因此啊,国内出了不少这方面的软件,比如美图、可牛、美颜相机、美人相机、Camera360等加入了这个功能,当然还有很多小的手机软件业附带了此项目。

      不过在网络上找寻磨皮方面的算法时,能找到的有用的信息是非常少的,估计这于该算法具有较大的实用和经济价值不无关系,本人经过一番研究,也搞出了一个磨皮的功能,这里就能共享的一些技巧说来给有需要的朋友听听。

  1、磨皮算法的核心: 磨皮可以看成是去噪算法的应用。典型的去噪算法,比如均值模糊、高斯模糊、中值滤波都有很好的去噪效果,但是视觉效果太差。能有效的用于磨皮算法的去噪方式主要是那些能够边缘的算法,典型的比如双边滤波、Non-Local以及BM3D之类的。BM3D据说去噪效果最好。但是后两者到目前为止未看到具有实质意义的快速实现算法,反而是双边滤波,有多篇论文已经提出了可行的加速方案。其实Photoshop中的表面模糊也可以看成是一种双边滤波,因此不少用PS磨皮的过程也大量使用了表面模糊算法的。

      2、头发眼睛等细节部位的保护: 直接使用上述算法得到的结果,针对很多图像会出现头发和眼睛部位的模糊,这种效果对于一个好的磨皮结果来说是不需要的。特别是眼睛,眼睛是心灵的窗口,被模糊了,窗口就不透明了。因此,需要检测出需要磨皮的部分。这个很多人会想到皮肤检测技术。不过我试过了经典的七八种皮肤检测效果,都不能将不同场景的肤色部位全部提取出来。一种方式就是综合好几种肤色检测,取最大区域,这也是一种不错的想法,因为一般的肤色检测速度都是很快的。但是实际的效果表面,这样做对于一些比较极端的图像还是无效的。因此,我采取了一种宁愿错杀一千,也不可放过一个的措施,放松了某一种肤色检测模块里的一些约束条件,使得绝大多数场景下的肤色部分都能够被选中(鉴于某些方面的原因,这个不可详述)。

     3、边缘部分的融合:通过上述保护,得到的保护边缘处是硬边缘,即一个像素时要磨皮的部分,边上的可能就是不需要磨皮的,这样的话处理的效果在视觉会造成一定的僵硬,可能会有某个部分过度不自然,如下图所示(所有图片均来源自网络):

            原图

                       硬边界磨皮

                             软化后磨皮

      一种解决方案就是对得到的硬边界图进行羽化处理,也就是类似高斯模糊之类的算法,这样边缘处就会过渡的较为自然。

    4、处理后的增强:经过这样处理后的图像如果在进行一下边缘的增强,会得到更好的效果,比如在PS磨皮的最后一般喜欢加个USM锐化。

  按照上述思路,编程程序,我实现的磨皮效果如下所示:

                       原图|本文的磨皮效果|美图秀秀效果(智能磨皮,参数深)

    由以上几图可以看出,在磨皮质量基本差不多的情况,本文额磨皮的能尽量的保留了头发和眼睛处的细节,这样更自然。

    在算法实现的速度上,我采用了两种双边滤波,一种速度很快,在PC上如果加入多线程完全可以实现普通摄像头的实时磨皮,但是效果有一点瑕疵。另外一种速度稍慢,效果较为稳定。

      一个示例可以从这里下载: http://files.cnblogs.com/Imageshop/FaceBeautification.rar

************作者: laviewpbt   时间: 2013.8.23    联系QQ:  33184777转载请保留本行信息*************

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏数据派THU

带你用4行代码训练RNN生成文本(附资源)

本文共1400字,建议阅读6分钟。 本文介绍仅需几行代码就能训练出任意大小和复杂度的文本的神经网络文本发生器。

952
来自专栏AI科技评论

开发 | 手工搭建神经网络太费劲?来试试精确度高达94.1%的进化算法

AI科技评论按:阳春三月,辽阔的南美洲大草原上,两只体格强健的雄性美洲豹正在为争夺一只拥有美丽花纹的雌豹,进行着一场血腥而又激烈的较量。它们心里很清楚,成者为王...

34814
来自专栏数据派THU

独家 | 哈佛教授公开R语言源码,教你用R制作gif动图

原文标题:Code for my educational gifs 作者:Rafael Irizarry 翻译:贾琳 本文长度为1800字,建议阅读4分钟 Ra...

1798
来自专栏斑斓

透过文学经典理解软件设计的抽象思想

博尔赫斯(Jorge Luis Borges)有一篇奇文,曰《博闻强记的富内斯》,以纪实手法杜撰了一个具有非凡记忆能力的传奇人物富内斯。博尔赫斯自云:“(《博闻...

1035
来自专栏CSDN技术头条

解读Etsy如何利用热力学帮你找到适合“极客”的东西

Etsy的用户喜爱这个市集,货品丰富且数量繁多。不过对于那些自己也不清楚要找什么的用户来说,东西太多太杂反而更让人困扰。7月份,我们更新了UI界面,将搜索的热门...

1838
来自专栏大数据挖掘DT机器学习

【趣味】数据挖掘(5)—分房与分类

中老年回顾歌曲集中有这样一首歌:月亮在白莲花般的云朵里穿行,晚风吹来一阵阵欢乐的歌声,我们坐在高高的谷堆旁边,听妈妈讲那过去的事情……   歌词美,旋律也美...

2723
来自专栏大数据文摘

脑洞 | 哈佛教授公开R语言源码,教你用R制作gif动图

1362
来自专栏MixLab科技+设计实验室

Pix2Pix与人工智能做设计

设计是一个创造的过程,目前大部分的设计类产品大多是基于模版的,外加一些图像匹配的处理,做出来的设计,缺少创造的成分,更多的是预设的结果。 基于深度学习算法,是否...

4039
来自专栏DT数据侠

他们揉碎了5000本书籍的数据,曝光了畅销书的成功套路

平时的你是否会通过畅销书榜单挑选图书呢?或许书籍畅销不能代表经典,但在某一时期受到大众欢迎,并且销量出色的书籍,总是会有它成功的理由。

830
来自专栏CDA数据分析师

【零一】#操作教程贴#从0开始,教你如何做数据分析#初阶#第三篇

大家好,我是零一。我的公众微信号是start_data,欢迎大家关注。今天接着第一篇的内容,我们继续利用excel来做分析。 首先,回应派友的疑问。 我这系列文...

1816

扫码关注云+社区