Skip to content

Latest commit

 

History

History
 
 

03_ml_models

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Applications of Machine Learning models

Session A: Other pre-trained models

Objectives:

  • Understanding how to use pre-trained models other than image classification.
  • Ability to work with PoseNet and ml5.js
  • Ability to work with Image Segmentation models (UNet and BodyPix) and ml5.js.
  • Week 3 Slides

ml5 documentation

ml5 video tutorials

ml5 code editor examples

Related Projects

Session B: Physical interaction

Objectives:

  • Explore the possibilities of physical interaction as the output of a machine learning system.

Code Examples

In each example, a p5.js sketch captures some input data and sends it to an Arduino. The Arduino sketch tells the microcontroller how to read that data and what to do with it. This type of communication is called asynchronous serial communication. (Fun fact: the Arduino can also capture data and send it to a p5.js sketch!)

  1. Webcam Image Classification using MobileNet to Turn LED On/Off
  2. Single Pose Detection using PoseNet to Fade LED
  3. Multiple Pose Detection using PoseNet to Turn LEDs On/Off
  4. Single Pose Detection using Multiple PoseNet Keypoints to Fade LEDs

Materials for Examples

  • p5.js web editor
  • Arduino IDE 1.8.9 app
  • p5.serialcontrol app to enable serial communication between your p5.js sketch in the browser and your Arduino microcontroller. Download the latest version, and save it in your Applications folder. If you use a Mac, then download and install this option: p5.serialcontrol-darwin-x64.zip.
  • 1 USB Cable
  • 1 Arduino Uno
  • 1 Half-size Breadboard
  • 3 LEDs
  • 3 220 Ohm Resistor
  • Jumper Wires

Troubleshooting Serial Communication

For the above examples, if nothing happens on the Arduino when you start the p5.js sketch, use this checklist to troubleshoot: Serial Communication Checklist

Additional Resources

Related Projects

Assignment 3 Due Sunday September 22 at 12pm:

  1. Read Real-Time Human Pose Estimation in the Browser with TensorFlow.js by Dan Oved, with editing and illustrations by Irene Alvarado and Alexis Gallo.
  2. Read Mixing movement and machine by Maya Man
  3. Read Review of Deep Learning Algorithms for Image Semantic Segmentation by Arthur Ouaknine
  4. Read Humans of AI by Philipp Schmitt
  5. Explore COCO Dataset. What surprises you about this data set? How is it similar or different to ImageNet? What questions do you have? Can you think of any ethical considerations around how this data was collected? Are there privacy considerations with the data?
  6. Work in groups of 2 (see assignment 3 wiki) to prototype a physical interaction as the output of a machine learning model using any of the tools or techniques demonstrated in weeks 2 and 3. This can be a new idea or build off of your week 2 assignment. Here are some questions to explore:
    • How might you use confidence score data as a type of creative input?
    • For pose detection, how might you work with multiple keypoints?
    • If you're working with multiple poses, how might people work together or against each other to trigger events?
    • What other creative outputs can you use? speakers? motors? what else?
  7. Document your exercise in a blog post and add a link to the post and your sketch on the Assignment 3 Wiki. In your blog post, include visual documentation such as a recorded screen capture / video of your training session and sketch running in the browser. How the readings above inform your idea and development of the project? Include a response to COCO dataset question prompts.