人脸口罩数据有多种场景应用:是否佩戴口罩,口罩佩戴是否规范,口罩人脸识别等等。
所以人脸口罩数据制作非常重要。学会口罩数据制作,要多少有多少。
本文主要介绍其中两种方法,并实际展示贴合效果。
1:2D贴合:计算关键点,pose,然后将口罩warp到对应区域。适应场合:正脸或者小角度pose
2:3D贴合:主要是使用3dmm,具体见上篇博文。适应场合:各种pose,同时支持自定义口罩大小(比如全带,半带等)
2D贴合效果图:
1:多人脸+不同口罩类型+不同颜色+不同纹理
2:不同pose人脸口罩贴合
3D贴合效果图:全带
3D贴合效果图:半带
方案1:2D口罩贴合
参考文献:Masked Face Recognition for Secure Authentication
原理流程:
1:开源人脸关键点检测 2:估计mask 口罩关键点位置 3:估计人脸倾斜角度 4:基于人脸倾斜角度,选择合适的mask模板 5:根据估计的mask口罩关键点,对选择的模板口罩进行warp变换 6:根据关键点进行口罩贴合覆盖,并适当调整亮度
代码地址:
https://github.com/aqeelanwar/MaskTheFace
代码缺点:
1:不能批量调整贴合
2:一张图中有多个人脸时,只能运用一个口罩模板
针对其不足,我做了适当的修改与调整。代码稍后上传.
方案2:3dmm
参考:insightface提供的工具
代码:参考博文:https://blog.csdn.net/lilai619/article/details/116756334?spm=1001.2014.3001.5501进行安装