1 of 1

​

​

​

This project is for educational purposes and improving our understanding of its appropriate applications. We acknowledge that we use open source software and modify some existing code. Our system is designed to function within the scope of our project and is inspired from existing MAXIM projects.

Chujie Guan (EE)

cxg170008@utdallas.edu

Jordan Rider (CE)

jlr170230@utdallas.edu

Mariela Ramirez (CE)

mgr170370@utdallas.edu

Omar Resendiz (CE)

oxr170230@utdallas.edu

Karthik Gopan (CE)

kxg174030@utdallas.edu

Background

The popularity of Deep Learning to analyze data is on the rise. There is an increasing importance of image processing in the field of science and technology such as computer vision, face detection, augmented reality, X-rays, and Ultrasonic scanning. These all stand to benefit from being able to operate on a low cost and power efficient device. This project means to showcase the capabilities of low power solutions for Convolutional Neural Networks.

​

Objectives

  • Train our own AI Neural Network
  • Design a dataset for the neural network
  • Synthesize the neural network and verify functionality
  • Run trained model on MAX78000FTHR board
  • Accurately detect and identify food types and at least 10 different food classes
  • Report model performance metrics to terminal

​

​

Performance Metrics

​

Accuracy:

​

​

​

​

​

​

​

​

​

​

Speed: The range of time needed to identify an image was 150 to 750 milliseconds if it could recognize the object being scanned.

​

Conclusion

This project allowed us to apply our knowledge of various software and unique hardware to create something for MAXIM that we believe would be a great showcase for their recently released board. We were able to train and design datasets for neural networks and perform the models onto the MAX78000FTHR board. It has been a great learning experience collaborating with MAXIM for the last two semesters to accomplish a working project as a team, as might be done in industry. Finally, we would like thank Brian Rush and Marco Tacca for being our mentors.

Ethics Statement

​

System Design

​

Hardware

  • EVGA GeForce RTX 3080: Training a Machine Learning model requires raw computing power. With the parallel processing capabilities of GPUs we are able to facilitate machine learning parallelization via GPU acceleration.
  • Maxim MAX78000FTHR board: Maxim’s ultra low-power board uses an Arm Cortex-M4 processor with an integrated Convolutional Neural Network accelerator.
  • Adafruit 2.4" TFT LCD with Touchscreen: LCD display that connects to board.

​

​

​

​

​

​

​

​

​

​

​

​

​

​

Software

  • Pytorch: Open source deep learning framework used to develop models.
  • Conda: Open source package and environment management system.
  • OpenCV: library focused on real-time computer vision applications.
  • Ubuntu: Open source operating system on Linux used to run the model training.
  • Eclipse: An integrated development environment used to debug C code that will run on MAX78000FTHR board.
  • Imageio: Python library that provides easy interface to read and write wide range of image data.
  • Nvidia CUDA: A parallel computing platform and programing model developed for general computing on NVIDIA GPUs.
  • Kaggle: A website compiling image datasets that we used to train our neural network on.

​

​

Project Status / Results

​

For training, we used a dataset that was artificially expanded using Imageio and Opencv to create a training set and test set. The model was then trained using augmented training set on an Ubuntu machine.

Quantization of the training model was necessary as the model was to large and we wanted to produce a smaller model.

We were able to determine and evaluate the model accuracy by using the test set. Based on the evaluation results, we decide if any model or dataset alternation are needed.

​

​

​

​

​

​

​

​

​

Once the project was synthesized, the C files generated are uploaded to the MAX78000FTHR board. In Eclipse IDE, we performed several programs such as cifar-10, kws20_demo, and faceid_demo to test the MAX6800’s functions. Using the board’s built-in camera, the food item is identified and is given a label.

Food Detection System

UTDesign II: Fall 2021