怎么给照片加眼镜(一):UV空间融合法

一、背景
给人脸图像加眼镜在很多领域都有应用。比如修图换造型、眼镜店眼镜试戴、戴眼镜人脸识别等。
给人脸加眼镜的难点在于难以做到自然逼真,且人脸多种多样,角度多变,还存在饰物、头发等遮挡等。
目前主流的技术包括:直接贴图、3D模型匹配合成、GAN(生成对抗网络)等技术。
本文要介绍另外一种UV空间融合的方法,结合了直接贴图与3D模型生成的优点。该方法在京东faceX-zoo中用来给人脸及口罩,受其启发,我们尝试用来给人脸加眼镜。
请添加图片描述

二、UV空间融合法

其示意图如下:
请添加图片描述
整体步骤如下:
(1)人脸检测与关键点:对参考glasses face 图片进行face detect, 并得到key landmark points
(2)人脸对齐抠图。
(3)使用3D人脸重建技术建模3维人脸模型,本文使用prnet方法进行3维人脸重建,得到3D人脸的UV纹理图。
(4)在PS中,使用索套工具将(b)中的眼镜抠下来得到眼镜纹理图(c)。
(5)对不带眼镜的图片重复上述(1-3)步骤。
(6)将(c)(e) 两幅UV纹理图进行融合,眼镜纹理图为4通道(RGBA),alpha通道作为融合因子。
(7)进融合后的纹理图及3D人脸模型投影render到2维,即可得到带眼镜的人脸。

为了丰富眼镜的多样性,我们获得了多张眼镜UVmap图像
请添加图片描述

对另一人脸数据集进行加眼镜操作:
原图:
请添加图片描述
加眼镜后:
请添加图片描述
对于大角度人脸,依然有不错的匹配效果。
请添加图片描述
三、总结与不足
基于UV空间融合法的方法作为一种快速且易实施的加眼镜的方式,可以获得基本的戴眼镜效果。其优缺点都很明显。
优点:基于3维人脸重建,可自适应不同角度的人脸;眼镜素材丰富且获得简单;不需要复杂的渲染即可得到眼镜反光、半透视、有色眼镜等特效;能很好的保持原图的人物面部属性。
缺点:人脸yaw角度稍大效果欠佳。眼镜像是涂在皮肤上的感觉,缺乏立体感。因为眼镜图片是基于单张正脸图片抠出来的,眼镜腿等细节部分存在缺失。

四、参考
https://github.com/JDAI-CV/FaceX-Zoo
https://github.com/YadiraF/PRNet
https://github.com/YadiraF/face3d

声明:本文中图片素材来源于公开人脸数据集celebA 和 ms1m,若有侵权,请告知删除。

获取更多该方法技术细节,可以
欢迎关注微信公众号 opencv520,获取CV前沿动态
请添加图片描述
opencv520专注于机器视觉领域知识,包括但不限于:相机成像、双摄全景深度相机、图像处理、相机标定、双目视觉、3D视觉、3维重建、机器学习、深度学习、人脸检测识别、GAN、自动驾驶、智能驾舱、机器人等领域。分享基础知识,传递前沿动态。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值