Image Classification
[ Slides | Sketches ]
Objectives
- Understand the concept of a “machine learning model”.
- What is a “pre-trained model”?
- What does it mean to discuss the “architecture” of a machine learning model?
- Define and diagram an artificial neural network.
- Understand what ml5.js is and how it fits into the TensorFlow and open source machine learning library ecosystem.
- Learn how to create an image classifier with ml5.js and MobileNet.
- Understand how the MobileNet model was trained, specifically the origins and collection methodology for the training.
Lecture Notes
<script src="https://unpkg.com/ml5@1/dist/ml5.min.js"></script>
Code Examples
Supplemental Materials
Video Tutorials
Note: ml5.js tutorials below were taught using an older version of ml5.js, refer to the ml5.js Resources Wiki page for more information.
Assignment 1b
- Explore ImageNet, ImageNet sample images, Kaggle ImageNet Mini 1000. What surprises you about this data set? What questions do you have? Thinking back to last week’s assignment, can you think of any ethical considerations around how this data was collected Are there privacy considerations with the data?
- Using the code examples above, try running image classification on a variety of images. Pick at least 10 objects in your room. How many of these does it recognize? What other aspects of the image affect the classification, including but not limited to position, scale, lighting, etc.
- Document your thoughts on MobileNet and image classification in a blog post and add a link to the Assignment 1b Wiki page.