Assignment 6
A6: Quick Draw!
About Quick Draw Data Set
Quick Draw is a representative machine learning & data collection project, it shows an ideal design model for public machine learning and data set projects. It's simply designed to be engaging and accessible. And such accessibility profligates the data collection progress. It uses the classification model trained with collected data as a feedback to reward participants.
Although there are several potential problems with the dataset such as latent bias, I still found it very helpful for beginners. Both the doodle and the label are small objects (compared to other visual machine learning projects), therefore are easy and fast to process. It makes ambitious attempts possible for machine learning learners.
DoodleNet p5 Sketch
https://editor.p5js.org/roger1mjh/sketches/kPVq2Prxl
For this week's homework, I worked on the "two canvases" template. My idea is to visually represent and store the "labels", "confidence value" real-timely on the other canvas. Then, in the draw loop, I used millis() and if conditioner to construct a loop that executes every 0.1 second.
First of all, I gave the first canvas( if we call whichever on the left the first) a name and apply the "clearButton" to function on both canvas.
To represent, I decided to go for the easier approach: text.
I used console.log to find out which values in "results" I could use, which are label(already named "doodle") and confidence(I named it "conf" on sketch).
My first attempt was using textSize to represent different confidence value. I coded it into the 0.1s loop, It worked fine but looks too dull when the color is only black. And it's hard to differ labels visually.
Then I decided to change the color if the label changed, but it looks weird because some colors were already dominant, yet the confidence value makes the size bigger, overwhelmed all the other labels.
To solve that, I set the alpha(opacity) of the color in negative relation to confidence value. So the bigger texts will be lighter in color.
It's just an abstract visual representation of the process of storing data. In QuickDraw, they also collect more detail things such as timestamp. I would like to try collecting canvas data using saveCanvas() in the future.
Comments
Post a Comment