现在的位置: 首页 > 综合 > 正文

谈谈自动瘦脸和自动眼睛放大算法

2012年03月26日 ⁄ 综合 ⁄ 共 710字 ⁄ 字号 评论关闭

        目前,手机上各种图片特效的软件应用App盛行,典型的如camare360,美图秀秀,powercalm等。上述图像特效软件最初发布的版本的特效实现基本上是基于调色的技术,在后续发布的版本中有少量的比较好的算法

       不过,最具技术含量的还是虹软的perfect365,perfect365在其发行的第一个版本中就实现人脸五官的定位,并在此基础上实现了自动眼睛放大,自动瘦脸等一些列涉及人脸美化的操作。不过,由于参数选择的不好,其第一个版本实现的这些操作的效果很不自然,尤其是眼睛放大。半年之后,推出的新的版本优化了参数选择,其效果比之前的好了很多。

      其他的软件也不甘示弱,都在其后续发行的版本中纷纷加入了这些功能。但也都经历了与perfect365同样的过程。本来,我以为要实现自动瘦脸,需要准确定位人脸轮廓的,曾经去搞ASM模型。但当我把ASM模型跑起来之后发现相当的耗时,于是放弃了!后来我的实验表明,实现自动瘦脸是没有必要精确定位人脸轮廓的。

       首先,当然需要人脸检测和人眼精确定位。在定位之后,需要做的就是图像的局部放大和局部扭曲算法,这类算法统称为morphing,其最早的参考文献,可以追溯到1993年的一篇博士论文:Interactive Image Warping. 这篇论文当中还提供了伪代码,我的实现就是参考了这篇论文。

      具体实现细节及其参数优化方案,感兴趣的可以和我进一步交流。

      测试图片demo:

     原始图片和经过人脸检测和人眼定位之后:

    

    

   眼睛放大:

   

眼睛放大+瘦脸

   

  另外一张测试图片:

 

 

 

 测试图片来源于网络,如涉及版权问题,请告知!

 

 

 

 

 

 

 

抱歉!评论已关闭.