例程讲解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")
运行结果: