例程讲解25-Machine-Learning->mnist数字识别

本例程利用mnist数字数据集,自行训练神经网络得到手写数字识别神经网络模型,性能和准确率很高。 在OpenMV4 H7 Plus上面运行大概每秒45帧,在OpenMV4 H7上面运行大概每秒25帧左右。

运行目录前,请将链接中的trained.tflite下载到电脑,并复制到OpenMV的存储中。

中国链接:https://dl.singtown.com/openmv/openmv_tensorflow_training_scripts-main.zip

github链接:https://github.com/SingTown/openmv_tensorflow_training_scripts/tree/main/mnist

# This code run in OpenMV H7, OpenMV H7 Plus and OpenMV RT

import sensor
import time
import ml

sensor.reset()  # Reset and initialize the sensor.
sensor.set_pixformat(sensor.GRAYSCALE)  # Set pixel format to GRAYSCALE (or RGB565)
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.

model = ml.Model("trained.tflite", load_to_fb=True)
norm = ml.Normalization(scale=(0, 1.0))

clock = time.clock()
while True:
    clock.tick()

    img = sensor.snapshot().binary([(0,60)]).dilate(2)
    input = [norm(img)] # scale 0~255 to 0~1.0
    result = model.predict(input)[0].flatten().tolist()
    number = result.index(max(result))
    print("number", number)
    print(clock.fps(), "fps")

运行结果:

results matching ""

    No results matching ""