Microcontroller Image Classification

Project Goal: Deploy a machine learning model on a microcontroller to optimize inference speed, performance accuracy, and power consumption.

Outcome: A convolutional neural network model predicts landscape images from six classes with 80% accuracy and with a time for inference of 41.1ms (~24.32 inferences/second). Model runs on STM32 Cortex M4 Core.

Poster download: [PDF]

Key Features:

Machine learning model:

Hardware analysis:

Optimization:

Images:

Sample of training images dataset.
Sample of training images dataset.


CNN architecture, input/output sizes and parameters.
CNN architecture, input/output sizes and parameters.


CNN confusion matrix showing difficulty distinguishing glaciers and mountains.
CNN confusion matrix showing difficulty distinguishing glaciers and mountains.


Size vs Accuracy graph of different tested model. Pruned, Quantized-Aware-Trained (PQAT) on far right was the chosen model.
Size vs Accuracy graph of different tested model. Pruned, Quantized-Aware-Trained (PQAT) on far right was the chosen model.




all-engineering-projects