Charlie Nash

I'm a PhD student at the University of Edinburgh supervised by Chris Williams. I'm part of the Centre of Doctoral Training in Data Science.

My interests are in generative models, approximate inference and deep learning. Currently my research is focused on 3D shape modelling for computer vision applications.




Inverting Supervised Representations with Autoregressive Neural Density Models.
Charlie Nash, Nate Kushman, Chris Williams, AISTATS, 2019.
pdf bibtex

The multi-entity variational autoencoder.
Charlie Nash, Ali Eslami, Chris Burgess, Irinia Higgins, Daniel Zoran, Theophane Weber, and Peter Battaglia, Neural Information Processing Systems (NIPS), Learning disentangled features workshop, 2017.
pdf bibtex

The shape variational autoencoder: A deep generative model of part-segmented 3D objects.
Charlie Nash and Chris Williams, Symposium of Geometry Processing (SGP), 2017.
pdf bibtex

Generative models of part-structured 3D objects.
Charlie Nash and Chris Williams, Neural Information Processing Systems (NIPS), 3D Deep Learning Workshop, 2016.
pdf bibtex

Overcoming Occlusion with Inverse Graphics.
Pol Moreno, Chris Williams, Charlie Nash and Pushmeet Kohli, European Conference of Computer Vision (ECCV), Geometry meets Deep Learning Workshop, 2016.
pdf bibtex


The multi-entity variational autoencoder

Distilling Model Knowledge

We present an approach for learning probabilistic, object-based representations from data, called the “multi-entity variational autoencoder” (MVAE).

The model features a novel decoder mechanism that aggregates information from multiple latent object representations. We infer object attributes in parallel using a mechanism called "maximal information attention" that attends to the most-informative parts of the image. We demonstrate that the model can learn interpretable representations of visual scenes that disentangle objects and their properties.

For more information please see the paper

The shape variational autoencoder

Distilling Model Knowledge

We introduce a generative model of part-segmented 3D objects: the shape variational auto-encoder (ShapeVAE).

The ShapeVAE describes a joint distribution over the existence of object parts, the locations of a dense set of surface points, and over surface normals associated with these points. Our model makes use of a deep encoder-decoder architecture that leverages the part-decomposability of 3D objects to embed high-dimensional shape representations and sample novel instances.

The ShapeVAE is capable of synthesizing novel shapes, and by performing conditional inference enables imputation of missing parts or surface normals. In addition, by generating both points and surface normals, our model allows for the use of powerful surface-reconstruction methods for mesh synthesis.

For more information please see the paper

Modelling 3D Shape Classes

Distilling Model Knowledge

A model of object shape can be very useful for computer vision applications, whether as a means of generating richly-annotated training data for a recognition model, or as a component in an inverse-graphics system.

In this project we develop a system that can generate novel instances of an object class, using a collection of examples from that object class as training data. Our system establishes correspondences between landmark points on different objects, learns a generative model of the point locations, samples landmark points using the model and then meshes the shape samples.

This work was my MSc project. More info can be found in the poster and MSc thesis.

Classifying Tasks Using a Brain-Computer Interface

Electroencephalograms (EEGs) can record electrical activity in the brain. In conjunction with a brain-computer interface (BCI) they can be used to augment human sensory functions or control robotic devices.

In this project we use EEG inputs to classify which of three tasks a subject is performing. We apply feature selection, then use Random Forests with temporal smoothing to classify each time point.

This was a short project as part of the MSc in Data Science at Edinburgh University. More info can be found in the poster and report.


Optimal step non-rigid ICP

Distilling Model Knowledge

MATLAB implementation of a non-rigid variant of the iterative closest point algorithm. It can be used to register 3D surfaces or point-clouds. The method is described in the following paper:

'Optimal Step Nonrigid ICP Algorithms for Surface Registration', Amberg, Romandhani and Vetter, CVPR, 2007.


  • Non-rigid and local deformations of a template surface or point cloud.
  • Iterative stiffness reduction allows for global intitial transformations that become increasingly localised.
  • Optional initial rigid registration using standard iterative closest point.
  • Optional bi-directional distance metric which encourages surface deformations to cover more of the target surface


Distilling Model Knowledge

Python implementation of Gaussian Mixture Model (GMM) variants.


  • GMMs with full, diagonal and spherical covariance matrices.
  • Mixture of factor analysers (MFA) and mixture of probabilistic principal component analysis models (MPPCA).
  • Handles missing data using the EM algorithm.


Before starting my PhD, I did a Masters by Research in Data Science (as part of the CDT in Data Science) at Edinburgh. My MSc thesis was on 3D shape modelling and was supervised by Chris Williams.

Prior to that, I did my undergraduate degree also at Edinburgh where I studied Mathematics.



Room 2.25, Informatics Forum
10 Crichton Street
Edinburgh, UK