论文解读(全头皮重建方向):3DCMM

从面部到完整头部:3DCMM 的技术原理解析

在这里插入图片描述

引言

在计算机图形学和人体工学领域,3D 头部模型的需求日益增加。无论是虚拟化身的创建还是头盔的个性化设计,仅有面部模型往往不足以满足要求,完整的头部几何(包括头皮)才是关键。传统的 3D 可变形模型(3DMM)多集中于面部重建,头皮区域因数据稀缺和技术限制常被忽略。2022 年发表于 VRCAI’22 的论文《3DCMM: 3D Comprehensive Morphable Models for Accurate Head Completion》提出了一种新方法,利用 2528 个真实头部扫描数据,构建了 3D 综合可变形模型(3DCMM),并实现从 2D 面部图像或 3D 扫描到完整头部的重建。

本文将详细解析 3DCMM 的技术原理,重点放在其数学基础和推导过程上,力求清晰且严谨。


背景

现有的 3DMM(如 Basel Face Model、FaceScape)擅长面部细节的重建,但对头皮区域的支持有限。少数头部模型(如 FLAME、LYHM)虽然尝试覆盖全头,但受限于样本数量(数百至一千多)、分辨率(顶点数较低)或种族单一性(多为白人数据),难以满足高精度需求。此外,头皮数据采集因头发遮挡而困难重重。

论文的目标是从面部输入(2D 图像或 3D 扫描)生成完整头部,方法是先重建面部,再预测头皮。为此,作者引入了 3DCMM,分成面部模型(3DMFM)和头皮模型(3DMSM),并用大规模真实数据驱动其构建和应用。


核心原理

1. 数据基础

3DCMM 的基础是 2528 个中国人群的 3D 头部扫描数据,涵盖年龄 3-84 岁,包括成人(1763 人)和儿童(765 人)。这些数据使用高精度扫描仪(如 Artec Eva,精度 0.1 毫米)采集,并通过非刚性迭代最近点算法(NICP)对齐到统一模板,确保顶点对应一致。

2. 主成分分析(PCA)构建 3DCMM

PCA 的基本过程

每个头部扫描是一个高维向量,例如面部模型有 53,215 个顶点(159,645 维,x, y, z 坐标),直接处理这些数据计算量巨大。PCA 通过降维提取主要形状变化模式,将头部表示为参数化模型。

  1. 数据矩阵与中心化

    • 设数据矩阵 X∈RN×DX \in \mathbb{R}^{N \times D}XRN×DN=2528N = 2528N=2528(样本数),D=159,645D = 159,645D=159,645(维度)。
    • 计算平均形状:
      S‾=1N∑i=1NXi \overline{S} = \frac{1}{N} \sum_{i=1}^N X_i S=N1i=1NXi
      其中 XiX_iXi 是第 iii 个头部的顶点向量。
    • 中心化数据:
      Xcentered=X−1S‾T X_{\text{centered}} = X - \mathbf{1} \overline{S}^T Xcentered=X1ST
      1\mathbf{1}1 是全 1 向量,XcenteredX_{\text{centered}}Xcentered 表示每个样本的偏差。
  2. 协方差矩阵

    • 计算协方差矩阵:
      C=1N−1XcenteredTXcentered C = \frac{1}{N-1} X_{\text{centered}}^T X_{\text{centered}} C=N11XcenteredTXcentered
      C∈RD×DC \in \mathbb{R}^{D \times D}CRD×D,是一个对称矩阵,反映顶点坐标间的相关性。
    • 由于 DDD 极大(159,645),直接计算 CCC 成本高昂。实际中,可用奇异值分解(SVD)优化:
      • XcenteredX_{\text{centered}}Xcentered 进行 SVD:
        Xcentered=UΣVT X_{\text{centered}} = U \Sigma V^T Xcentered=UΣVT
        • U∈RN×NU \in \mathbb{R}^{N \times N}URN×NΣ∈RN×D\Sigma \in \mathbb{R}^{N \times D}ΣRN×DV∈RD×DV \in \mathbb{R}^{D \times D}VRD×D
        • VVV 的列是主成分,Σ2/(N−1)\Sigma^2 / (N-1)Σ2/(N1) 对应特征值。
      • 协方差矩阵可表示为:
        C=1N−1VΣ2VT C = \frac{1}{N-1} V \Sigma^2 V^T C=N11VΣ2VT
  3. 特征分解与主成分

    • CCC 进行特征分解(或直接用 SVD 结果):
      C=VΛVT C = V \Lambda V^T C=VΛVT
      • Λ=diag(λ1,λ2,…,λD)\Lambda = \text{diag}(\lambda_1, \lambda_2, \ldots, \lambda_D)Λ=diag(λ1,λ2,,λD)λi\lambda_iλi 是特征值,按降序排列。
      • V=[v1,v2,…,vD]V = [v_1, v_2, \ldots, v_D]V=[v1,v2,,vD]viv_ivi 是主成分向量。
    • 取前 mmm 个主成分(论文中 m=220m = 220m=220,解释 98% 方差),组成矩阵 B=[v1,v2,…,vm]B = [v_1, v_2, \ldots, v_m]B=[v1,v2,,vm]
  4. 形状表示

    • 每个头部可表示为:
      S=S‾+Bα S = \overline{S} + B \alpha S=S+Bα
      • α∈Rm\alpha \in \mathbb{R}^mαRm 是系数向量,B∈RD×mB \in \mathbb{R}^{D \times m}BRD×m
    • 系数计算:
      α=BT(S−S‾) \alpha = B^T (S - \overline{S}) α=BT(SS)
      因为 BBB 的列正交(BTB=IB^T B = IBTB=I),投影直接得出 α\alphaα
