
Facial_Details_Synthesis表情先验怎么选FACS动作单元与Emotion情绪分类双通道完整对比指南【免费下载链接】Facial_Details_Synthesis[ICCV2019 Oral] Photo-Realistic Facial Details Synthesis from Single Image项目地址: https://gitcode.com/gh_mirrors/fa/Facial_Details_SynthesisFacial_Details_Synthesis 是 ICCV 2019 Oral 论文「Photo-Realistic Facial Details Synthesis from Single Image」的官方实现能从单张照片合成带精细细节的照片级 3D 人脸。它生成表情驱动的代理网格proxy时提供两条表情先验通道FACS 动作单元--FAC 1与emotion 情绪分类--emotion 1。选错通道表情会「对不上」或「太僵硬」。本文用一张对比表 源码路径带你 5 分钟选对通道。表情先验在流水线的哪一步生效整条流水线是单张照片 → 68 个关键点 → 表情先验可选→ BFM2017 代理网格 → DFDN 细节预测 → 渲染。表情先验只作用于代理网格这一步它不直接预测几何而是把检测出的表情特征送到一个「表情字典」里做最近邻检索取出最接近的一组 BFM 表情系数作为fit-model拟合时的初始表情并冻结它--init-expression-coeffs-fp--fix-expression-coeffs。 两条通道最终都汇入同一个字典文件dictionary.npz包含expParams/expFeatures/emotion三张表区别只在于「用什么特征去查表」。FACS 动作单元通道用 18 个 Action Unit 精确定位面部动作FACSFacial Action Coding System面部动作编码系统把人脸动作分解为若干Action UnitAU动作单元如挑眉AU01、皱眉AU04、嘴角上扬AU12。本项目用简化版 OpenFace 实现main.cpp对每张图输出 68 个关键点外加 18 个 AU 的强度回归值AU 清单见 AU_all_best.txtAU01 / 02 / 04 / 05 / 06 / 07 / 09 / 10 / 12 / 14 / 15 / 17 / 20 / 23 / 25 / 26 / 28 / 45检索逻辑在 proxyPredictor.py 的find_nearest取特征向量的第 5~20 维16 个 AU 强度与字典逐维求 L1 距离距离最近的表情系数即写入expression.txt。值得注意的细节proxyPredictor.py还会额外把 3 维头部姿态特征以10 倍权重加入匹配让代理网格的姿态也贴近输入照片。python proxyPredictor.py -i path/to/input/image -o path/to/output/folder --FAC 1✅特点特征连续、粒度细「半眯眼」和「完全眯眼」能被区分但对人脸清晰度、光照要求更高属于 OpenFace 体系的 SVM/SVR 分类器 回归器。Emotion 情绪分类通道8 类情绪嵌入做近邻检索Emotion 通道走的是粗粒度路线。训练脚本 fertrainImgLarge.py 搭建了一个 4 层卷积 CNN输入 64×64 灰度图输出8 类情绪HappySadSurpriseFearDisgustAngerContemptNone中性推理时proxyPredictor.py加载 Keras 权重emotionNet/checkpoints下的large.jsonlarge.h5但不用 softmax 分类结果而是取dropout_7层输出的特征嵌入与字典dictionaryEmotion表求 L1 距离做最近邻同样得到一组 BFM 表情系数。python proxyPredictor.py -i path/to/input/image -o path/to/output/folder --emotion 1✅特点只依赖「这是哪种情绪」的判别对强烈表情大笑、惊讶、愤怒更鲁棒代价是同一情绪内部的表情差异比如微笑 vs 咧嘴大笑会被抹平。需要额外安装 TensorFlow KerasREADME 中列为可选依赖。双通道怎么选对比表与场景建议维度 FACS 动作单元--FAC 1 Emotion 情绪分类--emotion 1特征来源landmarkDetector 内置 AU 分析器SVM/SVRemotionNet 8 类情绪 CNN 嵌入特征粒度16 维 AU 强度连续、细粒度情绪大类离散、粗粒度额外依赖无landmarkDetector 自带模型TensorFlow / Keras 情绪模型权重姿态感知姿态项 10 倍加权参与匹配无姿态加权适用场景表情细微、需精确还原挑眉、撇嘴、眯眼强烈情绪表达、AU 检测不稳定时的稳健兜底主要短板低质量/偏脸图像上 AU 强度易抖动同情绪内表情差异被忽略选型建议照片为正脸、表情偏细微→ 选 FACS 通道细节还原上限更高照片情绪强烈大笑、惊讶或人脸质量一般 → 选 emotion 通道结果更稳定两个参数都不加→ 代码中save_exp_path None直接按中性表情拟合代理网格适合平静表情的人像两个参数在代码里是if / elif互斥关系不能同时开启二选一即可。两条命令快速上手与输出产物清单表情先验确定后后续步骤两条通道完全一致细节预测入口为 facialDetails.py内部同样支持--FAC/--emotion逻辑与 proxyPredictor.py 相同可单独跑 DFDN 细节网络# 完整细节合成 python facialDetails.py -i path/to/input/image -o path/to/output/folder每张图片的输出目录会生成这些文件方便你验证表情先验是否生效expression.txt—— 检索出的 BFM 表情系数表情先验的直接产物result.obj/result.isomap.png—— 代理网格与贴图result.displacementmap.png16bit 高度图/result.normalmap.png—— DFDN 预测的皱纹等高频细节单图模式会自动拉起 faceRender 交互渲染器预览小贴士官方 README 建议使用正方形裁剪的输入图像并在proxyPredictor.py中可批量传入图片文件夹-i指向目录。如果发现代理表情与照片不一致优先检查expression.txt是否被正确检索——这基本能定位到是 FACS 特征还是情绪嵌入出了问题。小结你的情况推荐通道正脸清晰、表情细微--FAC 1FACS 动作单元情绪强烈或图像质量一般--emotion 1emotion 情绪分类平静中性表情都不加默认中性拟合一句话记住FACS 看「动作细节」emotion 看「情绪大类」两者殊途同归——都在同一个表情字典里检索出 BFM 表情系数再驱动 BFM2017 生成代理网格。选对通道你的单张照片 3D 人脸才会既有神、又有细节。【免费下载链接】Facial_Details_Synthesis[ICCV2019 Oral] Photo-Realistic Facial Details Synthesis from Single Image项目地址: https://gitcode.com/gh_mirrors/fa/Facial_Details_Synthesis创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考