Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.


Computer Vision with Embedded Machine Learning

Edge Impulse via Coursera


Computer vision (CV) is a fascinating field of study that attempts to automate the process of assigning meaning to digital images or videos. In other words, we are helping computers see and understand the world around us! A number of machine learning (ML) algorithms and techniques can be used to accomplish CV tasks, and as ML becomes faster and more efficient, we can deploy these techniques to embedded systems.

This course, offered by a partnership among Edge Impulse, OpenMV, Seeed Studio, and the TinyML Foundation, will give you an understanding of how deep learning with neural networks can be used to classify images and detect objects in images and videos. You will have the opportunity to deploy these machine learning models to embedded systems, which is known as embedded machine learning or TinyML.

Familiarity with the Python programming language and basic ML concepts (such as neural networks, training, inference, and evaluation) is advised to understand some topics as well as complete the projects. Some math (reading plots, arithmetic, algebra) is also required for quizzes and projects. If you have not done so already, taking the "Introduction to Embedded Machine Learning" course is recommended.

This course covers the concepts and vocabulary necessary to understand how convolutional neural networks (CNNs) operate, and it covers how to use them to classify images and detect objects. The hands-on projects will give you the opportunity to train your own CNNs and deploy them to a microcontroller and/or single board computer.


  • Image Classification
    • In this module, we introduce the concept of computer vision and how it can be used to solve problems. We cover how digital images are created and stored on a computer. Next, we review neural networks and demonstrate how they can be used to classify simple images. Finally, we walk you through a project to train an image classifier and deploy it to an embedded system.
  • Convolutional Neural Networks
    • In this module, we go over the basics of convolutional neural networks (CNNs) and how they can be used to create a more robust image classification model. We look at the internal workings of CNNs (e.g. convolution and pooling) along with some visualization techniques used to see how CNNs make decisions. We introduce the concept of data augmentation to help provide more data to the training process. You will have the opportunity to train your own CNN and deploy it to an embedded system.
  • Object Detection
    • In this module, we will cover the basics of object detection and how it differs from image classification. We will go over the math involved to measure objection detection performance. After, we will introduce several popular object detection models and demonstrate the process required to train such a model in Edge Impulse. Finally, you will be asked to deploy an object detection model to an embedded system.

Taught by

Shawn Hymel


Start your review of Computer Vision with Embedded Machine Learning

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.