60年后的你长什么样?人脸老化三大技术探秘

通过计算机视觉技术模拟出人老了的样子,这样的应用实际上并不新奇。这些年,类似的场景可谓层出不穷,有的App可以通过夫妻的样貌预测出孩子的模样,有的App可以通过用户上传的照片还原你小时候的样子和老了之后的样子,甚至还有一些App可以通过一两张照片生成出一段短视频,展示用户一生的样貌变化,让使用的人颇有沧海桑田之感。

而我们这次的“当你老了”项目的着眼点略有不同,强调的是公益和技术的结合,因此我们需要将用户上传的面部照片变成20年,40年和60年后,让用户看到自己满脸皱纹,白发苍苍的样子,进而产生关爱身边老年人的感慨,人人每年公益3小时,共同为公益做出贡献 。

经过将近4周左右的努力,我们初步完成了人脸老化项目的开发,赶在9月5日央视慈善之夜晚会前及时上线。央视公益晚会期间,用户通过扫描电视屏幕上的二维码,进入我们手淘的互动页面(详见图1),选择自己喜欢的照片进行老化。一场晚会下来,许多的用户体验到了自己脸部变老之后的特效。

图1. 手淘“当你老了”项目页面示意图

整个项目中我们遇到了很多的挑战,比如老化模版的选择,脸型的变化趋势问题,肤色的融合问题等等,下面我会把整个人脸老化技术分成几个关键的部分,进行简短的剖析。

1、脸型的老化算法

我们借鉴了一篇2017年最新的利用深度学习进行人脸老化的文章[1],该文章提出了一种叫做conditional adversarial autoencoder (CAAE)的深度网络结构,该结构能够学习出面部的manifold,从而预测出任何一张输入面部图像的全年龄面部图像。该网络的结构示意图如图2所示,该网络学习之后的预测结果示意图如图3所示。

图2. Structure of the proposed CAAE network for age progression/regression. The encoder E maps the input face to a vector z (personality). Concatenating the label l (age) to z, the new latent vector [z, l] is fed to the generator G. Both the encoder and the generator are updated based on the L2 loss between the input and output faces. The discriminator Dz imposes the uniform distribution on z, and the discriminator Dimg forces the output face to be photo-realistic and plausible for a given age label.

图3. Comparison to prior works of face aging. The first column shows input faces, and second column are the best aged faces cited from prior works. The rest columns are our results from both age progression and regression. The red boxes indicate the comparable results to the prior works.

尽管该深度学习网络能够很好的获得全年龄段的输出,但是它存在两个弊端,其一是它训练预测出来的图片和输入人脸差异比较大,不像原始输入;其二是处理速度上该网络速度比较慢,很难适应项目的要求。针对这两点缺点,我们决定只保留该网络的老化脸型的能力,而脸上的纹理,即皱纹部分我们通过传统方法来贴。图4显示了我们通过该网络获得的脸型变老的能力示意图。

图4. 面部脸型变老的示意图,从左到右分别是原图,20年后,40年后,60年后

2、脸部纹理的老化算法

在贴脸部皱纹或者说纹理的过程中,我们采用的是分而治之的办法[2]。即把面部分成许许多多的小三角形,然后将老人模版上对应的三角形贴到相应的输入人脸的三角形上。这样做的好处是每个三角形足够小,利用OpenCV的WarpAffine进行形变贴图时不会出现不自然的现象。当然这样做的前提是,我们已经获得了输入人脸以及模版人脸的所有关键点,同时利用Delaunay Triangulation将所有关键点划分成若干三角形了。关键点和三角形Mesh示意图如图5所示。

图5. 面部关键点示意图,面部三角形化示意图

3. 肤色的融合算法

在完成了人脸的老化脸型变化和贴皱纹的步骤后,我们还缺最后一步,即将老化后的脸完美无瑕地贴回到原始输入图像上去,否则会显得老化很不自然。这里我们采用了一个非常经典地融合算法,即Poisson Image Editing[3],它是通过保留剃度的方式使贴过来的图像能够无缝地融入背景图像。这里我们利用了OpenCV3.2里面提供的SeamlessClone这样一个函数,可以比较方便地实现前后景融合。肤色和纹理的融合示意图如图6所示。

图6. 从左到右依次为原始图像,老人模版贴入相应三角形,SeamlessClone之后的融合结果

4. 项目小结

在脸型,皱纹,肤色的老化之外,我们还尝试了头发的变白等算法,篇幅有限,就不在此赘述了。最后贴几张我们认为效果还是不错的人脸老化结果作为结尾。

图7. 效果示意图

Reference

[1] Zhifei Zhang, Yang Song, and Hairong Qi. "Age Progression/Regression by Conditional Adversarial Autoencoder." IEEE Conference on Computer Vision and Pattern Recognition (CVPR), 2017.

[2] Face Morph Using OpenCV — C++ / Python,http://www.learnopencv.com/face-morph-using-opencv-cpp-python/

[3] Poisson Image Editing,http://www.ctralie.com/Teaching/PoissonImageEditing/.

原文链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,732评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,496评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,264评论 0 338
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,807评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,806评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,675评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,029评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,683评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 41,704评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,666评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,773评论 1 332
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,413评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,016评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,978评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,204评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,083评论 2 350
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,503评论 2 343

推荐阅读更多精彩内容