人像变老技术可以把一张小孩子的照片或者年轻人的照片转换为变老以后的样子,目前市面上已有相应的应用,这里本人先放两张效果,然后分析算法:
这个效果是本人算法的效果,现在我们来分析一下人像变老的技术情况。
人像变老算法很早之前就有学者研究,论文举例如下:
PAMI 2010 A Compositional and Dynamic Model for Face Aging
ICCV 2015 Personalized Age Progression With Aging Dictionary
CVPR 2016 Recurrent Face Aging
2017 CVPR Age Progression/Regression by Conditional Adversarial Autoencoder
论文思路可以概括为:
图片上传——人脸检测——特征点定位——局部区域分割——准备样本训练——得出某种年龄下共有特征的平均脸模型——然后和需预测人的照片进行融合或某种加权——合成该预测人的某年龄段老年照片或幼年照片;
上述的方法实现起来都是比较复杂的,这里本文介绍一种简单的方法,来娱乐一下:
1,准备一张正脸老奶奶的模版和一张正脸老大爷的模版,模版的准备要突出人脸的皱纹,皮肤的松弛以及皮肤的颜色老化这三个特征;
举例如下图所示:
2,假设原图为S,模版为M,我们要输出的效果图为D;
3,使用Makeup transfer技术将M的人脸区域迁移到S中对应人脸的位置,得到图E
这里需要进行的算法步骤如下:
①人脸变形,可以使用MLS最小二乘变形,或者其他变形算法;
通过变形将S和M的点位对齐;
这里给出最小二乘MLS变形连接:点击打开链接
②人脸肤色融合
可以使用gamma矫正,或者color transfer技术来实现;
将M中的皱纹与皮肤颜色信息很好的融合到S中去;
③妆容迁移
将M中的人脸区域当作妆容迁移到S中的人脸区域中;
妆容迁移技术可参考本文前面博客:点击打开链接
4,上述1-3步骤得到图E可以理解为换脸的过程,换脸之后我们需要把S中用户的五官显露出来,因此,根据S的五官位置,将S和E做融合,得到具有老年皱纹和皮肤松弛度以及老化颜色的效果图F;
5,对F做变形,根据老年人的平均脸将F变形得到G;
G图就是最后的年老照片,为了更加真实,我们将G进行一些调色,使他的皮肤,头发颜色更加显老,调色方法是将整体色调饱和度降低,颜色偏灰度;
上述步骤就是本文算法的步骤,对于步骤5实际上可以并入步骤3,在选取模板的时候直接根据模板的人脸五官形状进行一定的变形,这样人脸就效果就更加真实;
对于换脸的过程,大家可以参考天天P图的疯狂换脸,这里本人给出本人的效果图与天天P图效果图的对比:
(a)本人效果 (b)天天P图效果
上述使用相同的模版图得到;
好了,方法介绍完了,上述仅为个人观点,图片来自网络,侵权敬请告知,QQ1358009172