首页 > 编程知识 正文

hfd模型,BFM模型

时间:2023-05-04 03:18:51 阅读:220553 作者:2798

bfm人脸模型


分别为坐标和颜色向量.
可以看出BFM还缺少表情向量, 所以要实现一个完整的3dmm还需要从其他项目中copy表情向量. 比如项目3dmm-fitting-pytorch.
这里使用的是Exp_Pca.bin文件里的表情系数, 这个表情系数是从 Facewarehouse 数据集中提取的,为29维,形状参数为199维.
另外, 针对bfm模型要注意下面几点:

标准的bfm模型包含顶点个数为53490个.表情系数(来自Exp_Pca.bin)只针对53215个顶点有参数不含脖子的模型顶点个数为35709个.

3ddfa中直接将1,2取交集,最终生成53215个有表情的人脸. 3dmm-fitting-pytorch项目中则通过BFM/BFM_front_idx.mat来获取人脸顶点, 共35709个.
人头坐标系:

不同论文的NME, 分别在AFLW2000-3D(68点)和AFLW(21点)数据集的结果:
1.Face Alignment Across Large Poses: A 3D Solution [4.94, 5.32]
2.Face Alignment in Full Pose Range:A 3D Total Solution [3.79, 4.55]
3.Towards Fast, Accurate and Stable 3D Dense Face Alignment [3.5, 4.3]

论文1的结构:


人脸三维顶点的构建:

f:缩放系数
Pr:正交投影矩阵
所以网络要学习的参数有:
注意,3ddfa的代码对起做了部分修改,3ddfa代码直接回归了62个参数:
[f, pitch, yaw, roll,t2d]这6个参数被一个4*3=12的矩阵替换了,也就是说网络直接回归出一个相似性变换矩阵,inference阶段将这个矩阵分解成我们需要的pitch, yaw, roll等元素. α i d ​ 这 个 系 数 , b f m 本 来 为 199 维 度 , 这 里 只 取 了 前 20 维 , α e x p alpha_{id} ​这个系数,bfm本来为199维度,这里只取了前20维, alpha_{exp} αid​​这个系数,bfm本来为199维度,这里只取了前20维,αexp​

这个系数Facewarehouse中获取,原始系数维度为99,这里只取前40维.所以网络总计回归元素数量为:12+40+10 = 62.

论文2在1的基础上做了一下改进:

1.使用四元数替代论文1中回归欧拉角度,避免了万向节死锁问题
2.将Pose Adaptive Feature(PAF)作为一个输入(与图片concate一起)
3.提出了OWPDC(将参数的优先级考虑到loss中)
4.更详细分析了损失函数和输入feature的关系.

论文3的改进


相对论文2,3做了以下3方面改进:

使用了更优的meta-joint优化策略,动态选择最合适的损失函数在线生成短视频训练网络,减小landmark的抖动添加2d landmark辅助分支,提高landmark回归精度.

这篇论文不再将PNCC和PAC这种feature作为网络输入,反璞归真,仅仅使用RGB图作为输入.

代码

3ddfa项目:
作者提到:

‎VDC 从 WPDC 损失中调整的比 WPDC 损失更好,而原始论文中没有这样的实验。‎

看起来再wpdc训练好了再用vdc来finetune才能得到最好的结果.

人脸模型:

参考:
A 3D Face Model for Pose and Illumination Invariant FaceRecognition
https://faces.dmi.unibas.ch/bfm/index.php?nav=1-1-0&id=details
https://github.com/Juyong/3DFace
https://github.com/ascust/3DMM-Fitting-Pytorch/

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。