We no longer maintain this tutorial. Here are some up-to-date image recognition tutorials that you can view:

This guide will walk you through the deployment of a Caffe model to an ultra-low-cost and low-power Arm Cortex-M based processor. For this guide we will be using the OpenMV board, developed by two Arm Innovators, Ibrahim Abdalkader and Kwabena W. Agyeman.

OpenMV Board Image

In this guide, you will work through the following steps:

  1. Set up Environment
  2. Training the Neural Network Model 
    • Define the model.
    • Prepare the dataset.
    • Train the model in Caffe.
    • Note: Training the Neural Network Model is provided for completeness, and is not required to be performed for this guide.
  3. Deploy the Model on Arm Cortex-M
    • Quantize the model.
    • Convert model to binary.
    • Deploy on OpenMV.
    • Run smile detection.

At the end of this guide, you will be able to deploy an Arm NN model aimed at recognizing smiling faces on an Arm Cortex-M7 processor.

The following image summarizes the deployment flow that you will go through:

Caffe Model on OpenMV using CMSIS-NN Deployment Flow Diagram