Machine Learning on i.MX RT1176
Machine learning (ML) is part of the area known as Artificial Intelligence (AI) and use algorithms to build models based on data. The models are then used to make predictions or decisions on new input data.
The i.MX RT1176 is a powerful crossover processor and can be used for machine learning applications at the edge. A lot of software, that can be difficult to get up-and-running on new hardware, is required to achieve this. NXP has therefore developed and provides the eIQ ML Software Development Environment.
This page lists some example applications that are available in the SDK for you to get started with machine learning on the iMX RT1176 Developer’s Kit. Read the iMX RT Developers Kit Program Development Guide for instructions of how to download and install the SDK.
The process of finding anomalies or strange patterns in a series of data is known as anomaly detection (ADT). In industrial applications this process can for example be used to detect when a machine is about to break or when it is functioning in a non-optimal way. Detecting this early lets the user of the machine do maintenance before it actually breaks.
The SDK contains the application tensorflow_lite_adt which is based on NXP’s ADT example for the i.MX RT1060 EVK. More information about NXP’s application can be found in the Anomaly Detection User’s Guide.
Needed hardware to run the example application.
Detecting and classifying objects in an image or video is a difficult computer vision task. The introduction of machine learning and deep neural networks has made this task more reliable and usable for more kinds of applications.
The SDK contains the application tensorflow_lite_label_image which is provided by NXP. A color image is set as an input to a quantized Mobilenet convolutional neural network model that classifies the input image to one of 1000 output classes.
If you want to test this example application using live data you need the below hardware. You can test the application using a static image by only using the iMX RT1176 Developer’s Kit.
Keyword spotting (KWS) is used by devices that need to act on speech. Well-known examples are Alexa or Siri which wake up when their names are spoken.
The SDK contains the application tensorflow_lite_kws which is provided by NXP. Raw audio is pre-processed and a spectrogram is calculated. The spectrogram is fed into a neural network. This network is trained to recognize “yes”, “no”, “up”, “down”, “left”, “right”, “on”, “off”, “stop” and “go”.
The iMX RT1176 doesn’t have a microphone, but it is possible to test the application by using pre-recorded audio clips that are compiled into the application.
Other example applications
The SDK contains more applications than the examples described above.
- cmsis_nn_cifar10 – CIFAR-10 example for CMSIS-NN
- cmsis_nn_kws – Keyword spotting example for CMSIS-NN
- glow_lenet_mnist – LeNet MNIST example for Glow NN
- tensorflow_lite_benchmark – Benchmark example for TensorFlow Lite
- tensorflow_lite_cifar10 – CIFAR-10 example for TensorFlow Lite
- tensorflow_lite_micro_label_image – label image example for TensorFlow Lite Micro