MCUXpresso_MIMXRT1052xxxxB/boards/evkbimxrt1050/eiq_examples/glow_lenet_mnist_camera
Yilin Sun 6baf4427ce
Updated to v2.15.000
Signed-off-by: Yilin Sun <imi415@imi.moe>
2024-03-18 23:15:10 +08:00
..
armgcc Updated to v2.15.000 2024-03-18 23:15:10 +08:00
gui_print Updated to v2.15.000 2024-03-18 23:15:10 +08:00
scripts Updated to v2.15.000 2024-03-18 23:15:10 +08:00
source Updated to v2.15.000 2024-03-18 23:15:10 +08:00
board.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
board.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
camera_support.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
camera_support.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
clock_config.c Update SDK to v2.13.0 2023-01-26 09:35:56 +08:00
clock_config.h Update SDK to v2.13.0 2023-01-26 09:35:56 +08:00
dcd.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
dcd.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
display_support.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
display_support.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
evkbimxrt1050_sdram_init.jlinkscript Updated to v2.14.0 2023-11-30 20:55:00 +08:00
glow_lenet_mnist_camera_v3_14.xml Updated to v2.15.000 2024-03-18 23:15:10 +08:00
peripherals.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
peripherals.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
pin_mux.c SDK v2.11.1 2022-04-08 22:46:35 +08:00
pin_mux.h SDK v2.11.1 2022-04-08 22:46:35 +08:00
readme.md Updated to v2.15.000 2024-03-18 23:15:10 +08:00

readme.md

Overview

Demonstrates inference for models compiled using the GLOW AOT tool and uses a camera to generate data for inferencing.

This example project provides an inference example using the Lenet model compiled with the Glow AOT software tools. The model is capable to perform hand-written digit classification. The model is using 28 x 28 grayscale input images and provides the confidence scores for the 10 output classes: digits "0" to "9". The application will run the inference on data captured by a connected camera and display the top1 classification results and the inference time. The Glow bundle is the same as the "glow_lenet_mnist" MCUXpresso SDK example in the RT1060 SDK.

A PDF with example numbers for the camera to look at is included in the /doc folder.

If you want a step-by-step example of running the Glow AOT tool for a given model take a look at the LeNet MNIST Glow MCUXpresso SDK example and the Glow Getting Started Lab: https://community.nxp.com/t5/eIQ-Machine-Learning-Software/eIQ-Glow-Lab-for-i-MX-RT/ta-p/1123119

Toolchains supported

  • MCUXpresso IDE
  • IAR Embedded Workbench for ARM
  • Keil uVision MDK
  • ArmGCC - GNU Tools ARM Embedded

SDK version

  • Version: 2.15.000

Toolchain supported

  • IAR embedded Workbench 9.40.1
  • Keil MDK 5.38.1
  • GCC ARM Embedded 12.2
  • MCUXpresso 11.8.0

Hardware requirements

  • Mini/micro USB cable
  • EVKB-IMXRT1050 board
  • Personal computer
  • MT9M114 camera (optional)
  • RK043FN02H-CT display (optional)

Board settings

Connect the camera to J35 (optional) Connect the display to A1-A40 and B1-B6 (optional) Connect external 5V power supply to J2, set J1 to 1-2

Prepare the Demo

  1. Connect a USB cable between the host PC and the OpenSDA USB port on the target board.
  2. Open a serial terminal with the following settings:
    • 115200 baud rate
    • 8 data bits
    • No parity
    • One stop bit
    • No flow control
  3. Download the program to the target board.
  4. Either press the reset button on your board or launch the debugger in your IDE to begin running the demo.

Running the demo

Use the LCD screen to point the camera at handwritten digits. Some images will work better than others, and a few example digits have been provided in the PDF in the /doc folder. Thicker font works better than thin font and the demo expects black ink/marker on a white background. For best results, the selection rectangle should be centered on the image and nearly (but not completely) fill up the whole rectangle. The camera should be stabilized with your finger or by some other means to prevent shaking. Also ensure the camera lens has been focused as described in the instructions when connecting the camera and LCD (https://community.nxp.com/t5/i-MX-RT-Knowledge-Base/Connecting-camera-and-LCD-to-i-MX-RT-EVKs/tac-p/1122184).

You will see the result of the inference on the LCD screen as well as the serial terminal. The result printed on the LCD screen has a minimum threshold applied to it. Top1 class = 4 (4) Confidence = 0.999 Inference time = 10 (ms)

Your own handwritten digits can also be used. It's recommended to use a thick black marker with white paper for best results.