Whole-body human reference model and tools for unifying representations of whole-body human motion
Using segmentation we try to divide records of human motion into unique pieces with different properties. For example walking is a multiple repetition of a step forward action. If we assume that all human actions consist of a finite number of recurrent segments, we can describe every complex movement with a set of basic elements.
Segmenting huge amounts of motion recordings by hand is rather complex. Therefore we try to find and use different methods for more automated segmentation. The MMM framework contains some computational-based approaches on motion segmentation and a corresponding graphical user interface in the MMMViewer.
The segmentation methods in the MMM framework are all implemented as plugins. Each of these plugins correspond to one different approach on segmentation.
Currently only the following segmentation methods are implemented (but not all of these are really useful for automated motion segmentation):
There are two possible ways to implement this method:
The main idea of PCA is to reduce the space dimensions by computing only the important vectors. The eigenvectors of the covariance matrix are the principal components of the vector. Only few eigenvectors hold the most of the variance in the movements, those are the vectors with the highest values. The representation is projected in a lower dimensional space (by choosing only the important eigenvectors) and then projected back. After the reconstruction, we calculate the error. In case the error value is above a defined threshold, the motion is segmented.
The MMM framework does not contain a specific executable command line tool to segment motions.
If you want to execute these segmentation methods, you just need to link these libraries in CMake to your own project and then call it normally by their available constructor.
The graphical user interface is coded as plugin and currently part of the MMMViewer.
Several different segment motion plugins with different segmentation methods can be loaded. On the right side of the graphical user interface specific values can be set for different segmentation plugins. On the left side the result of a segmentation is displayed by the segmentation timesteps (blue color).