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
# 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")
Copy
运行结果:
实际道路环境交通标志识别
视频教程42 - 训练神经网络目标检测 实际道路环境交通标志:训练神经网络目标检测实际道路环境交通标志 | 星瞳科技
代码、模型、数据集 都在: GitHub - SingTown/Traffic-Sign-FOMO
中文步骤: Traffic-Sign-FOMO/README-CN.md at main · SingTown/Traffic-Sign-FOMO · GitHub
一共训练得到两个模型
第一个模型:训练时分辨率128*128,使用MobilNetV2 0.35迁移学习,S1 Score 92%,运行帧率9帧左右,只能运行于OpenMV4 Plus。(OpenMV4内存不够)
第二个模型:训练时分辨率96*96,使用MobilNetV2 0.35迁移学习,S1 Score 91%,运行帧率12帧左右,峰值RAM占用244KB,在OpenMV4以及OpenMV4 Plus上都可以运行。
OpenMV合作伙伴EdgeImpulse在线训练网站: Edge Impulse - The Leading Edge AI Platform
注意事项
- 一共有两个模型,如果是OpenMV4的话,只能使用96*96分辨率训练出来的这个小模型。Plus两个模型都可以用。
- 数据集里面有 禁止停车x、禁止鸣笛n、限速80、禁止驶入-、测试图片,一共五个文件夹。 实际模型以及教程只使用了 禁止停车x、禁止鸣笛n、限速80、测试图片 这些,没有标注以及训练 禁止驶入- 的数据集,可选择是否标注以及训练 禁止驶入-。
- 只标注了 禁止停车x、禁止鸣笛n、限速80 这三个目标,数据集中出现的其他标志我都没有标注以及训练(比如 限速60 限速30 禁止驶入- 等), 太相似的标志 比如 限速80 和 限速60 可能会误识别,也可增加标注训练新的目标 比如 限速60 等。
- 致谢 —— 中国实际道路环境交通标志数据集的来源(中国科学院自动化研究所): Traffic Sign Detection Database
口罩识别
视频教程38 - OpenMV4 Plus训练神经网络进行口罩识别:OpenMV4 Plus训练神经网络进行口罩识别 | 星瞳科技
代码和模型都在:https://github.com/SingTown/mask-tflite
中文步骤:https://github.com/SingTown/mask-tflite/blob/main/README_CN.md
看完你就会发现,其实非常简单!
注意事项
- 只有OpenMV4 H7 Plus能使用。
- 上传的样本只上传了单人的。如果测试画面有多人,准确度不可信。
- 没有使用背景,只知道是否戴了口罩。如画面中没有人脸,准确度不可信。
垃圾分类
视频教程38 - OpenMV4 Plus训练神经网络进行口罩识别:OpenMV4 Plus训练神经网络进行口罩识别 | 星瞳科技
代码和模型都在:GitHub - SingTown/rubbish-tflite: A classification of battery, bottle, can, and cigarette.
中文步骤:rubbish-tflite/README_CN.md at main · SingTown/rubbish-tflite · GitHub
注意事项
- 只有OpenMV4 H7 Plus能使用。
- 如果要更高的准确度,要使用自己的图片来训练。
在线训练也非常简单。