Philippe Marcotte

Philippe Marcotte

Software engineer and machine learning developper

Machine Learning Projects

Software Projects

For a robotic class named Duckietown, we had robots using a camera to follow a road in a model city. The goal was to improve the existing system. We used a Pure Pursuit controller as a basis but refined it using Residual Policy Learning. Instead of modelizing the whole system using Reinforcement Learning, we modeled only a correction that would be applied on top of the PID controller as to make it better. To achieve this, we adapted https://arxiv.org/abs/1509.02971 and used a variety of pretraining. The markdown report can be found here.

For my third project class during my undergrad studies, we had to port a driving game, made during the second year on Windows in C++, to iPad and add a networking component. The latter entailed being able to edit map a la Google Doc and having multiple players driving on it at the same time. The iPad application also had to work online. I lead the team that worked on the iPad application where we had to redo the whole application back-end and create a new front-end. I also implemented an instant messaging system for the iOS application.

For a project class done during my master, we had to work on three different projects during the semester. The second project I worked on, proposed by Horoma, consisted in having to identify tree species from 21 different ones based on patches of 32x32 pixels that were part of much bigger images of forests. We had only access to a very small labeled dataset and a big unlabeled one. Using Variational and CNN autoencoders, we leverage the unlabeled data to learn differentiating features and create clusters representing each species. Then, using K-mean and the labeled data, we identify each cluster. Finally, our final k-mean model was the best from all the teams working on the project. I was mainly in charge of implementing the training loop for all the models, testing, hyperparameter search and the CNN autoencoder. The code is under NDA.

In my free time, I made my own server running Ubuntu 18.04 headless on an Odroid HC2. All the services offered are compartmentalized in docker containers. Outside network traffic is managed through a reverse-proxy (Nginx) and secure https connection is done with the help of Lets encrypt. Automated incremental backups to external hard drive are done using borg-backup and redundant backups of the password manager database are sent to Google Drive.

The project consisted in reproducing the experiment described in this paper. The experiment consisted in fusing three ordinary images (Low Dynamic Range) of different exposition time from the same scene in one HDR image. For this reason, an optic flow algorithm was used to align the lowest and highest exposition on the normal exposition image. Then, a convolutional network was used to model the fusing process.

In my free time, I made an Android application that let a user browse his or her Goodreads library. I used the Goodreads REST API to do so.

My last project during my undergrad studies consisted in developping an RTP Stack for testing a VoIP software made by the company Broadsoft. The code is under NDA.

rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora