人脸检测之给照片加上眼镜

人脸检测


文章目录


一、背景

给人脸图像加眼镜在很多领域都有应用。比如修图换造型、眼镜店眼镜试戴、戴眼镜人脸识别等。

给人脸加眼镜的难点在于难以做到自然逼真,且人脸多种多样,角度多变,还存在饰物、头发等遮挡等。

目前主流的技术包括:直接贴图、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

相关推荐
Evand J9 小时前
【MATLAB例程,图像降噪滤波9】自适应维纳滑动窗口滤波(Wiener)图像降噪、方法对比,有中文注释
开发语言·图像处理·计算机视觉·matlab·滑动窗口·滤波·降噪
小蒋观天下9 小时前
社区AI智能摄像头完整选型指南
大数据·人工智能·安全·计算机视觉·语音识别·ai大模型
YOLO数据集集合14 小时前
天空反无人机检测数据集 | 无人机检测 多旋翼识别 固定翼识别 低空安防 目标检测9063期
人工智能·yolo·目标检测·计算机视觉·无人机·反无人机
深度学习lover16 小时前
<数据集>蚜虫识别<目标检测>
人工智能·深度学习·yolo·目标检测·计算机视觉·蚜虫识别
程序猿编码17 小时前
纯C++轻量计算机视觉推理引擎:基于GGML的端侧CV模型部署技术全解析
开发语言·c++·计算机视觉·大模型·transformer
大熊背19 小时前
一种用于随机值脉冲噪声的检测统计量
图像处理·opencv·计算机视觉
欧特克_Glodon19 小时前
OpenCV计算机视觉开发入门与实践<三十八>:图像添加数字水印
c++·人工智能·opencv·计算机视觉
jay神20 小时前
【计算机毕业设计项目】基于 YOLO + ArcFace 的人脸识别检测系统
人工智能·深度学习·计算机视觉·毕业设计·课程设计·计算机毕业设计
欧特克_Glodon20 小时前
OpenCV计算机视觉开发入门与实践<四十>:自动识别物体数量
c++·人工智能·opencv·计算机视觉
乐迪信息20 小时前
航道船舶逆行AI识别,港口安全智能告警系统
大数据·前端·人工智能·安全·计算机视觉·音视频