通过云端自动生成openmv的神经网络模型,进行目标检测

Posted 小陈皓

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过云端自动生成openmv的神经网络模型,进行目标检测相关的知识,希望对你有一定的参考价值。

OpenMV训练神经网络模型(目标识别)

一、准备材料:

1.OpenMV4 Plus(低版本的openmv可能算力不够不支持)
2.一根micro usb的数据线
3.电脑、网络

二、软件下载

在openMV官网下载openmv IDEhttps://book.openmv.cc/

下载完毕后进入IDE界面:

三、准备数据集:

1.首先在D盘里创建一个新的文件夹,用来放置一会要存放的数据集:
这里我创建的数据集名为new data

2.打开openmv的IDE,点开工具栏并选择数据集编辑器,点击新数据集:


选择刚刚新建的new data文件夹:

完成后的界面:

3.拍摄需要识别的图像,采集样本数据
连接上我们的openmv,然后运行程序(这个程序是新建文件后自动生成的默认程序),可以看到右侧出现了拍摄到的实时图像。

这里假设我们需要区分空调遥控板或是电视机遥控板,则我们需要新建两个不同的文件夹,例如air_conditioner_RCB和TV_RCB,点击左侧的新建文件夹按钮即可新建文件夹:

接下来就可以开始采集照片了!

(左为电视机遥控器,右为空调遥控器)
4.采集数据集照片:
在连接上openmv后,点击左侧的采集数据来保存当前帧缓冲区内的照片:

(右侧为实时图像,左侧为保存图像)
在拍照时尽量采用多角度的拍摄,并且大概每组数据在100-200张左右。

采集完毕之后进入下一步。

四、数据集的上传与训练

这里使用的是云端的edge impulse网站来进行模型的训练及自动生成。只需要将我们刚刚得到的数据集上传即可获得openmv可使用的训练模型,并进行目标识别。

1.用户的登录
点击右上角Login in进行登录。
新用户需要在这个网站上进行注册,只要邮箱就可以注册。
2.新建工程文件:

选择第一项,图片处理。

准备上传数据。
3.获得key,通过key在openmv上上传数据集:


复制这个API KEY(如果没显示完全,可以选中后右键进入检查,在网页源代码中复制这段文本)
复制完成后打开openmv IDE,找到上传入口(如图所示)

点开后将key粘贴进去。
如果没有显示错误的话(我这里报错了),可以正常上传至云端。
若报错,显示:

出现该错误时,可以直接在网页端直接上传照片文件。

在这上传文件,选项可以选择和图片一致。

右侧显示上传完成后,可以进行下一步。
4.选择处理对象和模式:
这里选择默认的处理模式

保存后左侧选择Image,并配置:

选择后保存后继续配置:


设置好之后点击下方开始训练:

完成训练后,发现数据的准确性还是非常高的(100%)
5.可以选择配置保存版本


保存了第一版,之后如果需要调用可以直接取该版本。
6.导出训练模型,移植到openmv中:

选择openmv后点击build,生成工程文件,下载并解压后得到以下文件。

将这些文件移动到openmv的U盘中:

将python文件拖入IDE中,运行:

可以看到识别的效果还是很不错的,既是在黑色的背景下依旧能够识别到空调遥控器。

识别效果还是很不错的。
当然,它也可以用来识别其他的东西。例如口罩识别,性别识别等等;也可以进行多目标检测,效果还是很不错的。
大家可以关注openmv的官网,也有较为详细的解释教程。

以上是关于通过云端自动生成openmv的神经网络模型,进行目标检测的主要内容,如果未能解决你的问题,请参考以下文章

openmv之测距

云端训练模型,本地部署于K210

用OpenMV自动识别颜色序列

OPENMV上的目标检测,目标定位模型

Python基于OpenMV的色块自动追踪与云台控制(代码电赛可用直接上手)

Python基于OpenMV的色块自动追踪与云台控制(代码电赛可用直接上手)