基于gaussian splatting的人体三维重建大致可以分为三个步骤:
1.得到初始化高斯
2.对高斯属性包括位置、旋转、颜色等优化(对变形的处理)
3.Splatting过程优化
GauHuman
创新点:
1.在Gaussian Splatting框架中集成了人体信息,实现基于3D高斯表示的人体重建;
2.针对人体,在Splatting过程中对修建高斯部分进行优化,减少训练过程中的高斯数量进而降低显存占用。
1.得到初始化高斯
首先对比原始Gaussian Splatting由SfM points的每个点为中心创建高斯分布(椭球):
SfM point:从运动结构产生的稀疏点云,包含位置坐标、颜色等属性。这种初始化方法针对静态场景,不适用于三维人体结构。
高斯的初始化:1.均值——点的位置;2.协方差(控制高斯的大小和方向)——都为球体,半径为计算最邻近三个点的距离(knn);3.球谐函数——用16*3=48个参数表示颜色(不同方向);4.透明度
在GauHuman中以每个SMPL顶点初始化高斯位置。
SMPL顶点:SMPL人体模型的顶点,包含位置、权重等属性。SMPL每个顶点与人体骨架的多个关节相关联,并且有不同的权重。SMPL模型中通常有24个关节,每个顶点的权重分配给这些关节。
2.对高斯属性包括位置、旋转、颜色等优化(对变形的处理)
采用MLP预测权重偏移量得到更准确的变换矩阵——对于每个3D高斯,将最近SMPL顶点的LBS权重与预测偏移量相加;经过姿势修正MLP得到更准确的姿势参数。
权重偏移量如何影响高斯变形?——变换矩阵表示顶点的旋转和缩放,是多个关节的变换矩阵按权重加权和。这个权重由SMPL默认的权重与MLP预测的权重偏移量相加得到。
姿势参数如何影响高斯变形?——在LBS变换中,顶点的位置不仅受到骨骼变换(旋转和缩放)的影响,还会受到姿态偏移的影响。姿势修正MLP预测的correct_Rs可以修正初始的关节旋转矩阵,进而影响计算出的姿态偏移,而这个偏移量会直接加到顶点的位置上。
使用得到的变换矩阵和平移向量改变高斯的位置p和协方差(被存储为用于缩放的3D向量s和表示旋转的四元数q),将高斯变换到姿势空间:
3.Splatting优化
得到的姿势空间下的高斯分布使用原始Splatting过程,另外添加了:1)采用KL散度作为高斯距离的度量。对梯度大并且KL散度大的高斯执行克隆或分割的操作;对梯度大、缩放小并且KL散度小于0.1的两个高斯合并。2)修剪远离SMPL顶点的3D高斯。