EDGAR: Efficient Diffusion-Driven Gaussian Avatar Refinement via Synthetic Failure
Kwan Yun, Minhyeok Bang, Colette Suhjung Koo, Junyong Noh
cs.GR, cs.CV, cs.LG, cs.MM
2026-11-05
KAIST 用配好的头像失败样本训练一步扩散,再把修复蒸回三维高斯。八路视频 RGBAvatar 的 PSNR 从 20.51 升至 22.99,播放时不再跑扩散。
单目视频或几张照片建出的高斯头像,侧脸、大张嘴和挑眉时容易发糊、拉丝,头发边还会漂着一团高斯。多相机阵列很少这样。那些区域没有观测,几何和贴图是补出来的。
SDEdit 给渲染图加噪再去噪,能补高频,但没有此人的外观条件。陌生姿态上身份会漂,相邻帧也会因为随机噪声各修各的。人头还要保住表情,播放时不能逐帧再跑扩散。
EDGAR 来自 KAIST。它学一个窄映射:变差的渲染,加一张同一人的参考图,输出靠近该视角的真值。没有这种配对,于是做了三元组集 EDGAR-SET。
真实半用 NeRSemble 和 RGBAvatar,99 个身份,训练视角故意只留 1 到 4 个。合成半用 CAFCA 和原始 3D Gaussian Splatting,1,500 个身份,视角至少 5 个,补更极端的角度和表情。参考图是另一视角或另一表情的真值。推理时,改成训练这段头像的单目视频里的一帧。
LPIPS 过高或表情、姿态对不齐的样本删掉约一半,留下约 40 万张 512 分辨率图像。1 个视角、2 到 4 个、不少于 5 个分别占 23%、51%、26%。严重的结构错误不在里面。
骨干是单步 SD-Turbo。残差块、时间步和文本交叉注意力冻住,只更新自注意力,解码器加 LoRA。新层零初始化,开训时等于原版。提示固定为 “High resolution portrait.”,时间步 250。
参考图进冻结的 Sapiens,特征在融合块里成为交叉注意力的 key 和 value。退化轻重差很多,路由器在 6 个专家 MLP 里选一个,负载均衡防止专家塌缩。
图像损失是 L2、LPIPS 和 VGG 的 Gram,权重都是 1。表情用 POSTER V2 的中间特征,L2 权重 8,专门管嘴唇和眼睛。负载均衡权重 0.001。训练 4 万步,batch 4,梯度累积 2,学习率 2×10⁻⁵,一张 A6000 约 40 小时。
修过的图再写回高斯。渲 50 个视角做伪标签,用 L1 权重 0.6、SSIM 权重 0.4 优化 500 步。参考图随机留一张。不新增高斯,之后播放不再调用 EDGAR。
三条管线各三个输入规模:CAP4D 为 1、4、8 张图,RGBAvatar 为 1、4、8 段视频,GaussianAvatars 为 8、10、12 段视频。自身重演是 NeRSemble 上 10 个未见身份,跨身份重演是 INSTA 上 6 个身份,全在新视角上比。SDEdit 用同一个 SD-Turbo、同一个时间步,没有参考图,也不写回三维。
RGBAvatar 和 GaussianAvatars 上,CLIP、L1、LPIPS、PSNR 每个规模都是 EDGAR 第一。CAP4D 上 EDGAR 的 CLIP 最高,L1 也最低,但差距多在小数点后四位。LPIPS 仍是原模型更低,PSNR 仍是 SDEdit 更高。
| 设置 | 指标 | 原模型 | SDEdit | EDGAR |
| RGBAvatar,8 视频 | PSNR | 20.5128 | 20.5109 | 22.9937 |
| RGBAvatar,8 视频 | L1 | 0.0502 | 0.0555 | 0.0332 |
| RGBAvatar,8 视频 | LPIPS | 0.2100 | 0.2752 | 0.1894 |
| RGBAvatar,4 视频 | PSNR | 19.4950 | 19.9181 | 21.5199 |
| GaussianAvatars,10 视频 | LPIPS | 0.2661 | 0.2377 | 0.2050 |
| GaussianAvatars,10 视频 | PSNR | 18.5994 | 18.9219 | 19.3206 |
| CAP4D,1 张图 | CLIP | 0.9369 | 0.9078 | 0.9449 |
| CAP4D,1 张图 | LPIPS | 0.2133 | 0.2728 | 0.2147 |
| CAP4D,8 张图 | PSNR | 18.4773 | 18.6645 | 18.5329 |
八视频 RGBAvatar 的 PSNR 从 20.5128 升到 22.9937,L1 从 0.0502 降到 0.0332。十视频 GaussianAvatars 的 LPIPS 从 0.2661 降到 0.2050,PSNR 只从 18.5994 到 19.3206。
跨身份 CSIM 在 1、4、8 张图上,原模型为 0.5510、0.5642、0.5651,EDGAR 为 0.5169、0.5326、0.5419,SDEdit 为 0.3178、0.3432、0.3380。EDGAR 比原头像低约 0.02 到 0.03。论文称这个差距可忽略。原分没有保住。
前景 tWE(光流对齐后的 RGB L1,×10⁻³)平均从 4.704 降到 4.403。CAP4D 从 1.759 到 1.696,RGBAvatar 从 7.424 到 5.574,GaussianAvatars 从 4.929 升到 5.938。像素更干净的这条管线,时间上反而更抖。
有标定深度时,CAP4D 和 GaussianAvatars 的相对深度误差与重投影覆盖率全部变好。十视频 GaussianAvatars 的深度误差从 0.0072 到 0.0064,覆盖率从 0.5112 到 0.5261。RGBAvatar 的深度由 VGGT 从渲染图估计。4 视频和 8 视频变好,单视频变差,深度误差从 0.0083 到 0.0097,覆盖率从 0.4855 到 0.4261。
偏航至少 30°、唇间距相对嘴宽至少 0.10 时,四视频 RGBAvatar 的前景 L1 从 0.08785 降到 0.06112,LPIPS 从 0.17563 降到 0.14150。十视频 GaussianAvatars 两项都降。四图 CAP4D 两项都升,L1 从 0.07475 到 0.08084,LPIPS 从 0.23054 到 0.23507。
3090 上完整精修平均 5.04±0.11、7.96±0.98、16.60±5.98 分钟,对应 CAP4D、RGBAvatar、GaussianAvatars,含加载、伪标签、500 步和存盘。基础优化约 484、106、239 分钟,不含预处理。精修后帧率变化在 2% 以内:50.3 对 49.4、813.8 对 826.3、153.4 对 156.1。
去掉参考图最伤。CAP4D 单图的 CLIP 从 0.9449 降到 0.9163,LPIPS 从 0.2147 升到 0.2683,CSIM 从 0.5169 降到 0.4508。去掉合成半或表情损失,CSIM 也明显下降。6 个专家换成无 MoE,多数指标只差在小数点后三位。
15 人,平均 27.6 岁,每人 20 对跨身份视频,只比 CAP4D。相对原模型,动画、身份、总体偏好为 87.33%、91.33%、96.67%。相对 CAP4D 加 SDEdit,为 94.67%、98.0%、98.0%。人的选择和 CAP4D 上的 LPIPS、PSNR 并不一致。
播放时不跑扩散,帧率就是原高斯头像的帧率。已经建好的模型,多花几分钟到十几分钟做后处理即可。
收益在视频重建,RGBAvatar 最明显。CAP4D 上 CLIP 和主观偏好上升,PSNR 与 LPIPS 经常不跟。能用的范围是还能对齐的外观伪影。
跟同骨干的 SDEdit 比,参考图负责把身份留下,多视角伪标签再写入同一套高斯。
训练集按 LPIPS 删掉了差得太远的配对。严重结构错误和从未观测的区域,精修后还在。口腔内部和半透明外观仍然难。各视角伪标签分开生成,会互相冲突,一套高斯只能把冲突平均掉。
GaussianAvatars 的 tWE 变高,文中没有对应的帧间例子。RGBAvatar 既用来造真实半数据,又拿来做测试。身份是新的,这条管线的失败模式不一定新。用户研究只覆盖 CAP4D,15 人,没包括涨幅最大的视频设置。优化时参考图抽一张就固定,换一张的影响没有测。外部对照停在同骨干 SDEdit。