目录 导语 3D人脸基础知识 初识3D人脸 相机模型 3D相机 3D人脸数据 3D人脸相关任务 常见Pipeline 3D人脸识别 3D人脸重建 总结 导语 随着深度学习技术的推进,人脸相关任务研究也跃升为学界和业界的热点 相较于许许多多的 2D 人脸相关任务入门文献/综述文章,3D 人脸的入门知识却乏善可陈。本文将梳理和介绍 3D 人脸相关基础知识,同时总结一些 3D 人脸识别和重建的基础入门文献。 3D人脸基础知识 初识3D人脸 2D/2.5D/3D 人脸 一般所讲的 RGB、灰度、红外人脸图像即为 2D 人脸,它们多为某一视角下表征颜色或纹理的图像,没有空间信息。 相较于 2D 人脸,3D 人脸数据携带的信息量更多。但由于 3D 人脸数据获取比较难且有些人脸数据精度不够,导致 3D 人脸识别的发展并不是很火热。 总结 本文介绍了 3D 人脸技术的入门知识,包括 3D 基础知识如相机模型、3D 相机工作原理、3D 人脸数据处理等,同时也总结了 3D 人脸识别/重建的相关方法,希望抛砖引玉,并对入门 3D 人脸起到帮助
为此,我们从一个初始的3D人脸形状开始,根据输入的2D人脸图像中的一些带注释的标志点和离线学习的一系列回归函数逐步调整它。 由于图像数据是三维人脸的二维投影,因此产生的深度模糊使问题不适定。 大多数现有的方法依赖于从有限的3D人脸扫描构建的数据驱动先验。 最新的方法通常旨在学习基于CNN的3D人脸模型,该模型从2D图像中回归3D可变形模型(3DMM)的系数,以呈现3D人脸重建或稠密的人脸对齐。 使用这四种自监督方案,2DASL方法显著地减轻了对传统的成对2D-to-3D注释的要求,并且在不需要任何额外3D注释的情况下,给出了更高质量的3D人脸模型。 这是一种新的方法,不同于大多数常用的通过收集更多带有3D注释的数据进行模型训练来改进3D人脸模型的方法。 2、 我们介绍了一种新的方法,该方法能够通过自监督学习训练具有二维人脸图像的三维人脸模型。
基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务
背景 论文《Persona: Real-Time Neural 3D Face Reconstruction for Visual Effects on Mobile Devices》中吐槽mediapipe
MediaPipe Face Mesh:不够高清,case也不够丰富,暂时看不出问题。
1、AFLW database 数据下载链接: http://lrs.icg.tugraz.at/research/aflw/ AFLW人脸数据库是一个包括多姿态、多视角的大规模人脸数据库,而且每个人脸都被标注了 该数据库非常适合用于人脸识别、人脸检测、人脸对齐等方面的研究,具有很高的研究价值。 ? :人脸属性识别、人脸检测、标志点(或面部)定位、人脸编辑与合成。 人脸图像来自AFLW, 300VW, 300W和FDDB,人脸对齐采用68点标注法,一共包含了大约 230,000 人脸精准标记图像。 参考论文:How far are we from solving the 2D \& 3D Face Alignment problem? ? ? ?
开源的假图只给了70个2d点,不给模型) [2022,微软] 3D face reconstruction with dense landmarks(直接完全沿用了自家2021的数据,没有任何改进,不给模型 开源了但不给点) [2018,上交/云从] Joint 3D Face Reconstruction and Dense Alignment with Position Map Regression Network (没细看) [2015,中科院] Face alignment across large poses: A 3d solution(没细看) semi-automatic refined data(半3dmm 半手动) [2016,CMU] Dense 3D face alignment from 2D videos in real-time(没细看) [2019,谷歌] Real-time facial surface geometry from monocular video on mobile GPUs(3w张真实人脸,用3DMM去fit出假标签,之后数据迭代清洗自循环:模型洗出脏数据,手动微调x和y,更干净的数据再反哺给模型
目前大多数的工作主要在2D上对人体姿态,人手关键点以及人脸进行研究,由于真实的场景是以3D为基础的,并且缺乏3D模型和丰富的3D数据,因此捕捉人体,人手和人脸的3D表面异常困难。 目前有一些方法通过深度学习的方法从单张图片中回归出SMPL的参数,但是要估计带有人手和人脸的3D人体缺乏有效的训练数据。 相关研究 3.1 人体建模 身体,人脸和人手:3D身体建模的问题以前通过将身体分解成多个部分和分别建模来解决。本文关注的方法是从3D扫描中学习统计形状模型。 SMPL+H从3D扫描学习结合了SMPL身体与3D手模型。手部的形状变化来自全身扫描,而姿态依赖的变形则来自手部扫描的数据集。SMPL+H不包含可变形的人脸。 3.2 人体结构推理 有很多方法可以从图像或RGB-D估计3D人脸,也有很多方法可以从这些数据估计手部。
人脸3D点云提取网络 ? 2019出现的一个可以在移动端实时运行的人脸3D表面提取模型-FaceMesh,被很多移动端AR应用作为底层算法实现人脸检测与人脸3D点云生成。 图-2 最终输出的点云数据是468个3D坐标人脸点云坐标,输入人脸的ROI区域,大小为192x192。 我们的基本思路是首先通过OpenVINO自带的人脸检测模型实现人脸检测,然后截取人脸ROI区域再送到facemesh模型中实现人脸3D表面点云468个点提取。 : 1x1xNx7 通道的顺序是:BGR 从图-2得知人脸3D点云提取模型facemesh的输入格式为1x3x192x192,输出层有两个分别是preds与confs,其中preds是点云数据,confs ROI然后提取人脸3D点云数据,然后显示: # 设置输入图像与人脸检测模型推理预测 image = cv.resize(frame, (w, h)) image = image.transpose(2,
2、介绍 人脸对齐指的是一种预测面部特征点的方法,用于人脸识别[1,2]、面部美化和头部姿势估计等应用。传统的人脸对齐算法使用二维图像来输出二维人脸标志。 (3)3D 人脸表示 ? UV空间是从3D空间参数化的2D图像平面,如参考文献[9,5]所提出的. 它可以用来表达三维人脸信息。UV空间用于存储三维面模型中点的三维坐标。 因此,位置图可以表示为pos()=(Xi,Yi,Zi),其中i表示面部的第i点的UV坐标,(Xi,Yi,Zi)表示相应的3D位置,如图3所示。 因此,可以记录包含语义信息的3D面部顶点集的UV位置图,以端到端的方式训练网络,并且使用固定的面部索引获得3D面部特征点坐标。 4、实验 ? 备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区
项目作者:Yao Feng Github: https://github.com/YadiraF/face3d 简介 3D 人脸是非常有趣的研究领域。 face3D 是一个基于 Python 的开源项目,实现了 3D 人脸研究的众多功能。 它可以处理网格数据,用形变模型生成 3D 人脸,从单张二维人脸图片和关键点重建三维图像,渲染不同光照条件的人脸。 face3D 非常轻量化,最开始完全是基于 Numpy 写的。 更多的 3D 人脸研究信息,包括论文和代码,也可以在项目Github中找到。 结构 克隆项目仓库后,可以看到有 examples 和 face3d 两个文件夹。 3DMM 是非常流行的3D人脸生成和重建的一个方法,具体可以参考《Regressing Robust and Discriminative 3D Morphable Models with a very
2、介绍 人脸对齐指的是一种预测面部特征点的方法,用于人脸识别[1,2]、面部美化和头部姿势估计等应用。传统的人脸对齐算法使用二维图像来输出二维人脸标志。 (3)3D 人脸表示 ? UV空间是从3D空间参数化的2D图像平面,如参考文献[9,5]所提出的. 它可以用来表达三维人脸信息。UV空间用于存储三维面模型中点的三维坐标。 因此,可以记录包含语义信息的3D面部顶点集的UV位置图,以端到端的方式训练网络,并且使用固定的面部索引获得3D面部特征点坐标。 4、实验 ? 备注:作者也是我们「3D视觉从入门到精通」特邀嘉宾:一个超干货的3D视觉学习社区 本文仅做学术分享,如有侵权,请联系删文。 同时也可申请加入我们的细分方向交流群,目前主要有ORB-SLAM系列源码学习、3D视觉、CV&深度学习、SLAM、三维重建、点云后处理、自动驾驶、CV入门、三维测量、VR/AR、3D人脸识别、医疗影像、
人脸检测是给照片中的每个人脸指定一个边界框,人脸关键点检测则需要定位特殊的人脸特征,如眼睛中心、鼻尖等。基于二者的两步走方法是很多人脸推理任务的关键所在,如 3D 重建。 假设有一个已知的内在相机,姿态可以使 3D 人脸与它在照片中的位置一致。因此,姿态已经捕捉了照片中人脸的位置。然而,虽然增加了两个额外的标量(6D 姿态 vs. 他们提出了一个易于训练的新型实时 6DoF 3D 人脸姿态估计解决方案,可以跳过人脸检测步骤,即使在非常拥挤的图片中也不例外(如图 1)。 由于 6DoF 人脸姿态可以转换为一个外在相机矩阵,进而将 3D 人脸映射到 2D 图像平面,因此预测得到的 3D 人脸姿态也可用于获取准确的 2D 人脸边界框。 因此,人脸检测将成为这个过程的副产品,计算开销达到最小。 ? 利用 6DoF 姿态估计替代人脸边界框检测之后,输入图像中所有的 3D 人脸形状都可以得到对齐。
本文提出一个简单有效的方法将 ConvNet and a 3D model 结合起来实现端对端人脸检测 将 Faster R-CNN应用人脸检测问题,面临两个问题: 1)RPNs 中需要预定义一组 主要修改的地方有两点:1)在RPN中取消 heuristic design of predefined anchor boxes,用一个 3D mean face model 代替,2)根据人脸结构信息用一个 个 3D 人脸特征点表示,数学上具体为一个 n × 3 矩阵。 假定一个人脸 f,由 它的 3D 映射参数 表示其 旋转平移信息,我们从图像中提取到对应的 2D 特征点信息,这里 2D 特征点信息和 3D 模型有一个对应关系 这里我们通过学习得到一个 CNN网络用于 估计这个 3D transformation parameters,就是对每个检测到的特征点估计出对应的 3D mean face model,然后得到人脸矩形框候选区域,再对每个人脸预测出更准确的人脸特征点
当然还需要找准一个方向,无论是准备做科研还是去找工作,三维重建在实际应用中是有不同的方向的:比如自动驾驶和机器人里三维重建叫SLAM,计算机视觉里还有基于DL的三维重建,还有对于人体的三维重建,对于人脸的三维重建
来自 Facebook AI 和美国圣母大学的研究者提出了一种 6 自由度的实时 3D 人脸姿态估计技术,可以不依赖人脸检测和人脸关键点定位独立运行。 人脸检测是给照片中的每个人脸指定一个边界框,人脸关键点检测则需要定位特殊的人脸特征,如眼睛中心、鼻尖等。基于二者的两步走方法是很多人脸推理任务的关键所在,如 3D 重建。 他们提出了一个易于训练的新型实时 6DoF 3D 人脸姿态估计解决方案,可以跳过人脸检测步骤,即使在非常拥挤的图片中也不例外(如图 1)。 由于 6DoF 人脸姿态可以转换为一个外在相机矩阵,进而将 3D 人脸映射到 2D 图像平面,因此预测得到的 3D 人脸姿态也可用于获取准确的 2D 人脸边界框。 因此,人脸检测将成为这个过程的副产品,计算开销达到最小。 ? 利用 6DoF 姿态估计替代人脸边界框检测之后,输入图像中所有的 3D 人脸形状都可以得到对齐。
第二个报告由来自北京邮电大学的赵凯莉介绍他们在人脸动作单元标注方面的工作。他们同样面临着数据集少且难以获取的困难。 我们知道,人脸表情识别的研究目前得到广泛的关注,但表情的主观性和个体之间的差异性给研究人员带来很大的挑战和困难。 根据 FACS 定义,32 个 AU 的配合几乎可以表示所有的人脸情绪。如下图所示: ? 我们知道,即使是人的表情标注对普通人来说已经很困难了,更何况是人脸的 AU 标注。 在现实生活中存在着大量的3D对象的应用,例如增强现实和3D建模,因此我们需要构建有效的3D深度学习方法来解决3D对象的识别问题。
此前的方法依赖于预先估计的结构信息,例如关键点和3D参数。但极端条件下这种估计信息不准确则效果不佳。本文主要针对的是,如何生成姿势可控的说话人脸。 ? 二、3D人脸相关 4、Inverting Generative Adversarial Renderer for Face Reconstruction 给定单目人脸图像作为输入,3D 人脸几何重建旨在恢复相应的 3D 人脸网格mesh。 5、Normalized Avatar Synthesis Using StyleGAN and Perceptual Refinement 引入一个基于 GAN 的框架,将照片中人脸数字化成标准3D形象 基于GAN,使用判别器来保证人体运动与上下文场景、3D 到 2D 投影约束的兼容性。 ? 上述论文可在 计算机视觉GAN 知识星球 打包下载
在面部生物识别部分,我们增加了对3D Camera的支持。 随着3D Camera的越来越普及,可以提供更好的暗光环境下性能,支持更大角度的面部识别,并且最重要的更强悍的防欺骗性能(Anti-spoofing)。 刚才提到的3D Camera,在Face ID时代是否有强烈的用户需求? TM(Todd Mozer) - 当然! 在Apple推出Face ID之后,突然之间所有的移动设备开发商都在计划支持人脸生物识别,也极大地牵引了(Got traction)对Sensory面部识别技术的需求,我们与众多的手机制造商签署了技术转移合同 Sensory的独特优势在于我们可以第一时间获得用户的反馈,客户需要3D人脸识别,这鞭策(Spur)了我们技术方向的决心,完全是技术和客户驱动的创新成果。
/9439899 在文中,作者精心设计了一套三维动态预测和人脸视频生成模型(FaceAnime),来预测单张人脸图像的 3D 动态序列,然后通过稀疏纹理映射算法进一步渲染3D动态序列的皮肤细节。 文章的主要贡献如下: 不同于广泛使用2D稀疏人脸landmarks进行图像/视频的引导生成,文章主要探索包含人脸丰富信息的3D动态信息的人脸视频生成任务; 设计了一个三维动态预测网络(3D Dynamic FaceAnime的整体框架图,包括3DDP网络(左)和PGFG网络(右) (1)3D人脸重建和稀疏纹理映射 3D形变模型(3D Morphable Model, 3DMM)用来从2D人脸图像中预测相应的 3D人脸。 反过来,3D人脸顶点也可以通过变换映射到一个2维图像平面上,对应的公式可以表达为: 其中,V表示3D顶点在2维平面上的映射坐标, 是固定的正交映射矩阵, 是对应的旋转矩阵,而t为偏移向量。
虽然并不严谨,但我们姑且沿用这样一个定义,3DMM 计算结果是在人脸上拟合并投影出一个 3D 点云,它的应用就非常丰富了,美颜、表情捕捉、通过照片生成一张人脸等等都用了类似的技术。 为了更精确的计算人脸的 3D 信息,并能适用于工业级业务场景,FACEGOOD 团队采用相机阵列方式采集了 100 个不同个体的 3D 模型,每个人有 43 个不同的表情,以及他们对应的高精度皮肤材质数据 2D 特征点,随后在此基础上拟合出人脸高精度 3D 模型,再通过 V(wi) 进一步优化 3D 模型,这一步的结果基本贴合到人脸。 然后继续优化,在得出带有表情的基本 Eexp 之后,加上一个 detaV,使得 3D 模型完全对齐到人脸,到此就得到了一个完整的高精度的 3D 人脸,包括了在眼轮匝肌、口轮匝肌周围细微的高频的微表情信息 最终,得出精确的 3D 人脸之后,通过肌肉仿真算法,将表情参数重定向到虚拟人物,就跑完了全流程。
腾讯云神图·人脸识别基于腾讯优图世界领先的面部分析技术,提供包括人脸检测与分析、五官定位、人脸搜索、人脸比对、人脸验证、人脸查重、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。
扫码关注腾讯云开发者
领取腾讯云代金券