Machine Learning on Microcontrollers on Image Classification was a project that I completed as part of a class called Machine Learning on Microcontrollers between September 2020 and January 2021. The objective of the project was to develop an image classification model and deploy it on a microcontroller for real-time image recognition.
To achieve this goal, we used TensorFlow, an open-source machine learning framework, to develop the model. We chose TensorFlow because it has excellent support for deploying machine learning models on microcontrollers. We used transfer learning, a machine learning technique, to speed up the training process and improve the accuracy of the model. After fine-tuning the pre-trained model on our dataset, we achieved high accuracy.
Once we developed the image classification model, we used TensorFlow Lite, a lightweight version of TensorFlow, to quantize and deploy the model on a microcontroller. Quantization is a process of converting a floating-point model into an integer model that can be deployed on resource-constrained devices. This allowed us to optimize the model for deployment on a microcontroller while maintaining its accuracy.
After deploying the model on the microcontroller, we tested it on a variety of images to evaluate its accuracy and performance. We also optimized the model’s size and performance to fit the microcontroller’s limited resources.
This project provided me with valuable experience in machine learning, computer vision, and embedded systems. It also allowed me to apply my knowledge of TensorFlow to a real-world application and gain hands-on experience with deploying machine learning models on microcontrollers. Overall, Machine Learning on Microcontrollers on Image Classification was a challenging and rewarding project that demonstrated the potential for real-time image recognition applications in a variety of settings.