Inspiration
The inspiration for MaskOn was a number of people who do not follow public safety guidelines and walk into shared spaces without wearing facemasks. We thought to use positive reinforcement to encourage being safe.
What it does
The main Python script sits and continuously monitors some webcam stream. It uses a machine learning model to detect if a user wearing a mask is present in the frame. If there is one then, after a short delay to build confidence in a valid reading, the program saves and image and uploads it to a website under a congratulatory post.
How we built it
We decided to use a pre-trained ML project which does facemask detection on a stream. The project makes use of tensorflow and Opencv to do this. We then built some logic on top of this to create screenshots when individuals continually wear a mask. This gets saved into a special directory and another function writes up a post with randomized congratulatory message. We push changes on to GitHub where a static site created using Jekyll periodically updates.
Challenges we ran into
We had a lot of trouble getting started with our project. Originally we spent a lot of time on another COVID-themed project which was ultimately abandoned due to difficult and size. When we began the mask project late in the evening our team had little to no experience in using machine learning models and trying to integrate them into an idea. Even just installing requirements was tricky due to us using several different platforms. Finally we also struggled to manage to used the static site tools in a dynamic way.
Accomplishments that we're proud of
For as hacked together the project is, it does manage to work which is nice.
What we learned
We should spend more time designing a project. Also its important to manage expectations for how much reading and learning is possible in 24 hrs.
What's next for MaskOn
MaskOn could have many improvements with respect to flexibility and integration. It would be nice if it could monitor several streams at once and also take screenshots of individual people instead of the whole frame. The website could also definitely be made more interesting.


Log in or sign up for Devpost to join the conversation.