Machine Learning Project

cleverusername82
Tribe Bytes
Published in
2 min readSep 19, 2019

I had my first experience with machine learning this week. My whole class was assigned to take an example from ml5js and add our own flair onto the project. Throughout the process, my partner and I switched up our design plans several times, finally settling on using Posenet as a facial feature tracker that would display an image based on the location of a person’s nose.

Posenet example

Posenet is a prebuilt machine learning model used for real-time human pose estimation through a webcam. One of our first ideas was actually building our own model set, but we quickly realized the difficulty. Creating your own set of models, enough so that the computer could recognize a new one, would take an immense amount of time and effort.

After the decision of which prebuilt model to use, we started on our first prototype. The design was to simply track a person’s nose and insert a picture on that location, effectively replacing the person’s face. Posenet in its most basic form tracks several parts of a person’s body and face (eyes, nose, elbows, shoulders etc.) and draws circles on them, then lines between the circles. The first step of the project was very easy, simply replacing the circles with an image. We quickly ran into a wall after that, struggling to remove all of the images except the one centered on the nose. After many failed attempts we received help from our teacher and were back on track. We still had one problem left, the image was appearing with the top left corner on the nose, not the very center. While experimenting to fix this, we found our very different but final solution.

Revised code to only track the nose

This became the most valuable lesson I learned from doing this project, the final product may not turn out as what you envisioned, but that isn’t always a bad thing. Our complete product was now just an image, currently our teacher’s head, that followed you as you moved around an area. There’s many future updates and changes we can make if it’s ever needed, but for now, we’re content with the project.

--

--