![d5174d148f270bc303f710c92549b12a.png](https://img-blog.csdnimg.cn/img_convert/d5174d148f270bc303f710c92549b12a.png)
![91e2543b6b319a0a7b9a6f3c1e5d86f7.png](https://img-blog.csdnimg.cn/img_convert/91e2543b6b319a0a7b9a6f3c1e5d86f7.png)
本文来自旷视研究院,作者:闫东。AI 科技评论获授权转载。如需转载,请联系旷视研究院。
目录
导语
3D人脸基础知识
初识3D人脸
相机模型
3D相机
3D人脸数据
3D人脸相关任务
常见Pipeline
3D人脸识别
3D人脸重建
总结
导语
随着深度学习技术的推进,人脸相关任务研究也跃升为学界和业界的热点。人们所熟知的人脸任务一般包括人脸检测,人脸身份识别,人脸表情识别等,它们多是采用 2D RGB 人脸(一般包括一些纹理信息)作为输入;而 3D 扫描成像技术的出现与发展,使得人脸相关任务有了一条新的探索路线——3D 人脸。
相较于许许多多的 2D 人脸相关任务入门文献/综述文章,3D 人脸的入门知识却乏善可陈。本文将梳理和介绍 3D 人脸相关基础知识,同时总结一些 3D 人脸识别和重建的基础入门文献。
3D人脸基础知识
初识3D人脸
2D/2.5D/3D 人脸
一般所讲的 RGB、灰度、红外人脸图像即为 2D 人脸,它们多为某一视角下表征颜色或纹理的图像,没有空间信息。深度学习用于训练的图像一般为 2D。
2.5D 是在某一个视角下拍摄得到的人脸深度数据,但由于角度问题,它所展示的曲面并不连续,即,当你尝试旋转人脸时,会有一些沟壑似的空洞区域。这是由于拍摄时,没有捕捉到被遮挡部分的深度数据。
那么 3D 人脸呢?它一般由多张不同角度的深度图像合成,完整展示人脸的曲面形状,并且人脸以密集点云的方式呈现在空间中,具有一定的深度信息。
![b07317a0ae00659abb8f6d78552a7a06.png](https://img-blog.csdnimg.cn/img_convert/b07317a0ae00659abb8f6d78552a7a06.png)
这里有一个问题,经常谈及的 RGB-D 属于什么维度的人脸呢(注意维度与纹理和颜色无关)?
相机模型
了解 3D 人脸相关任务之前,有一个基础且非常重要的“知识点”,就是相机模型,不了解它,就无法入门 3D。关于相机模型,推荐参考《视觉SLAM十四讲》(链接:https://github.com/gaoxiang12/slambook)或者《SlAM入门》(链接:https://www.cnblogs.com/wangguchangqing/p/8126333.html)。本文先用最短时间让大家初步了解相机模型。
相机模型包括 4 种坐标系:像素坐标、图像坐标、相机坐标、世界坐标(脑袋中有没有闪现高中物理老师讲参考系的画面),相机成像过程即是真实三维空间中的三维点映射到成像平面(二维空间)的过程,也称之为射影变换。
相机坐标→图像坐标
相机坐标系到图像坐标系的过程可用小孔成像解释,本文借助相似原理可清楚描述相机坐标系中点 到像平面点
的过程,其中 f 为相机焦距。
![5acba9ea646259b4f53b1cfb3a53be13.png](https://img-blog.csdnimg.cn/img_convert/5acba9ea646259b4f53b1cfb3a53be13.png)
相机小孔成像图示(https://www.cnblogs.com/wangguchangqing/p/8126333.html)
![44645d76c1aca77fa210ca9ddc193b93.png](https://img-blog.csdnimg.cn/img_convert/44645d76c1aca77fa210ca9ddc193b93.png)
相机坐标到图像坐标的齐次表示
图像坐标→像素坐标
一般使用像素值表示 2D 图像,坐标原点通常是图像的左上角,因此像素坐标和成像平面坐标之间,相差了一个缩放和原点的平移。
![e472f5dd44f84a177d1e1e7540dacde7.png](https://img-blog.csdnimg.cn/img_convert/e472f5dd44f84a177d1e1e7540dacde7.png)
通过用相机坐标表示图像坐标,可以得到像素坐标与相机坐标的关系:
![976a81c46bc01d42eb6508d2684b3ce5.png](https://img-blog.csdnimg.cn/img_convert/976a81c46bc01d42eb6508d2684b3ce5.png)
为保证齐次性(一般很多变换矩阵有这个特性),这里稍作改写:
![569cb50e9c1d7586951032a6223a2aae.png](https://img-blog.csdnimg.cn/img_convert/569cb50e9c1d7586951032a6223a2aae.png)
其中
![bd3f7d93846db6c0f065fb497bbbc146.png](https://img-blog.csdnimg.cn/img_convert/bd3f7d93846db6c0f065fb497bbbc146.png)
即经常说的相机内参矩阵(Camera Intrinsics),K 有 4 个未知数和相机的构造相关,f_x,f_y 和相机焦距、像素大小有关,c_x,c_y 是平移的距离,和相机成像平面的大小有关。
世界坐标→相机坐标
其实,相机坐标系并不是一个特别“稳定”的坐标系,因为相机会随着自身移动而改变坐标的原点以及各个坐标轴的方向,这时就需要一个更稳定的坐标系来更好地表示射影变换,而我们通常采用的恒定不变的坐标系为世界坐标系。
![ef80ee8fb6aad4b9d8a4e7f7b582f033.png](https://img-blog.csdnimg.cn/img_convert/ef80ee8fb6aad4b9d8a4e7f7b582f033.png)
相机坐标系与世界坐标系之间相差一个旋转矩阵和平移向量(引自《视觉SLAM十四讲》)
同样为了保证齐次性,其改写形式如下:
![4be2bceb5e698999d12d04171f079a47.png](https://img-blog.csdnimg.cn/img_convert/4be2bceb5e698999d12d04171f079a47.png)
其中变换矩阵