Joel Gustafsson
Software engineer. Photographer. Musician.

Action recognition using OpenPose and TDA

I spent the summer of 2018 at Fujitsu Centre of Excellence of AI at École Polytechnique in Paris, France. There, I developed a machine learning system for classifying actions based on OpenPose (a cnn which detects the position of body parts of people in an image), and TDA (topological data anlysis). The project gave me plenty of opportunity to develop my understanding of how to work with and combine multiple machine learning tools into a powerful classifier.

Clustering Genomic Signatures

For my master's thesis, I developed a fast and accurate clustering method for genomic signatures, with a primary application of viruses. In summary, the process is to train a variable length Markov model (referred to as a genomic signature) from the virus DNA sequence, measure the differences between the models using a new distance function, and cluster the models using average-link clustering.

Stupid clocks

A personal project for the sake of satisfying my insanity. It is a collection of either stupid or insufficient way to tell time. Two of my personal favourites are the prime clock (only displays each digit in the clock if it is prime) and the map clock (translates the current time to a position on the earth). If you have any cool ideas for a clock, feel free to contact me or submit a pull request on GitHub.

Web instrument

As part of my interest in music, I wanted to develop a web interface for a digital instrument. The interface allows a user to manually set the envelope (attack, decay etc.), the overtones, some low-frequency modulation of the instrument as well as what short melody it should play. It also allows a user to add more instruments in order to have them interact.

The interface relies heavily on the Web Audio API, which turns out isn't really optimised for what I wanted to do. If you play around with the interface, you may notice some audio artefacts. If that is the case, try to minimise how many overtones you use.