Machine Learning - Coding - AI - Computer Vision - Computer Graphics

About Me

I am a PhD student at University College London under the supervision of Dr Gabriel Brostow and Dr Jamie Shotton of Microsoft Research Cambridge.

My PhD is oriented towards efficiency in CNNs for use in computer vision, both in terms of inference and learning. More generally, I am interested in improving the current architecture and paradigms of neural networks as well as utilising techniques such as reinforcement learning to push the state of the art in AI.

Coding has been a great passion throughout my life, especially in C++ with CUDA and python. However, I have come to realise through experience that I don't just want to implement other peoples' ideas, but come up with my own. That is why I have chosen to start a PhD.

Apart from Machine Learning, I have a deep and detailed understanding of Computer Graphics, Computational Physics, Imaging, Data/IO, Multi-threading and GPU optimisation. I am proficient in C, C++, Python, CUDA, C#, html/js and lua.


Interpretable CNN Transformations

I am second author on the paper "Interpretable Transformations with Encoder-Decoder Networks" (ICCV 2017). The paper can also be found on arxiv.

Harmonic Convolutions

I am second author on the paper "Harmonic Networks: Deep Translation and Rotation Equivariance" (CVPR 2017). The complete codebase for both the core algorithms and tensorflow training environment can be found here and has received positive feedback since its release.


I was awarded a 20000$ grant for my proposal to teach computers how to use 'human' tools (such as Adobe Photoshop or SideFX Houdini) to create 3d models and sketches. More details about my grant proposal can be found here. Currently, I am working on the 2d 'sketching' part of this project, which aims to generate vectorised images from input photographs one brush-stroke at a time.

Tracking Mouse Paws

I have spent a large amount of time creating a dataset of annotated mouse motion from high-speed video footage. The results of our neural-network based trackers are currently being turned into a paper.

Interactive Computer Graphics WebGL Framework

UCL contracted me for from September to December 2016 to create and design an interactive, real-time coursework framework. Using webgl, complex algorithms can be implemented and debugged in real-time. The result can be found at cg.cs.ucl.ac.uk. It was launched to very positive feedback in late 2016.

Tech Talks

I have given a number of talks during my time at UCL, most notably:


"Interpretable Transformations with Encoder-Decoder Networks"

This work has been published at ICCV 2017. It can be found on arxiv. Please see the project page for more details.

"Harmonic Networks: Deep Translation and Rotation Equivariance"

This work has been published at CVPR 2017. It can be found on arxiv. Please see the project page for more material.

"Integration and Visualization Public Health Dashboard: The medi+board Pilot Project"

This work has been published at the International World Wide Web Conference 2014. It can be found on the acm website.

"Simulating Organic Tissue with Position Based Dynamics"

This is my second MSc thesis for which I received a distinction award with 87. It can be found here. There are currently plans to turn it into a journal paper.

Please note that my first MSc thesis was a proprietary collaboration with industry and thus remains unpublished. It was awarded a mark of 90 and dealt with denoising for path tracing.


Harmonic Convolutions

I have written a large part of the code for the paper "Harmonic Networks: Deep Translation and Rotation Equivariance" (currently submitted to CVPR 2017). The complete codebase for both the core algorithms and tensorflow training environment can be found here and has received positive feedback since its release.

Denoising Framework

I have been interested in advanced image denoising algorithms since working in this area for the Moving Picture Company, London. This repository contains my general c++ denoising framework, including a full implementation of the BM3D and Non-Local Bayes algorithms. It also includes code for making those algorithms interact with neural networks and is fully multi-threaded using boost.

Viserion for Torch

Before moving all my neural network code to tensorflow, I wrote a training framework for torch which handles advanced IO and model processing. I have received special acknowledgement for its development in the paper "Unsupervised Monocular Depth Estimation with Left-Right Consistency" (Submitted to CVPR 2017). The code can be found here, and a detailed manual can be found in the corresponding wiki.

CUDA-accelerated Position-Based-Dynamics for Viscoelastic Tissue

The main project of my second MSc project dealt with the simulation of viscoelastic tissue for surgical simulation. I was awarded high distinction marks of 87 for my thesis "Simulating Organic Tissue with Position Based Dynamics" under the supervision of Dr Danail Stoyanov. The code for this project can be found here. It contains classes for advanced data IO of deforming 3d meshes using alembic, and a solver capable of simulating 20000 tetrahedra at 200FPS on a Geforce GTX 680.

CV & Experience

Honours & Awards

This is a short list of my academic history. Please note that more details can be found on LinkedIn.

I have completed the following degrees:

  • University College London: MSc Computer Graphics, Vision & Imaging, Computer Engineering, Computer Graphics, Computer Vision, (First Class Honours) Distinction (2014 – 2015)
  • University College London: MSc Computer Science, Computer Science, (First Class Honours) Distinction (2013 – 2014)
  • Kings College London: Bachelor of Laws (LLB), Law, 2:1 (2010 – 2013)

I have additionally received the following awards and certificates:

  • Azure4Research Scholarship for 20000$ from Microsoft (2016)
  • University College London Dean's List for outstanding academic performance
  • Cambridge Certificate of Proficiency in English (CPE) - Grade A (2009)
  • Best Master's Presentation - UCL Festival of Digital Health (2014)


I have most recently completed a (after multiple extensions) 9 month internship at Microsoft Research Cambridge in machine learning. This work concerned both designing new approaches for CNNs and efficient implementations of these in c++/python. We are currently finishing a paper detailing some of this work.

Additionally, I have worked both as an intern and software engineer in R&D at the Moving Picture Company (MPC) in London. This work was mostly c++ and carried out in an actual production environment which was at the time processing films such as Disney's 'Jungle Book'.

Research Intern Microsoft Research Cambridge (March 2017 – November 2017) (9 months). Publication Imminent.

Software R&D MPC July 2014 – September 2014 (3 months)

  • R&D in noise reduction for interactive GPU ray tracing
  • Developing and extending similar techniques for use in Pixar's Renderman 19

Software Engineer - R&D MPC February 2015 – March 2015 (2 months). Contractual work to design & implement a new production de-noising tool for natural and digital images.


In the area of machine learning, I have expert knowledge of neural networks (most notably convolutional neural networks), as well as random forests and other classic approaches. I have a particular interest in reinforcement learning, (especially actor-critic models such as DDPG) and love to combine neural networks with such techniques.

Languages I speak:

  • German (native proficiency)
  • English (native proficiency)

I am proficient in the following programming languages:

  • c
  • c++ (98-14)
  • python
  • c#
  • lua
  • javascript (+html, css)
  • java

I have additionally got good knowledge in the following:

  • Miranda
  • Haskell
  • VEX (SideFX Houdini)

Libraries I have work with extensively:

  • Tensorflow
  • Numpy/Scipy
  • Pytroch, Torch
  • CNTK
  • Matlab
  • Alembic
  • OpenExr
  • Intel Threading Building Blocks (TBB)
  • Eigen
  • Intel Math Kernel Library
  • CUDA libraries such as CuSparse

Software I know very well:

  • Visual Studio (also Visual Studio Code)
  • Text editors like Sublime, QTCreator, (Vim)
  • Microsoft Office
  • The Foundry's Nuke
  • Adobe Photoshop
  • Pixar's Renderman (RIS)
  • Autodesk Maya
  • SideFX Houdini

Contact Me

If you any questions or would like to get in touch, please feel free to send me a message on LinkedIn, or drop me an email at stephan.garbin.13 at ucl.ac.uk, or alternatively stephangarbin at outlook.com