Routineerklärung 25-Machine-Learning->Mnist-Nummernerkennung
Diese Routine verwendet den mnist-Digitaldatensatz, um das neuronale Netzwerk selbst zu trainieren und ein neuronales Netzwerkmodell zur handschriftlichen Ziffernerkennung mit hoher Leistung und Genauigkeit zu erhalten. Unter OpenMV4 H7 Plus werden etwa 45 Bilder pro Sekunde und unter OpenMV4 H7 etwa 25 Bilder pro Sekunde ausgeführt.
Bevor Sie das Verzeichnis ausführen, laden Sie bitte die Datei „trained.tflite“ im Link auf Ihren Computer herunter und kopieren Sie sie in den OpenMV-Speicher.
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")
Laufergebnisse: