tf_image_classification.py
# Dieses Werk ist unter der MIT-Lizenz lizenziert.
# Copyright (c) 2013-2024 OpenMV LLC. Alle Rechte vorbehalten.
# https://github.com/openmv/openmv/blob/master/LICENSE
#
# Beispiel für TensorFlow Lite Personenerkennung
#
# Dieses Beispiel läuft auf dem OpenMV RT1062, um Personen
# mithilfe des eingebauten MobileNet-Modells zu erkennen.
import csi
import time
import ml
csi0 = csi.CSI()
csi0.reset()
csi0.pixformat(csi.RGB565)
csi0.framesize(csi.QVGA)
csi0.snapshot(time=2000)
model = ml.Model("/rom/person_detect.tflite")
print(model)
clock = time.clock()
while True:
clock.tick()
img = csi0.snapshot()
# Dies kombiniert die Labels und Konfidenzwerte zu einer Liste von Tupeln
# und sortiert diese Liste dann nach den Konfidenzwerten.
scores = sorted(
zip(model.labels, model.predict([img])[0].flatten().tolist()),
key=lambda x: x[1],
reverse=True
)
print(clock.fps(), "fps\t", "%s = %f\t" % (scores[0][0], scores[0][1]))