Title: Monster of the Week Identifier
Course: Atelier I: Discovery 001
Name: Shannen Guntoro
GitHub Repository: https://github.com/mcshanneng/Monster-of-the-Week_Final
The final assignment was built up on all the 4 tests. The 1st test was testing out the layout of the assignment and creating a web-space canvas. The 2nd test was testing out the regression in the feature extractor. The 3rd test, was testing out the feature extractor's classifier as well as using multiple instances of it on one image. Finally, the 4th test was testing out the using .JSON files to load the data set.
Building up on the idea
The idea of the project was built on the Monster of the Week trope from shows like Buffy the Vampire Slayer and Supernatural. The trope has the main characters identifying and facing off different kinds of monsters in each episode. Eventually, I thought that it would be more fun if the players could create their own monster by inputting features and having the computer draw it by creating a custom data set and utilizing SketchRNN. However, due to time constraints, I decided to do it the other way round and have the computer try to identify what the user is drawing.
The initial idea also involved giving the monster names instead of categorical identifiers. I felt it would be more interesting and varied if the monsters were, instead, given categories and identifiers
What works and What doesn't work
Ultimately, the project is pretty successful. Most of the things work as intended. The pictures are able to be identified by the computer, the drawing space is able to save user drawings, and the conditional makes it possible for the numbers to be converted into words.
Before the assignment was finished, there was an issue with loading the .JSON files as they were all in one folder. Despite being named differently, the only file that would be loaded is the model.weights.bin. Because of that, all the classifiers output the same number even though they worked fine in other cases. This was solved by moving each .JSON file to a separate folder.
Another issue with the project is that because I was using a live server, the page tends to refresh twice after an image is saved to the folder.
Finally, I also believe that because there was not enough examples, the images tended to gravitate towards one the middle of the classifiers so that most of the drawings end up being classified the same way.
Expanding on the Code
Given more time, I would definitely like to try to try working with SketchRNN and create a custom dataset. However, for the project itself, I would have liked to give the computer more data so that the drawings and identifier will have more varied results. Rather than having it go to the middle as it cannot properly identify the image.
Essentially, I felt that the project was pretty successful and did more or less what I wanted it to do. If I could further develop it, I would like it if the examples would not have to be saved to the computer and the image would automatically be analysed. I feel that it would also be really interesting if the computer could somehow try to create something different but has the same traits as what the user has created and the two creations would compete in some way.