Running Real-Time Image Classification on Arm Cortex-M with CMSIS-NN

Project Difficulty

Intermediate

Audience

Computer Science / Electronic Engineering.

Description

This project aims to develop a real-time image classification system using Convolutional Neural Networks (CNN) on an Arm Cortex-M microcontroller with CMSIS-NN. The main deliverables include training a CNN model on a custom dataset, quantizing the model to deploy it on resource-constrained devices, and transforming the model into a C format to compile and run on the microcontroller. The project will provide practical experience in running AI models on edge devices and optimizing AI models for efficient performance. The final output will be a functional image classification system capable of real-time processing on a microcontroller.

Estimated Project Duration

The project is estimated to take 6-8 weeks to complete, involving a small team of 2-3 participants. There is no hard deadline, but timely completion is encouraged to maximize learning outcomes.

Hardware / Software Requirements

  • Languages: Python, ML framework experience (TensorFlowLite for microcontroller or Pytorch / Executorch), Embedded programming in C.
  • Tooling:
    • TensorFlow Lite
    • CMSIS-NN
    • Keil MDK
  • Hardware:
    • Arm Cortex-M based microcontroller development board and compatible camera module.
    • Access to hardware suitable for training neural networks

Resources

Previous Submissions

No submissions yet - be the first!

Benefits

  1. Standout projects could be internally referred for relevant positions at Arm! :page_with_curl:

  2. If your submission is approved, you will receive a recognised badge that you can list on your CV and shared on LinkedIn. A great way to stand out from the crowd! :mortar_board:

  1. It’s a great way to demonstrate your initiative and commitment to your field.

  2. It offers the opportunity to learn valuable skills that are highly relevant to a successful career at Arm! :tada: