### Summary This algorithm takes as input a sequence of meshes. The output is a set of bones and bone weights for the vertices of the mesh. The bones, weights, and rest pose of the mesh can then be used to animate the object with the resulting animation being an approximation of the input sequence of meshes. ### Problem To be able to efficiently animate and render a sequence of meshes representing an animation. ### Solution This paper attempts to make animations consisting of a sequence of meshes quicker to animate and render in real time by approximating the sequence as a set of bones and vertices with associated weights. The sequence of meshes is analyzed and mean-shift analysis on triangle rotation is used to identify vertices in the mesh that tend to move rigidly with each other. From this data, joints are created for the various rigid sets of vertices that were identified. Next, for each vertex the algorithm analyzes the set of meshes to determine which bones influence the position of the vertex. A non-negative linear least squares problem is then solved for the weights of the bones for each vertex. The result of this is an animation represented as one mesh and a set of bones rather than a sequence of meshes. This result is much more efficient to store and animate on modern hardware. ### Contributions 1. Use of mean-shift to identify groups of vertices in a mesh that move rigidly together over the course of an animation. 2. Method for automatically creating bones given a sequence of meshes. 3. Use of NNLS for determining weights of bones for each vertex. ### Questions, Comments, Flaws Certainly, this method seems to be able to take an input sequence of meshes and create an approximated animation that is much smaller in terms of necessary storage as well as easy to animate and quick to render. I must question the usefulness of this technique, however. Creating each frame for each animation is extraordinarily difficult. It may be that this method could be used similar to the Skins From Examples paper in which a set of poses could be input to this method, and the algorithm will be able to output a set of bones and weights appropriate for the character. However, the usefulness of this is somewhat questionable. This data will have to match some sort of motion data (likely motion capture) which has a pre-defined bone structure. Being able to enforce this bone structure on the skin as in the Skins From Examples paper seems much more useful than creating bones automatically.