Data-Driven IK in Character| 角色中的数据驱动反向动力学

读论文写代码有感,当我们从隐空间的角度看待动画,很多动画的机器学习算法的原理就比较好理解。以及IK,传统的方法可以看成是机器学习方法的近似和简化。 因此笔者试做了一个Data-driven IK的Demo Github地址:latent-pose Blender中使用 动作数据在引擎内显式表示为每根骨骼的TRS(位移旋转缩放)。这样来看其维度(自由度)是12*NJoints。即4x4其次矩阵去掉最后一行。如果只有旋转是3*Njoints(Axis-Angle表示下) 一个观察是,这个维数是不大的,就算100跟骨骼旋转,这才300个维度。相比于图片和模型处理动不动上百万的维度,已经相当好训练和运行了。因此动画中应用机器学习进展的相当快。比如最近几年比较火的motion matching, RL生成动画等等。 另一个观察是,这么多维度中, 各个维度不...
Read More

A Differentiable Chair | 一把可微分椅子

最近做的一个实验,用一个椅子模型去匹配图片。 主要受到CMR这篇论文的启发,MPI之前的一系列文章,比如SMPlify。用到了最近比较热门的可微分渲染器,比如Neural Mesh Renderer。 最后能生成一个模型和一张贴图,贴上贴图在Blender里预览一下 由于预先分了对称的uv,以及拟合pose不太准的问题,贴图看上去还是有点莫名其妙,并且看不到的部分还是白的。 uv texture 这里给个引子介绍一下几篇相关的论文。 Category-Specific Mesh Reconstruction 论文标题Learning Category-Specific Mesh Reconstruction from Image Collections,ECCV2018的文章。作者Kanazawa是UCB的博士,之前在德国马普所交...
Read More

Skin Decomposition | 蒙皮分解

想解决的问题是:已知一连串顶点运动的动画,能不能用骨骼动画把它表示出来? 比如,一个动补的脸部动画?一个离线模拟的布料?   以下是笔者测试的一个结果,UE4中渲染,连衣裙用了接近200根骨骼。可以看到有些帧跳了,应该是动画压缩的问题。 1. Intro 一个直觉的想法是,这不就是降维嘛。顶点运动的很多数据是相关的,比如相近两点的运动会比较接近。所以应该有办法压缩它们,就像PCA主成分分析一样,找到影响顶点最重要的维度就行了。   自然学术界已经有很多研究了。自然首先推荐ACM SIGGRAPH 2014 Course, Skinning: Real-time Shape Deformation 主持人是Dual Quaternion的提出者Kavan大神 第四部分就是讲蒙皮分解,也就是本文想解决的问题。讲义中提到了SMA,FSD,SSDR三种方法。嗯FSD也是Kavan提...
Read More