3DCMM 的子模型
  • 3DMFM(面部):顶点数 53,215,Df=159,645D_f = 159,645Df=159,645
    Sf=Sf‾+Bfshpαf S_f = \overline{S_f} + B_{fshp} \alpha_f Sf=Sf+Bfshpαf
  • 3DMSM(头皮):顶点数 24,729,Ds=74,187D_s = 74,187Ds=74,187
    Ss=Ss‾+Bsshpαs S_s = \overline{S_s} + B_{sshp} \alpha_s Ss=Ss+Bsshpαs

3. 重建流程

步骤 1:面部重建
  • 输入:2D 图像或 3D 扫描。
  • 方法:
    • 2D 图像通过 CNN(如 Deep3DFace)预测 αf\alpha_fαf
    • 3D 扫描通过 PointNet 编码为 αf\alpha_fαf
  • 输出:SfS_fSf
步骤 2:头皮预测与合并
  • 转换矩阵计算

    • 目标:从 αf\alpha_fαf 预测 αs\alpha_sαs
    • 数据:2528 对面部-头皮系数对,记为 Mf∈Rmf×NM_f \in \mathbb{R}^{m_f \times N}MfRmf×N(面部系数矩阵,mf=220m_f = 220mf=220),Ms∈Rms×NM_s \in \mathbb{R}^{m_s \times N}MsRms×N(头皮系数矩阵,ms=220m_s = 220ms=220)。
    • 多项式回归:
      • 扩展 MfM_fMf[Mf,Mf2,…,Mfn][M_f, M_f^2, \ldots, M_f^n][Mf,Mf2,,Mfn],维度变为 (mf⋅n)×N(m_f \cdot n) \times N(mfn)×N
      • 求转换矩阵 Cf,sC_{f,s}Cf,s
        Cf,s=MsMfT(MfMfT)−1 C_{f,s} = M_s M_f^T (M_f M_f^T)^{-1} Cf,s=MsMfT(MfMfT)1
        • MfMfT∈Rmf⋅n×mf⋅nM_f M_f^T \in \mathbb{R}^{m_f \cdot n \times m_f \cdot n}MfMfTRmfn×mfn 是 Gram 矩阵,若不可逆,可加正则化项 ϵI\epsilon IϵI
          Cf,s=MsMfT(MfMfT+ϵI)−1 C_{f,s} = M_s M_f^T (M_f M_f^T + \epsilon I)^{-1} Cf,s=MsMfT(MfMfT+ϵI)1
        • 论文实验表明 n=1n = 1n=1(线性回归)最佳。
    • 预测头皮:
      αs=Cf,s[αf,αf2,…,αfn] \alpha_s = C_{f,s} [\alpha_f, \alpha_f^2, \ldots, \alpha_f^n] αs=Cf,s[αf,αf2,,αfn]
      Ss=Ss‾+Bsshpαs S_s = \overline{S_s} + B_{sshp} \alpha_s Ss=Ss+Bsshpαs
  • 合并

    • 使用权重分布图(鼻尖为坐标原点)平滑过渡:
      Smedi=(1−Wi)Ssi+Wi∑k=13wi,kSfi,k S_{\text{med}}^i = (1 - W^i) S_s^i + W^i \sum_{k=1}^3 w^{i,k} S_f^{i,k} Smedi=(1Wi)Ssi+Wik=13wi,kSfi,k
      • WiW^iWi 为顶点权重,wi,kw^{i,k}wi,k 为重心坐标权重。

在这里插入图片描述


实验结果

  • 模型质量:3DMFM 重建误差 0.33 毫米,3DMSM 为 0.49 毫米,优于 BFM-2019(0.95 毫米)。
  • 头皮预测:误差 2.04 毫米,优于拟合方法(3.23 毫米)。
  • 应用:支持虚拟化身生成和头盔设计。

分析与展望

3DCMM 的优势在于真实数据支撑、独立头皮建模和参数化表示。其局限是数据集中于中国人群,未来可融入多种族样本(如 Headspace)提升普适性。


结语

3DCMM 通过 PCA 和回归,从面部重建到完整头部,提供了一种高效、精确的方法。其数学基础扎实,应用前景广阔,为后续研究奠定了基础。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

FLOWVERSE

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值