A pedagogical survey · 2023.07 — 2026.05
3DGS · 数字人
3D Gaussian Splatting 在 2023 年夏天突然让"实时新视角合成"变成了可能。
不到一年,这套表示就被搬到了人——头、身体、手、衣物、声音驱动——
并迅速成为数字人方向最主流的几何/外观载体。本站把这条快速膨胀
的支线整理成一本可以从头读到尾的章节。
预设读者:会基本的 NeRF、机器学习、微积分、线性代数,知道
SMPL / FLAME 存在但不一定熟。不会 3DGS 也没关系——
我们从头讲。重点不是"哪篇论文最 SOTA",
而是"为什么这个领域是这样长出来的"。
~42 篇论文 · 4 个交互演示 · 最后更新 2026-05-19
阅读路径建议
零基础:从 §1 起依次往下;§4 看完之后,四个痛点
会反复出现在每一篇论文卡片里。
已经读过 Kerbl 2023 的 3DGS:跳到 §5 开始的
Foundations;§4 的痛点列表先扫一眼即可。
只想看最新:直接跳到 §40 起的 Frontier;如果
看不懂术语再回头查 §A 名词表。
§1什么是 3DGS 数字人?
把 Kerbl 等人 2023 年那篇 SIGGRAPH 文章里的"用一堆带颜色、带各向异性
椭球的高斯解释场景"的想法搬到人身上,再加一件事——让这些
高斯随着人摆姿势一起动——你就得到了 3DGS 数字人。
人体本身有一套成熟的参数化骨架/网格模板(SMPL / FLAME / MANO),
几乎所有这类工作的"动起来"都是借这套模板完成的。
关键想法 · 一句话
3DGS 数字人 $\approx$ 把一堆高斯椭球粘在一张可变形的人体网格上,网格变形,
高斯跟着平移+旋转;像素颜色由 alpha 合成而非射线积分得到。
和 NeRF 数字人(Neural Body / HumanNeRF 一脉)相比,关键差异是
表示从隐式变成显式:每一个高斯都是一个独立、可编辑、
可剔除的小物体;想换一件衣服就改一组高斯,想做物理仿真就把高斯绑到
网格三角形上。隐式 NeRF 想要这种粒度的控制就需要额外接 deformation
MLP、需要 ray-warp,每一个动作都贵;3DGS 的"贵"则是均摊到每帧
splat 一次。
一个高斯在数字人里存了什么?
| 字段 | 含义 | 大小 |
| $\mu$ | 位置 (canonical 或 posed) | 3 floats |
| s | log-scale,三个轴向尺度 | 3 floats |
| q | 四元数,确定椭球朝向 | 4 floats |
| o | opacity(经 sigmoid 后 0–1) | 1 float |
| SH | 球谐系数 $\text{RGB} \times 16$ (degree 3),存视角相关颜色 | 48 floats |
| + 数字人专属:w | LBS skinning weights(绑到 4–24 根骨) | 4–24 floats |
| + 数字人专属:$t, \delta$ | SMPL/FLAME 三角形索引 + 切线坐标 | 1 int + 3 floats |
vanilla 3DGS 的一个高斯就是 ~59 floats,约 236 bytes。
数字人为了"会动"还要再加 skinning weights / 三角形绑定。
典型规模:头部 8–20 万高斯、全身 20–50 万、Codec-quality 50 万–100 万。
乘上 236 B 就是 50–300 MB——这个数量级以后会反复出现,
特别是在"上手机"那一章。
§2核心方程
每个像素 $p$ 的颜色,是一组按深度从近到远排好序的高斯的 alpha 合成:
$$ C(p) \;=\; \sum_{i \in \mathcal{N}(p)} T_i\,\alpha_i\,c_i, \qquad T_i \;=\; \prod_{j \lt i}\bigl(1-\alpha_j\bigr) $$
其中 $\alpha_i = o_i \,\hat{G}_i(p)$,$o_i$ 是高斯的不透明度,
$\hat{G}_i(p)$ 是把 3D 高斯投影到屏幕后在像素 $p$ 处取值的"足印 (footprint)",
$c_i$ 是从球谐展开里读出的视角相关颜色。3D 高斯本身就是教科书:
$$ G(x) \;=\; \exp\!\Bigl(-\tfrac{1}{2}\,(x-\mu)^{\!\top}\,\Sigma^{-1}\,(x-\mu)\Bigr) $$
实践里不直接对 $\Sigma$ 做反向传播,而是用 $\Sigma = R(q)\,S\,S^{\!\top}\,R(q)^{\!\top}$
参数化,$S=\mathrm{diag}(\exp s)$ 是 log-scale,$R(q)$ 由单位四元数转出。
这样反传时 $\Sigma$ 总是正定。屏幕空间的椭圆形足印来自 Zwicker 等人
2002 年的 EWA splatting:
$$ \Sigma' \;=\; J\,W\,\Sigma\,W^{\!\top}\,J^{\!\top} $$
$W$ 是世界→相机的旋转部分,$J$ 是透视投影在 $\mu$ 处的雅可比。
数字人之所以叫"数字人",是因为再多一步——
LBS (Linear Blend Skinning)。
canonical 空间的点 $x_c$ 在姿态 $\theta$ 下变形为:
$$ x' \;=\; \Bigl(\sum_{b=1}^{B} w_b\,T_b(\theta)\Bigr)\,x_c, \qquad \Sigma' \;=\; R\,\Sigma_c\,R^{\!\top} $$
$T_b(\theta)\in SE(3)$ 是骨 $b$ 在姿态 $\theta$ 下的全局变换,
$w_b$ 是 skinning weight(满足 $\sum_b w_b = 1$),$R$ 是混合变换里的
旋转部分。这条公式就是后面所有论文都要处理、想绕过、或者明确改进的对象。
直觉
把 SMPL 网格想象成一件骨架戏服。每个三角形知道自己怎么动(靠 LBS 与
形状/姿态/表情 blendshapes)。把高斯当成挂在戏服上的小亮片:
三角形飞到哪儿,亮片就跟到哪儿——
既保留了戏服会动的好处,又把亮片自己负责的"光泽/颜色/视角"全交给 3DGS。
§3为什么 3DGS 适合做数字人
| 对比维度 | NeRF 数字人 | 3DGS 数字人 |
| 每像素代价 | 沿射线几十–几百次 MLP 查询 | 排序后对少数 splat 做 alpha 合成 |
| 会动后的实时速度 | ~1 FPS;INGP 加速到 10–30 FPS | 整人 30–100 FPS 是常态 |
| 可编辑性 | 隐式场,难局部改动 | 每个高斯是显式物体,可剪、可移、可加 |
| LBS 集成 | 变形 查询点,每条 ray step 都要做 | 变形 原语,整帧一次 |
| 非刚体动态(衣物/头发) | 需要在场上再叠一个 deformation MLP | 高斯本身可以再带一个 per-frame 偏移 |
| 存储 | 5–30 MB(网络权重 + hash grid) | 50–300 MB(原始 primitives,可压缩) |
| 训练监督 | 密集多视角才稳;单目脆弱 | 同样脆弱,但优化快一两个数量级 |
一句话:数字人是一个"要会动 + 要实时"的双重约束,
正好踩在显式表示的甜区。NeRF 主流速度的 30 FPS 是一台
好显卡的极限;3DGS 数字人的 100 FPS 是常态,剩下的算力可以拿去做
audio drive、garment dynamics、relighting。
核心前向 · 教学伪代码
# Render one avatar Gaussian onto one pixel.
# Pedagogical only — the real path is a fused CUDA tile kernel.
def render_one_gaussian(mu_c, S, q_c, opacity, sh, w, T_bones, K, W_view, pixel):
# 1) canonical Gaussian's covariance from scale + quaternion
R_c = quat_to_rotmat(normalize(q_c)) # 3x3
Sigma_c = R_c @ torch.diag(S.exp() ** 2) @ R_c.T # 3x3
# 2) LBS deformation of the mean: x' = (sum_b w_b T_b) x_c
T_blend = sum(w[b] * T_bones[b] for b in range(len(w))) # 4x4
mu_p = T_blend[:3, :3] @ mu_c + T_blend[:3, 3]
# 3) rotate the covariance by the LBS rotation
R_p = T_blend[:3, :3]
Sigma_p = R_p @ Sigma_c @ R_p.T
# 4) EWA: world -> camera -> screen-space 2x2 covariance
mu_cam = W_view[:3, :3] @ mu_p + W_view[:3, 3]
J = projection_jacobian(mu_cam, K) # 2x3
W3 = W_view[:3, :3]
Sigma_2d = J @ W3 @ Sigma_p @ W3.T @ J.T # 2x2
# 5) evaluate footprint at the pixel; alpha = o * G2d(p)
mu_2d = project(mu_cam, K)
d = pixel - mu_2d
G2d = torch.exp(-0.5 * d @ torch.linalg.inv(Sigma_2d) @ d)
alpha = opacity * G2d
# 6) view-dependent color from SH coefficients
view_dir = normalize(mu_p - cam_center(W_view))
color = sh_to_rgb(sh, view_dir)
return alpha, color
# caller does C = sum_i T_i * alpha_i * c_i (front-to-back blend)
把这段代码刻在脑子里:之后所有论文都是在 (1)–(6) 的某一步上动手。
GauHuman 改的是 LBS 权重的精细化与剪枝(步 2);
Relightable GCA 把 (6) 拆成 $\text{BRDF} \times \text{光照}$;
feed-forward LRM 把 $(\mu_c, s, q_c, o, sh, w)$ 全部从一张图前馈预测出来;
audio-driven talking head 把驱动信号从 SMPL pose 换成了 mel-spectrogram。
§4四个痛点
接下来三十多篇论文都可以看作是在和下面这四个痛点之一较劲。把它们
记住,每张论文卡片的 pain 标签都会指回这里。
痛点 (a):LBS 失真 · Animation fidelity
纯 LBS 在关节处会出现经典的"糖纸 (candy-wrapper) "塌陷:手肘弯到
$90^{\circ}$,本来该有的肉鼓出去的地方反而瘪进去。同样的现象出现在膝盖、
脖子、肩膀。把这套问题移植到 3DGS 上更微妙:高斯的协方差
也要旋转,混合旋转通常不是有效旋转,这又让椭球扁掉或者扭曲。
Demo 2 是这个痛点的可视化。
痛点 (b):衣物与非刚体 · Cloth & non-rigid
SMPL 是裸体模板。一旦穿上 T 恤、裙子、外套,松散的部分根本不按 LBS 走。
解决方案的光谱很宽:从给每个高斯加一个 per-frame 偏移 (3DGS-Avatar),
到为每件衣服分开建独立 Gaussian 层 (D3GA, Gaussian Garments),
到上正经物理仿真器 (PGC)。Demo 3 演示了这条光谱里"软硬"两端的差别。
痛点 (c):从有限数据复刻身份 · Identity from limited data
研究展示 demo 用的是几百帧 4K 多视角;用户手里只有一段手机自拍。
单目甚至单图重建 3DGS 数字人在欠定到几乎是幻想的程度——
深度、形状、姿态、外观一起耦合在像素上。第七部"Feed-forward LRMs"
全章节就是在和这个痛点死磕:要么用 LRM 大模型先验,要么靠 video
diffusion 补出"看不见的那半边",要么靠 SMPL-X UV 空间的归一化。
痛点 (d):重光照 · Relighting
vanilla 3DGS 把环境光烤进了 SH 里。换个场景、换盏灯,高斯还是
在自己"训练时所在的房间"里发着原来的光。要做真正的合成、AR、
虚拟摄影棚,必须把 albedo / 法线 / BRDF 拆出来——这就是 Saito 等
在 Codec Avatars Lab 一直在推的 Relightable GCA 系列。
Demo 4 演示了"烘焙 vs 解耦"的差别。
§53DGS-Avatar · canonical Gaussians + LBS warp 的范式
3DGS-Avatar
— 3DGS-Avatar: Animatable Avatars via Deformable 3D Gaussian Splatting
静态 3DGS 不能被重新摆姿势;NeRF 数字人训练几天、推理 ~15 FPS。
关键想法:在 SMPL canonical pose 空间里放一组高斯,
通过一个非刚体变形 MLP把每个高斯的位置/缩放/旋转扰动一下
(处理衣物),再用标准 LBS 把它扔回 posed 空间。整个 pipeline 30
分钟训完,整人 50+ FPS。这是后面所有"canonical + warp"工作共享的
范式。
第一篇把 3DGS 显式套进 LBS 流水线、并显式承认"高斯需要
非刚体扰动"的工作;定义了之后两年的体感节奏。
§6GauHuman · 快到离谱的训练
GauHuman
— GauHuman: Articulated Gaussian Splatting from Monocular Human Videos
3DGS-Avatar 比 NeRF 快,但还要半小时;能不能再快到"几乎不用训"?
关键想法:把 split / clone / merge 全都用 KL 散度
驱动——只在"高斯之间真的不一样"的地方密化,相同的地方合并;
再加上对 SMPL pose 与 LBS 权重的联合细化。结果:
训练 1–2 分钟,推理 ~189 FPS,全身只要 ~13k 高斯。
把 3DGS-Avatar 半小时的训练剪到一两分钟,并且让"什么时候该
增/减高斯"成为一个 principled 决策,而不是手调阈值。
§7GART · 把 LBS 自己也学出来
GART
— GART: Gaussian Articulated Template Models
SMPL 是给人设计的骨架;要做猫、狗、马呢?而且 SMPL 的固定
LBS 权重本身就不够细。
关键想法:把模板(SMPL 或 SMAL)当成初始化,
skinning weights 全部当成可学习量做 forward-warping;再加几根
"latent bones"专门负责非骨骼的形变(比如衣摆飘起)。一套代码同时
跑人和动物,150+ FPS。
不再把模板当真理;权重和骨数都是可调的,模板只提供
"形状大约长这样"的弱先验。
§8GaussianAvatar · 鲁棒于 pose noise
GaussianAvatar
— GaussianAvatar: Towards Realistic Human Avatar Modeling from a Single Video via Animatable 3D Gaussians
单目视频里 SMPL 估计有几度噪声;噪声会被外观网络当成真实信号学进去。
关键想法:把 SMPL pose 视为可联合优化变量,
同时学习一个"动态外观网络"把 pose 映射到细节高斯参数。pose 与
appearance 的耦合显式建模,反而让重建鲁棒于估计噪声。
3DGS-Avatar / GauHuman 都假定 SMPL pose 是真理;这里
第一次把"pose 也错"加进了优化目标。
§9GaussianAvatars · 高斯绑到 FLAME 三角形
GaussianAvatars
— GaussianAvatars: Photorealistic Head Avatars with Rigged 3D Gaussians
FLAME 网格没头发、没牙齿、没眼睛;纯高斯又不能被表情驱动。
关键想法:每个高斯挂在 FLAME 的某一个
三角形上——存的是该三角形的局部切线坐标系下的偏移。FLAME 动,
三角形动,高斯跟着平移+旋转。表情/姿态/视角统统可控,
并且照片级真实。
把"高斯粘在三角形上"这件事写成显式机制;之后头模型几乎
全部继承这个绑定。Demo 1 就是它的玩具版本。
§10Gaussian Head Avatar · 几何先验救稀视图
Gaussian Head Avatar
— Gaussian Head Avatar: Ultra High-fidelity Head Avatar via Dynamic Gaussians
稀疏视角下,夸张表情会把高斯糊成一团雾。
关键想法:先用 SDF / DMTet 学一个 neutral 几何,
再用它去 初始化高斯位置,并叠一个 MLP 变形场处理动态。
几何先验把"夸张表情让外观博士先验失效"这件事顶住了。2K 渲染下
照样清晰。
把"先有几何 prior 才放高斯"的思路系统化;之后 SEGA、
CAP4D 都在重复这个套路。
§11FlashAvatar · 300 FPS 单目头
FlashAvatar
— FlashAvatar: High-fidelity Head Avatar with Efficient Gaussian Embedding
per-frame 3DMM 解码慢;细节(齿、瞳、发际)丢失。
关键想法:高斯均匀铺在 FLAME 表面上,对头发/牙齿
的"逃逸"区域学一个小偏移量。短视频训完,单卡 300 FPS。
把 GaussianAvatars 的"绑三角形"变形得更激进——
根本不需要离开表面,让推理变得几乎免费。
§12MonoGaussianAvatar · 用拓扑变形场说话
MonoGaussianAvatar
— MonoGaussianAvatar: Monocular Gaussian Point-based Head Avatar
3DMM 拓扑固定;高斯如果完全跟着拓扑走,怎么表达"舌头突出"或者"夹脸"?
关键想法:保留 3DMM 作为弱锚,但在它之上叠一个
连续 Gaussian deformation field——本质上让拓扑"局部破裂"
才允许的形变成为可能。
前面几篇都强调"贴着网格";这一篇承认网格不够,
并提供一种允许偏离的机制。
§133D Gaussian Blendshapes · 把语义控制权交回来
3D Gaussian Blendshapes
— 3D Gaussian Blendshapes for Head Avatar Animation
per-frame 变形 MLP 既贵又不解释——做美术那一端的人没法捏脸。
关键想法:学一个 neutral 高斯基础 + N 个表情
blendshape delta。动画就是 N 个系数线性组合——
美术能直接拿到表情滑杆。
用经典 blendshape 语义代替 MLP;把数字人从"研究 demo"
推向"可控制资产"。
§14HUGS · 人和场景一起重建
HUGS
— HUGS: Human Gaussian Splats
真实视频里人和环境是耦合的;分割不干净训出来就是糊的。
关键想法:人和场景共享同一个 3DGS 优化,
人那部分用 SMPL 初始化高斯并联合学习 LBS 权重,
50–100 帧手机视频就足够;比 NeRF baseline 训练快 $\sim 100\times$。
第一次把"in-the-wild 单目 + 共重建场景"做到 60 FPS;
让数字人脱离了实验室录像。
§15Animatable Gaussians · 把外观放到 UV 图上
Animatable Gaussians
— Animatable Gaussians: Learning Pose-dependent Gaussian Maps for High-fidelity Human Avatar Modeling
per-Gaussian MLP 太多参数,学不出"姿态依赖的衣纹"。
关键想法:把高斯属性排到 UV 图上,
用一个 StyleGAN-风的 2D CNN 在 UV 空间里预测每个像素位置的
高斯参数;姿态作为条件输入。后来 v4 加入了 BRDF 和重光照。
把"per-Gaussian"换成"per-UV-pixel",让 2D 卷积的归纳偏置
生效;衣纹细节肉眼可见地提升。
§16ASH · UV-CNN 但更激进
ASH
— ASH: Animatable Gaussian Splats for Efficient and Photoreal Human Rendering
per-Gaussian MLP 在多视角训练里是渲染瓶颈。
关键想法:把高斯绑在一个可变形角色网格
上(不限于 SMPL),把它们的参数全部交给一个 2D CNN 在 UV 纹理
空间里预测。多视角训练下可以做到照片级实时。
与 Animatable Gaussians 思路相近;ASH 强调"任意角色
网格"——不局限于 SMPL 范式,工业落地更容易。
§17SplattingAvatar · 三角形上的步行坐标
SplattingAvatar
— SplattingAvatar: Realistic Real-Time Human Avatars with Mesh-Embedded Gaussian Splatting
MLP-LBS 让 3DGS 不能直接接进游戏引擎的标准动画管线。
关键想法:每个高斯保存一组"步行 barycentric
坐标"——它在哪个三角形、相对该三角形的什么位置;网格动,高斯
用 barycentric 插值跟动。300 FPS 桌面、30 FPS 手机。
和 GaussianAvatars 的绑定思想一致,但 walking barycentric
允许"漂移到邻近三角形",更灵活;同时不需要任何 MLP,便于落地。
§18GoMAvatar · Gaussians-on-Mesh 混合体
GoMAvatar
— GoMAvatar: Efficient Animatable Human Modeling from Monocular Video Using Gaussians-on-Mesh
纯高斯模型大、与栅格化管线不兼容。
关键想法:每个高斯只是一个 3D 位置 + 高斯属性的
元组,绑定到一个可变形网格的顶点。这样可以被 traditional
rasterizer 直接消费——整体只有 3.6 MB / 个人。
同 SplattingAvatar 一脉,但更进一步把数据结构压到
"和栅格化兼容"——是数字人走向"标准 3D asset"的一步。
§19HAHA · 该用网格的地方就用网格
HAHA
— HAHA: Highly Articulated Gaussian Human Avatars with Textured Mesh Prior
纯高斯在皮肤这种已经被 mesh 充分表示的地方浪费容量。
关键想法:保留贴图过的 SMPL-X 网格表示皮肤,
高斯只在网格不够用的地方(头发、宽松衣物)出现。
总高斯数砍到 1/3。
第一次显式把"什么用 mesh、什么用 Gaussian"作为优化
对象;不是技术新,是分工新。
§20D3GA · 衣物有自己的 cage
D3GA
— Drivable 3D Gaussian Avatars
LBS skinning 对宽松衣物失效;多层衣物之间还会出"接缝"。
关键想法:身体和每一件衣物各放进自己的
四面体笼子 (tet cage);笼子的形变取代 LBS,
高斯跟着笼子的 piecewise affine 变换。
第一次承认"一件衣物 $\ne$ 一组 SMPL 顶点",把多层结构
显式建模;后面 Gaussian Garments 一脉都受此启发。
§21ExAvatar · 整人,包括手和脸
ExAvatar
— Expressive Whole-Body 3D Gaussian Avatar
Body 模型不会表情,head 模型不会身体;要"整人"得拼装两套系统。
关键想法:把每一个 SMPL-X 顶点直接看成一个高斯,
继承 SMPL-X 的连通性约束;这样 body + hands + face 用一套表示
一起驱动。10 秒手机扫描可上手。
第一篇严肃地把 SMPL-X 当作"高斯的索引结构"——
连通性约束让稀疏视角下的优化稳得多。
§22GaussianTalker · 把音频拌进高斯属性
GaussianTalker
— GaussianTalker: Speaker-specific Talking Head Synthesis via 3D Gaussian Splatting
2D talking head 不立体;NeRF talking head 太慢;直接让音频改高斯参数不稳定。
关键想法:先把高斯绑在 3D face model 上;再训一个
speaker-specific Motion Translator 把音频映射到 mesh 形变,然后
交给 Dynamic Gaussian Renderer。130 FPS on RTX 4090。
第一次让"audio → 3D consistent talking head"在
实时预算内成立,且比 NeRF-based GeneFace 一类快一个数量级。
§23TalkingGaussian · 把结构和动作分开
TalkingGaussian
— TalkingGaussian: Structure-Persistent 3D Talking Head Synthesis via Gaussian Splatting
用音频驱动 radiance field 时脸会"抖"——结构不持久。
关键想法:显式拆分——结构 (canonical 高斯) 和
动作 (音频驱动的形变场) 解耦;嘴内放一个专门的分支处理舌头/牙齿。
同 GaussianTalker 一脉,但更明确地把"持久身份"放在
canonical pose,把"瞬时动作"放在 deformation——这种解耦
在后续 UniGAHA 中也是核心。
§24DEGAS · 全身会说话
DEGAS
— DEGAS: Detailed Expressions on Full-Body Gaussian Avatars
身体高斯模型 (ASH/Animatable) 完全不带表情。
关键想法:训一个 conditional VAE 把
(body pose, facial expression) 映射到 UV Gaussian maps;
可以接 2D talking-face 网络做音频驱动。第一个"全身丰富表情"的
高斯数字人。
把第四部 (Bodies, UV-CNN) 与第五部 (talking heads)
连起来——也是 LHM、TaoAvatar 这一脉"全身可驱动"的前奏。
§25UniGAHA · 通用音频先验
UniGAHA
— Audio-Driven Universal Gaussian Head Avatars
audio→avatar 通常只预测几何形变,外观调制(口腔内部、注视)丢失。
关键想法:先在多个体上训练一个通用头部先验
(几何+外观的联合 latent),然后把原始音频直接映射到这个联合
latent;新身份只需几张图就能 inversion 进来。
从"per-subject 音频驱动"跃迁到"shared audio prior + few-shot
identity"——和第七部 LRM 的"跨身份大模型"哲学是同一条路线。
§26DreamGaussian · SDS 终于跑得动了
DreamGaussian
— DreamGaussian: Generative Gaussian Splatting for Efficient 3D Content Creation
SDS-on-NeRF 要几小时一个 asset;3D occupancy 太稀疏不好优化。
关键想法:把 SDS 的目标从 NeRF 换成可渐进密化的
3DGS;先快速优化高斯,再 mesh 抽取 + UV 纹理 refine。
单图 → 2 分钟出 asset。
虽然不是专门做数字人,但把 SDS 的预算从"小时"打到"分钟",
之后所有 text-to-avatar 都基于这个新预算。
§27HumanGaussian · SMPL-X 引导的 SDS
HumanGaussian
— HumanGaussian: Text-Driven 3D Human Generation with Gaussian Splatting
generic Gaussian-SDS 对人体几何先验空白,要么过饱和要么不像人。
关键想法:用 SMPL-X 引导高斯的增长/剪枝,
并用 annealed negative prompt 抑制饱和色——拿到结构正确、
细节也不糟的 text-to-human。
把 SDS 与人体先验缝起来;之后大多数 text-to-avatar 都
默认要有 SMPL 结构损失。
§28GAvatar · 可动的 SDS 数字人
GAvatar
— GAvatar: Animatable 3D Gaussian Avatars with Implicit Mesh Learning
text-to-3DGS 生成的人不能动;几何噪声大。
关键想法:在 pose-driven primitives 内部定义高斯,
用 MLP 同时预测它们的属性和一个隐式 SDF,再抽出干净 mesh。
1K 分辨率 100 FPS,并且可以接 SMPL pose。
把 HumanGaussian 的"能生成"扩展为"能动",
填补了 generative ↔ animatable 之间的缝。
§29DreamWaltz-G · Skeleton-guided SDS
DreamWaltz-G
— DreamWaltz-G: Expressive 3D Gaussian Avatars from Skeleton-Guided 2D Diffusion
SDS-based text-to-avatar 缺 pose/view 一致性;表情也乏味。
关键想法:把 SMPL-X skeleton 注入 2D diffusion 的
条件输入;表示选用 3DGS / SMPL-X 混合,既能被 SDS 蒸馏又能被 pose
驱动。
让 generative-stack 和 driving-stack 第一次共享一个表示,
不再是"生成完再贴一层动画"的两段拼接。
§30HumanSplat · 单图前馈数字人的起点
HumanSplat
— HumanSplat: Generalizable Single-Image Human Gaussian Splatting with Structure Priors
per-subject 数字人要几分钟到几小时;客户要"上传一张照片"。
关键想法:用 2D 多视角 diffusion 模型生成几个虚拟
视角,再交给一个 latent reconstruction transformer 注入 human
semantic priors(SMPL 关键点、part 分割),秒级得到高斯人。
第一次让"单图 → 静态 3DGS 人"在前馈框架下 work;
之后 IDOL / LHM / Avat3r 全在加速 + 扩到动画。
§31IDOL · SMPL-X UV 上的大模型
IDOL
— IDOL: Instant Photorealistic 3D Human Creation from a Single Image
HumanSplat 拿到的还是"静态"3DGS;姿态、形状、外观依然耦合在一起。
关键想法:把所有目标都重写在 SMPL-X 的 UV 空间里:
UV-Alignment Transformer 把图像 token 注意到 UV token,预测
Gaussian attribute maps;在 10 万人多视角数据上预训。
把"feed-forward 数字人"从前馈静态升级为前馈
animatable——UV 空间天然继承 SMPL-X 的 pose 控制。
§32LHM · 几秒钟出一个可驱动数字人
LHM
— LHM: Large Animatable Human Reconstruction Model from a Single Image in Seconds
HumanSplat / IDOL 还要分钟级;要"自拍即数字人"必须前馈到秒级。
关键想法:multimodal transformer 把 image token
attend 到 SMPL-X 表面 anchors,head 部分加一个 feature pyramid 保
细节;一次前向输出 canonical 高斯。几秒钟。
参数规模从"小 LRM"放大到真正的 LHM 量级;
几乎重新定义了"how fast is fast"——成为 2025 后续所有 LRM 的对标。
§33Avat3r · 几张手机照片出动态头
Avat3r
— Avat3r: Large Animatable Gaussian Reconstruction Model for High-fidelity 3D Head Avatars
Per-subject 头部数字人需要数百张多视角图 + 小时级训练。
关键想法:LRM 风的 transformer 接 ~4 张手机照片,
cross-attention 接表情控制;一次前向回归一个 animatable 高斯头。
LHM 是"全身从一张图";Avat3r 是"头部从四张图"。
两者一起定义了 2025 的 LRM-for-avatar 范式。
§34LAM · 一张照片,标准渲染器即可播放
LAM
— LAM: Large Avatar Model for One-shot Animatable Gaussian Head
One-shot 头部模型推理时还要一堆 auxiliary network 才能动起来。
关键想法:让 Transformer 用 FLAME canonical points
去 query 多尺度图像特征,直接产出 drivable 高斯;任何 WebGL/Unity
标准渲染器都能直接放。
把"前馈数字人"和"传统 3D 资产管线"对齐——这是它从
Avat3r 之类的研究 demo 走向真实部署的关键差异。
§35CAP4D · 用 multi-view diffusion 补缺视角
CAP4D
— CAP4D: Creating Animatable 4D Portrait Avatars with Morphable Multi-View Diffusion Models
参考图就那几张,FLAME 头怎么也填不满 $360^{\circ}$。
关键想法:训一个 morphable multi-view diffusion,
幻视出几百个虚拟视角 + 虚拟表情;再用 GaussianAvatars 风格的
FLAME-attached 高斯拟合所有这些虚拟数据。
这是"video diffusion 当数据增广"思路的第一篇大作;
之后 GAF、AHOY 都按这个套路走。
§36TaoAvatar · 在 Vision Pro 上跑
TaoAvatar
— TaoAvatar: Real-Time Lifelike Full-Body Talking Avatars for AR via 3D Gaussian Splatting
实验室质量的全身 talking avatar 没法在 AR/手机上运行。
关键想法:高斯绑在个性化穿衣 SMPL-X上;
先用 StyleUNet 学非刚体形变,再把它蒸馏成一个轻量 MLP
+ 一套 blendshapes。90 FPS on Apple Vision Pro。
第一篇把 3DGS 数字人推到 consumer XR 硬件上;
研究和落地的距离从"几个数量级"压到"一次蒸馏"。
§37Relightable Gaussian Codec Avatars · 头部级的 BRDF 解耦
Relightable GCA
— Relightable Gaussian Codec Avatars
vanilla 3DGS 烤了光;要做 AR/合成必须能换光。
关键想法:每个高斯多带一份 learnable radiance transfer
—— diffuse 项用 SH、specular 项用 spherical Gaussian basis。
可以做实时全频率重光照,连发丝级的细节都重光照得起。
把 3DGS 从"显式几何 + 烤光"升级为"显式几何 + 显式光照
+ 显式 BRDF"——之后整个 relightable 子方向都是它的子嗣。
§38URAvatar · 全民可重光照
URAvatar
— URAvatar: Universal Relightable Gaussian Codec Avatars
RGCA 需要 studio 多灯多视角;普通用户跨不过这道门槛。
关键想法:先在几百名 studio subject 上预训一个
通用可重光照头部先验;新用户只需一段手机扫描,在未知
光照下做 few-shot 微调即可得到 relightable 头。
把 RGCA 的"工业级捕获 → 工业级结果"民主化成"phone
scan → relightable"——重光照不再是研究院里的玩具。
§39Relightable Full-Body GCA · 从头到脚
RFGCA
— Relightable Full-Body Gaussian Codec Avatars
RGCA 只解决了头;身体上还有 self-shadow、衣物吸光、手与脸互遮挡。
关键想法:把 GCA 的 learnable BRDF 推广到全身高斯,
显式建模局部 + 非局部的光传输(自阴影 / 透光 / 漫反射相互作用),
body pose 作为条件输入。
把 relightable codec avatar 的尺寸从"领针"扩到"全身衣物"——
这是真正能进 AR 应用的里程碑。
Demo 4 · 烘焙 vs 解耦:拖光源看脸
画布上拖动那盏灯——默认是烘焙模式(vanilla 3DGS):
脸永远朝着训练时那盏灯亮。打开开关切到 Relightable:高斯多带
一个法线 + albedo,脸开始响应当前光源方向。这就是
RGCA / URAvatar 在做的事情。注意暗部不是黑——
一个 0.08 的环境光下限避免完全黑,否则你看不到脸的轮廓。
§40OMEGA-Avatar · $360^{\circ}$ 单图头
OMEGA-Avatar
— One-shot Modeling of $360^{\circ}$ Gaussian Avatars
关键想法:把头发的几何处理 (semantic-aware mesh deformation)
与 UV-space multi-view feature splatting 联合学习,得到第一篇能
"一张图 → $360^{\circ}$ 完整 + 可动"的头部数字人。
单图头从"近正脸尚可,背后空白"升级到"全 $360^{\circ}$ 都可信"——
对 GAGAvatar / GPAvatar 的 2024 方案是质的提升。
§41FullHead-Avatar · 246 FPS 真实时
FullHead-Avatar
— Generalizable and Animatable 3D Full-Head Gaussian Avatar from a Single Image
关键想法:UV 空间的高斯参数 + 预训练 3D-GAN 全头先验
去填充背面;推理 246 FPS。
和 OMEGA-Avatar 几乎同时给出 $360^{\circ}$ 完整解;
这里更侧重速度——三位数 FPS 让"实时驱动"无后顾之忧。
§42FastGHA · 亚秒级 few-shot 头
FastGHA
— Generalized Few-Shot 3D Gaussian Head Avatars with Real-Time Animation
关键想法:per-pixel Gaussian transformer 接 DINOv3
+ SD-VAE 特征,再叠一个 MLP 动态网络;亚秒级出可动数字人。
2024 年的 GAGAvatar 是"几秒 + 较糊";
FastGHA 是"亚秒 + 比 per-subject 还能打"。
§43ELITE · 把 2D diffusion 蒸进前馈头
ELITE
— Efficient Gaussian Head Avatar from a Monocular Video via Learned Initialization and Test-time Generative Adaptation
关键想法:先用一个 Mesh2Gaussian 前馈先验快出
initial 高斯,再用单步 rendering-guided diffusion enhancer
在 test time 微调。
2024 era 的 "GAGAvatar + 2D diffusion" 用几十步推理;
ELITE 缩到一步,速度 $60\times$。"diffusion 当增强器"的常态化版本。
§44AHOY · YouTube-ready 数字人
AHOY
— Animatable Humans under Occlusion from YouTube videos with Gaussian Splatting and Video Diffusion priors
关键想法:训练时 LoRA 微调 Wan 2.2 video diffusion
匹配主体身份,再把它当成"看不见区域"的监督来填补遮挡。
两阶段 sparse-to-dense pipeline。
第一篇把"in-the-wild 视频 (有遮挡、有相机切换)"
当作可重建对象的数字人工作;3DGS-Avatar / GauHuman 在这种数据
上是直接崩的。
§45RnD-Avatar · 单目可重光照
RnD-Avatar
— Relightable and Dynamic Gaussian Avatar Reconstruction from Monocular Video
关键想法:动态 skinning weights + 稀疏几何
正则,让 pose-variant 形变和 PBR 重光照可以联合优化——单相机即可。
RGCA / RFGCA 都是 multi-view 棚拍;RnD-Avatar 是
"单目也行"——把重光照从 Codec Lab 推向消费者。
§46GTAvatar · 纹理映射式编辑
GTAvatar
— Bridging Gaussian Splatting and Texture Mapping for Relightable and Editable Gaussian Avatars
关键想法:把高斯嵌进 UV 纹理空间,于是任何
paint-on-texture 工具都能直接编辑高斯人——美术工作流回归了。
替代 GaussianAvatar-Editor 等"神经编辑"方案——
直接给美术一张可画的纹理,比 prompt engineering 友好十倍。
§47Better-Rigs · 网络反而不必更大
Better-Rigs
— Better Rigs, Not Bigger Networks: A Body Model Ablation for Gaussian Avatars
关键想法:把 SMPL 换成 Momentum Human Rig
(SAM-3D-Body 估计) ,然后完全去掉学习的形变网络。
在 PeopleSnapshot / ZJU-MoCap 上反而拿到 SOTA PSNR。
这是反向论证:"这两年 deformation MLP 越叠越多" 其实是
在补 SMPL 不准的洞;换一个准的骨架,加号都不用加。
§48ARAvatar · 自回归外观,消除闪烁
ARAvatar
— Autoregressive Appearance Prediction for 3D Gaussian Avatars
关键想法:同样的姿态可以对应不同外观(衣纹随机性);
per-frame 预测器会闪。改成 spatial-MLP-conditioned-on-pose + 自回归
appearance latent,时间相关性显式建模。
3DGS-Avatar、Animatable Gaussians 都有"高速重放时闪烁"
的失败模式;ARAvatar 第一篇直接把它当成 ill-posedness 来治。
§49Avatar-Forcing · 半秒响应的交互头
Avatar-Forcing
— Real-Time Interactive Head Avatar Generation for Natural Conversation
关键想法:因果 diffusion-forcing + DPO 训练,
让头会"被多模态信号打断、回应、抢话"。~500 ms 延迟。
从"audio → talking head"(单向)跨到"audio ↔ avatar"
(双向)——这是 conversational AI agent 视觉化的最直接前驱。
另有若干 2026 工作我没单独立卡但值得提一句:
Retrieval-AugGA (arXiv:2603.08645) 用最近邻表情检索
缓解单身份头部过拟合;
LayerGS (arXiv:2601.05853) 把人按"皮 / 内衣 / 外衣"
分层,方便虚拟试衣;
LiftAvatar (arXiv:2603.02129) 用 video-diffusion
把稀疏 mocap "提升"到富 kinematic 信号;
HGC-Avatar (arXiv:2510.16463) 与
VRGaussianAvatar (arXiv:2602.01674) 分别处理流传输和
VR 头显的两端部署痛点。还有一篇
GaussianHeadTalk (arXiv:2512.10939) 我没能完全交叉验证作者,
把它标为 unconfirmed 留在这里。
§50仍然没解决的问题
按主线领域走完一遍之后,2026 年中这套故事里仍未真正解决的几个坑:
- 从音频到全身(不止头)的交互。
Avatar-Forcing 拓宽了"音频↔头部"的双向带宽;但全身+手势的 conversational
agent 还没看到一个能跑的工作——UniGAHA + DEGAS 只把音频对应到身体姿态
的浅近 mapping。
- 真正的衣物物理仿真。Gaussian Garments 和 PGC
把方向打开了,但训完一个数字人就要单独再训一组衣物物理
仿真器;"端到端可微 + 真物理 + 实时"还没出现。
- 大规模身份分布的 LRM。LHM / IDOL 在百万级数据上
训过,但身份多样性仍然偏窄(年龄、肤色、体型)。
Better-Rigs 反向论证说"骨架更准比网络更大",但前提是骨架
能覆盖 long tail——目前 SAM-3D-Body 也覆盖不全。
- 3DGS 数字人的"压缩到能上 4G 网络"。
HGC-Avatar 是第一篇 streaming 工作;
但 100 KB/s 类别的 web-grade 数字人还没见到。
这块卡的是表示——SH 系数和高斯位置 entropy 都太高。
- 身份与表情的分离。"换我的脸到另一个人的表情"
仍然容易泄露身份;SEGA、Retrieval-AugGA 在缓解但不解决。
Codec Avatars 的 latent 空间是这条路的中长期目标——但只有 Meta 训过。
- 多人交互场景。两个数字人手牵手、抱在一起、
互相遮挡时,没有一个公开 pipeline 处理碰撞、阴影互相投射、共享光场。
这里没有论文;连数据都缺。
- 评测的崩塌。PSNR / SSIM / LPIPS 在 head 上已经
饱和——四篇 2026 frontier 的 PSNR 差不多都在 32–35 dB,肉眼能
分出谁更好但指标分不出。社区还没有跨论文统一的"主观对比 benchmark"。
总结一句话
3DGS 数字人的故事可以简化成两件事:
(a) 怎么动得对 → 找一根更好的骨架 (SMPL / FLAME / MANO / Momentum),
把高斯挂到它的三角形上,再用尽可能少的形变网络补差;
(b) 怎么从越来越少的数据搭起来 →
per-subject 30 分钟 → 几秒 → 一张图 → 半张图 + video diffusion 幻视另一半。
所有论文都是在 (a)(b) 这张图里某一格"上一颗螺丝"。
重光照、衣物物理、talking-head 是这两条主线上的修饰,不是主线本身。
§A名词表 · Glossary
| 术语 | 解释 |
| 3DGS | 3D Gaussian Splatting (Kerbl 2023),用一堆 3D 高斯
椭球+SH 颜色表示场景,alpha 合成出像素。 |
| SMPL / SMPL-X | 参数化人体网格 (Loper 2015 / Pavlakos 2019)。
SMPL-X 额外带手 (MANO) 和脸 (FLAME) 的关节。 |
| FLAME | 参数化头部网格 (Li 2017),5023 个顶点,
shape/pose/expression 三组 blendshapes。 |
| MANO | 参数化手部网格 (Romero 2017)。 |
| LBS (Linear Blend Skinning) | $x' = (\sum_b w_b T_b) x$,
把骨骼变换按 skinning weight 线性混合作用在网格顶点 / 高斯上。 |
| Canonical pose | 规整的 T-pose / A-pose;
3DGS 数字人通常在这个 pose 下存高斯。 |
| Candy-wrapper artifact | 纯 LBS 在弯折关节处的横截面塌陷。
Demo 2 的直接演示对象。 |
| SH (Spherical Harmonics) | 球谐展开;vanilla 3DGS 用前 16 项
存视角相关颜色 (degree 3)。 |
| EWA splatting | Elliptical Weighted Average (Zwicker 2002)。
3D 高斯投影到屏幕后的 2D 椭圆足印。 |
| SDS (Score Distillation Sampling) | 用 2D diffusion 当
gradient oracle 训练 3D 表示 (DreamFusion 2022);
DreamGaussian / HumanGaussian 都靠它。 |
| LRM (Large Reconstruction Model) | 一类前馈 transformer,
输入一张/几张图,直接吐出 3D 表示。HumanSplat、IDOL、LHM、
Avat3r、LAM 都属此类。 |
| Codec Avatar | Meta Reality Labs 一脉的 latent-space
head/full-body 表示;URAvatar / RFGCA 把它做成 Gaussian 版本。 |
| UV-space Gaussians | 把高斯属性排成 UV 纹理图,用 2D CNN
/ Transformer 在 UV 上预测;ASH、Animatable Gaussians、IDOL、LAM
都是这套。 |
| per-subject optimization | 对每一个被拍摄的个体单独跑一次
训练(几分钟到几小时)。 |
| feed-forward / one-shot | 不为新身份训练,
一次网络前向得到数字人。 |
| relighting | 给定新的环境光,重新渲染数字人;
要求 albedo / normal / BRDF 与光照解耦。 |
| tet cage | 四面体笼子;D3GA 把高斯放进笼子,
笼子形变 $\approx$ 衣物形变。 |
§B推荐阅读顺序
按"对后面理解最有帮助"的顺序,不按发表时间。读完前 5 篇,
之后的论文都能"读论文 + 看图"完成;不读它们就反复看不懂表述。
- Kerbl et al. SIGGRAPH 2023, 3D Gaussian Splatting
—— 整个生态的源头。先弄明白 EWA、tile-based rasterizer、densification
三件事。
- SMPL / FLAME 原始论文(任一)——
搞清楚 shape/pose/expression blendshapes 和 LBS 权重的来源,
再读 avatar 论文时不会被 $\theta, \beta, \psi$ 搞糊涂。
- 3DGS-Avatar (Qian 2024) —— 范式:
canonical Gaussians + LBS warp + 非刚体扰动 MLP。
- GaussianAvatars (Qian, head 2024) ——
"高斯挂在三角形上"的最清晰呈现;Demo 1 就是这篇的玩具版。
- GauHuman (Hu 2024) —— KL-guided
split/clone/merge 是后面所有"训练快"的标准做法。
- D3GA (Zielonka 2024) —— 衣物用 cage、
LBS 不是唯一答案——这观念后面反复出现。
- Relightable GCA (Saito 2024) ——
见识一下 BRDF 解耦的高斯长什么样;之后任何"重光照"论文都能秒读。
- HumanSplat (Pan 2024) —— 单图前馈数字人的开门作;
之后 IDOL / LHM / Avat3r 都是同一思路的迭代。
- LHM (Qiu 2025) —— 现在"几秒钟出数字人"的当代基准。
- TaoAvatar (Chen 2025) —— 看一个真实部署到
Vision Pro 的端到端 pipeline 长什么样,研究和落地的距离感会变实。
- AHOY (Mir 2026) —— video-diffusion+3DGS 混合
的代表;理解前沿"补缺数据"思路的入口。
- Better-Rigs (Austin 2026) —— 反向论证一遍:
很多复杂网络其实是补 SMPL 的洞。读完之后再回头看 §5–§21
会有新味道。