# Visualising Human Skeletal Motion

In a nutshell, the objective of my project this summer is to develop a visualisation of real human skeletal motion based on motion capture. I will be working at IT4Innovations, the Czech national Supercomputing Center in Ostrava, where the Salomon cluster is based. The Salomon cluster is currently the 78th most powerful supercomputer in the world, and includes some specialised visualisation nodes which will be useful for my project.

The first step of this project will be to generate a 3-dimensional model of a human skeleton from computed tomography (CT) images. To do this, it will be necessary to segment the skeletal image data into a set of images representing individual bones. The K-Means Segmentation Algorithm is a simple, yet powerful, unsupervised machine learning algorithm that will be suitable for this segmentation.

Animation of the k-means algorithm. Source: wikimedia.org/wiki/File:Kmeans_animation.gif

The standard K-Means Segmentation Algorithm has a time complexity of $O(n^2)$, which means that it takes a long time to run this algorithm on a large dataset. Thankfully, this algorithm can be parallelised, and a group of researchers at IT4Inovations have implemented a parallel version of this algorithm using OpenMP. This implementation is optimised to run on the Xeon Phi co-processors that are included in several compute nodes of the Salomon cluster. In plain English, this means that this method for generating models of individual bones from the model of the skeleton requires less time to run using the supercomputer.

Kinematic chain modelling human body (Simplified). Source: wikipedia.org/wiki/Kinematic_chain#/media/File:Modele_cinematique_corps_humain.svg

Once I have generated mesh models from the image data, I will need to use the Kinect 2 to generate a 3-dimensional kinematic chain based on motion capture of a moving human. A kinematic chain is simply a set of rigid bodies, connected by fixed points and various constraints defining how the fixed bodies can move relative to the rigid bodies they connect to. These models are often used in robotics, but can also be useful in other fields including structural engineering and physiotherapy.

IT4I have developed some rather interesting plugins for Blender used for medical image processing on the Salomon cluster. In my next blogpost, I will go into more detail about image processing, the DICOM standard, and generating mesh models with Blender using the Salomon cluster.