Example explanation 25-Machine-Learning->MNIST digital recognition
This example uses the MNIST digital data set to train a neural network to obtain a handwritten digit recognition neural network model with high performance and accuracy. It runs at about 45 frames per second on the OpenMV4 H7 Plus and about 25 frames per second on the OpenMV4 H7.
Before running the directory, please download the trained.tflite in the link to your computer and copy it to the storage of OpenMV.
China link: https://dl.singtown.com/openmv/openmv_tensorflow_training_scripts-main.zip
GitHub link: https://github.com/SingTown/openmv_tensorflow_training_scripts/tree/main/mnist
# This code run in OpenMV4 H7 or OpenMV4 H7 Plus
import sensor, image, time, os, tf
sensor.reset() # Reset and initialize the sensor.
sensor.set_pixformat(sensor.GRAYSCALE) # Set pixel format to RGB565 (or GRAYSCALE)
sensor.set_framesize(sensor.QVGA) # Set frame size to QVGA (320x240)
sensor.set_windowing((240, 240)) # Set 240x240 window.
sensor.skip_frames(time=2000) # Let the camera adjust.
clock = time.clock()
while(True):
clock.tick()
img = sensor.snapshot().binary([(0,64)])
for obj in tf.classify("trained.tflite", img, min_scale=1.0, scale_mul=0.5, x_overlap=0.0, y_overlap=0.0):
output = obj.output()
number = output.index(max(output))
print(number)
print(clock.fps(), "fps")
Operation results: