找回密码
 立即注册
查看: 349|回复: 0

基于3DMM的人脸重建-传统优化方法(1)

[复制链接]
发表于 2022-1-18 19:29 | 显示全部楼层 |阅读模式
本文主要基于开源项目Face2face【1】(中间会提及到face3d【2】和eos【3】),对采用传统优化方法的3DMM模板人脸重建算法整体流程做一个介绍。由于作者没有给出参考文献,笔者是从代码推论出来的整个算法,如有错误,欢迎指正。
一.算法流程



二.具体步骤

1.人脸关键点检测

        项目中采用了dlib或openpose进行提取。非重点,这里就略过了。
2.估计相机变换参数

         根据上述检测到的2D人脸关键点和当前估计的3DMM人脸的3D关键点,采用黄金标准算法来估计相机变换参数,包括旋转、平移和尺度(对应项目代码位于face2face/optimize/camera.py)。

  • 当采用射影摄像机时,算法如下(见【4】P123)



  • 当采用仿射摄像机时,算法如下(见【4】P126)



  • 有关图像点和空间点归一化的描述如下(见【4】P122)


3.估计身份、表情、纹理和光照参数


  • 目标函数
         主要采用了投影关键点误差和像素误差:












        式中, 为形状估计参数, 为表情估计参数, 为纹理估计参数, 球谐基底的估计权重参数, 为3DMM模型形状基底的特征值, 为3DMM模型表情基底的特征值, 为3DMM模型纹理基底的特征值。
        至于如何求解,需要推导出该目标函数对于各 系数的jacobi矩阵(见face2face/optimize/image.py里面denseJointJacobian函数),然后采用高斯牛顿法迭代求解即可。
        注:1)Face2face【1】在得到3DMM的几何模型和每个几何点的RGB颜色后,直接采用了opengl的渲染管线来得到预测出的图像(见face2face/utils/opengl.py里面的具体实现)渲染过程中国涉及到一些坐标投影的知识,也可以看看我之前写过的一篇文章【8】做个基本了解。
                2)face3d【2】里面手写了这部分的代码,感兴趣的可以自行查看(见face3d/mesh_numpy/render.py)。

  • 光照模型-spherical harmonic
         这里补充说下球谐光照模型,简单来说球谐为我们提供了一组在球面上的正交基底,类似于欧式空间的傅里叶基底,并且只需要取前9个基底就能很好的模拟我们的光照环境【6】:


         上式中 为点的法线,并且在看实现代码【1】、【2】时发现,在三维人脸重建领域通常会忽略式中基底前面的系数:


        最终一个点的颜色的计算公式为 ,  为三维点,  为点  的法线, 为根据法线  计算得到的基底, 是albedo也就是原始点的颜色,对应代码如下:


注:因为光照计算中涉及到法线,表明其对于身份系数有贡献,所以可以加入到优化项中来。
三.其它

         对于侧脸的情况,目测【1】、【2】的重建效果都不会很好,而eos【3】在实现的过程中对于轮廓点进行了特殊处理,感兴趣的可以去了解下。
四.参考

【1】https://github.com/kimoktm/Face2face
【2】https://github.com/YadiraF/face3d
【3】https://github.com/patrikhuber/eos
【4】计算机视觉中的多视图几何-中文版,安大出版社,2002.8
【5】Face Recognition from a Single Training Image under Arbitrary Unknown Lighting Using Spherical Harmonics
【6】Inverse Rendering of Faces with a 3D Morphable Model
【7】3D Morphable Face Models - Past, Present and Future
【8】Hypochondria:有关opengl各种空间变换

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-16 15:39 , Processed in 0.089083 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表