Josh Murr — Thesis Project Log
MSc Creative Computing 2019–2020
This website serves as a catalog of all work produced for the thesis.
There are individual projects shown below each of which are written about it more detial in the Project Log with the final outcome being Learning to Learn to See.
Learning to Learn to See
The final outcome of the thesis project. A TensorflowJS core is used to run inference on one of three custom models provided, which is wrapped in a bespoke WebGL wrapper to handle input pre-processing and displaying the output of the model to the browser. The models and the online platform combined acheive a framerate useable on most standard integrated GPUs.
TensorflowJS Analyser and Benchmarking
The first testbed used to gain statistics on ML models converted using TensorflowJS for use in the browser. The website is still online and functional, but the use of OpenCV for image preprocessing was ultimately dropped in favor of WebGL in the final outcome.
WebGL CNN
An experiment which spiralled out of control resulting in shader based convolutional neural network using GLSL and WebGL. It is a small Javascript library which allows you to create model layers dynamically connecting the output of one layer into the next. Each layer can only perform a downsampling or upsampling 2D convolution. The output of each layer is a 3D tensor flattened into a 2D texture. Weights and biases can be uploaded as textures to specific layers and input data can be updated dynamically for video.
Auto Pix2Pix
A Git repository designed to be cloned into a Google Colab session which has a number of Bash and Python scripts to automate the process of building a dataset from YouTube videos and then training a Pix2Pix style model on that dataset.