We present a new method to bake classical facial animation blendshapes into a fast linear blend skinning representation. Previous work explored skinning decomposition methods that approximate general animated meshes using a dense set of bone transformations; these optimizers typically alternate between optimizing for the bone transformations and the skinning weights.We depart from this alternating scheme and propose a new approach based on proximal algorithms, which effectively means adding a projection step to the popular Adam optimizer. This approach is very flexible and allows us to quickly experiment with various additional constraints and/or loss functions. Specifically, we depart from the classical skinning paradigms and restrict the transformation coefficients to contain only about 10% non-zeros, while achieving similar accuracy and visual quality as the state-of-the-art. The sparse storage enables our method to deliver significant savings in terms of both memory and run-time speed. We include a compact implementation of our new skinning decomposition method in PyTorch, which is easy to experiment with and modify to related problems.
翻译:本文提出了一种将传统面部动画混合形状烘焙为快速线性混合蒙皮表示的新方法。先前的研究探索了通过密集骨骼变换集来近似通用动画网格的蒙皮分解方法;这些优化器通常在优化骨骼变换与蒙皮权重之间交替进行。我们摒弃了这种交替优化方案,提出了一种基于邻近算法的新方法,其核心是在流行的Adam优化器中增加投影步骤。该方法具有高度灵活性,使我们能够快速尝试各种附加约束和/或损失函数。具体而言,我们突破了传统蒙皮范式,将变换系数中的非零元素限制在约10%左右,同时达到了与最先进技术相当的精度和视觉质量。稀疏存储特性使我们的方法在内存占用和运行速度方面均实现了显著优化。我们在PyTorch中提供了新型蒙皮分解方法的紧凑实现,该实现易于实验并可根据相关问题进行修改。