Continuing the learning journey
With this article, we are reaching the end of this course. We tried to teach you concepts we consider fundamental and which will help you to continue the learning journey by yourself. In this article, we want to show you some resources that can help you to deepen your understanding of shape modelling as well as to put to practical use the things you have learned.
We used Gaussian Processes as our fundamental modelling technique but could only show you a small part of what Gaussian Processes can offer. You can find a wealth of literature about Gaussian Processes in the field of statistics. In this course, we have used Gaussian Processes to represent spatial data. This type of Gaussian Processes is usually referred to as Gaussian random field in the statistics literature. An introduction to Gaussian random fields, with additional pointers, is given in this review article:
Another area where Gaussian Processes proved to be very useful is machine learning. An excellent introduction to Gaussian Processes and their use in machine learning is given in this free online book:
If you would like to acquire an understanding of the mathematical structures associated with Gaussian Processes and their connection to kernel methods and differential equations, we strongly recommend the following article:
The approach to shape modelling that we have presented in this course is summarised in our paper
Our approach is by no means the only possible way to model shapes. There are many other approaches, which differ in the way the shapes are represented or use different mathematical tools for modelling. We are not aware of any book that gives an overview of all the important types of shape models. However, this excellent review article by Tobias Heimann et al. provides a good summary with many pointers to the relevant literature:
Long before statistical shape modelling became a popular tool for image analysis, statistical shape models were studied as a branch of statistics. A good introduction to the statistical aspects of shape modelling can be found in the following classical book:
Model-based image analysis and pattern theory
In this course, we have shown you how you can perform model fitting using a simple iterative algorithm. The problem of fitting would deserve much more attention and although these simple algorithms can get you started, more sophisticated methods are needed to successfully apply model fitting to image analysis. We refer again to the paper by Heimann and Meinzer for a overview of different methods used in model-based image segmentation:
The problem of model-based image analysis can be seen as a special case of the pattern analysis problem. Pattern theory provides a very general framework for the description of patterns based on probabilistic models that are then fitted to the data using an analysis-by-synthesis approach. We recommend the following book by D. Mumford and A. Desolneux, but remark that the mathematical prerequisites are much higher than what has been required in this course:
If you continue working with Scalismo, it is essential that you learn more about the programming language Scala, as you would eventually like to use Scalismo as a library that can be used in your own applications. There are many good books on Scala available. We particularly like the book:
Another good introduction to Scala:
whose first chapters covering the basics of the language are available here.
Shape modelling is very much an applied discipline and software plays an extremely important role. I hope we could convince you that a system like Scalismo, which can directly visualise what is going on, is of great help.
Note that the Scalismo version used for this course (v0.10) is not the latest version. This is due to the fact that version release speed of software is rather high, which would require shooting new tutorial videos frequently. We therefore prepared a wiki page, to guide your transition from the Scalismo Lab scripts you developed in this course, to a full Scala application making use of the latest version of the Scalismo library.
If you prefer to use R instead of Scala, you can use the package Morpho together with RvtkStatismo. These packages together offer all the functionality that we covered in this course as well as great visualisation capabilities.
If you liked modelling with Gaussian Processes, but prefer working in C++, you can use Statismo. It supports all the concepts we have taught in the course and is designed to work together with the popular open sources image analysis libraries VTK and ITK.
Maybe the most important part in shape modelling is a set of representative example data from which the shape variations can be learned. The SICAS Medical Image Repository (SMIR) contains a large number of images and surfaces of anatomical structures, many of which are publicly available.
An ideal data set for shape modelling is a set of faces. Besides being great fun, modelling faces also lets us understand and visually assess the plausibility of the modelled shape variations. The Basel Face Model is a face model built from a set of 200 face scans. Among many other applications, you can use it for generating realistic face examples for your own shape modelling experiments. It can be downloaded and used freely for academic and non-commercial purposes.
© University of Basel