![]() We used a sequential model to create a linear stack of 9 layers. Our independent variable, or x, would be a 1D array. The model’s dependent variable, or label, is the “word” column which contains the category of the object drawn. ![]() Our model intakes a 1D array representation of the doodle and gives us the classification label based on that image. Therefore, the whole process to train the CNN model looks like this. Then, use another function to transform each image into a 1D array.Īfter these preprocessing steps we trained our CNN model on the 1D array representations of the doodles.Use a function to create an image from the JSON arrays in the “Drawing” column.Therefore, There were two data preprocessing steps we had to complete before we could train our CNN model using the training dataset from Kaggle. The dataset we used to train our model stores doodle images as JSON arrays. We trained the data with two different CNN models. We have chosen CNN as our classifier for the doodles in our dataset. A CNN can result in a more efficient model than a regular neural network by re-using weights, avoiding full connectivity to reduce the number of parameters to train, and providing translational invariance. Our ModelĬonvolutional neural networks is the most commonly used neural network when analyzing images. Plots of banana #1 and banana #2 drawn from ‘drawing’ coordinatesįrom plotting these doodles we are able to see what they look like and how they are built. Here is what both bananas look like according to these coordinates.It has two lines, one with 13 points, and another with 4 points Here are the coordinates for banana #2.Here are the coordinates for banana #1.Using Pyplot, we plotted out the x, y coordinates in the “Drawing” column of each row in our training data to see these numerical representations as strokes that the user made. Since the dataset we used to train our CNN model represents each doodle as a JSON array of x, y coordinates instead of actual images, in order for us to get an idea of what our training data looks like, we had to plot out these numbers into a graph. Our goal is to then create a classifier that can learn from this noisy data. The subset that we are using for our project therefore contains 50 million drawings and 340 label categories. This game generated more than 1 billion doodles, and a subset of this dataset has been released on Kaggle. In this game, users are prompted to draw an image given a certain category such as “banana”. This data was generated from an experimental game called “Quick, Draw!”, which was created to educate the public about how AI works. We got our data from Kaggle’s Quick, Draw! Doodle Recognition Challenge. When we feed this test dataset into our CNN model, our model would start to misclassify the images. This model would purposefully output wrong labels and generate a test dataset of images that have been perturbed. In addition to creating a convolutional neural network classifier (CNN) that can recognize doodles, we also wanted to apply what we have learned about adversarial attacks in our course to create an attack model that could cause our CNN to misclassify the doodles. We were excited to see what challenges we would face in creating our classifier since doodles can vary much more than handwritten text. Handwriting recognition has a lot of potential in real-world applications such as converting scanned images or handwritten notes into digital text, so we knew that our project would be very applicable to real-world situations. Therefore, for our final project, we wanted to challenge ourselves to create a model that can recognize images that were hand-drawn. This semester, we also learned about image classification using convolutional neural networks in our Cognitive Computing course. As MSITM students, we first learned about neural networks with handwritten images using the MNIST database. Team Members: Pei-Hsin Ho, Gina Huh, Shayna Patel, Matt Viteri, Kai-Ju Yu, Tianyi Zhang Introduction/Goalsįor our project, we chose the Quick, Draw! Doodle Recognition Challenge.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |