【openmv】openmv连接电脑运行与脱机运行结果不同问题解决
@枭白
原创
关注
3点赞·2175人阅读
.
.
问题描述:
openmv在连接电脑的时候,用官方ide在线运行时程序运行正常,脱机运行,即拔掉数据线后运行出现有时候识别成功有时候识别不成功的问题。
问题背景:利用主控的串口直接给openmv供电,串口的vcc为3.3伏。主控只有单个openmv串口工作时发现没有出现问题,当主控加入其他串口或者外设是openmv出现识别错误。
问题解决:
最后发现是openmv用3.3伏供电导致openmv供电功率不够,出现运行速度过慢或者重新启动等问题。
分析与经验:
openmv脱机运行与在线运行结果不同的原因有两种
一个是正常情况下脱机运行的速度会加倍,如果有串口通讯等有速度要求或者有通讯同步要求的时候,需要注意这个点,检查是否是因为运行处理速度加倍导致问题
另一个是供电带来的问题,检查电源电压是否符合要求,3.3伏不适用,另外如果电压符合要求,检查电源输出功率够不够,一般电压符合要求,功率不够是因为导线功率不够,所以一般会出现导线发热。最后说一下,虽然只有一个openmv工作时没有出现问题,但几乎是极限位置,不建议使用3.3伏供电,
一、准备好一个OpenMV。二、 *** 作步骤
1.打开OpenMV IDE,找到工具-数据集编辑器-新数据集。点击即可创建一个新数据集。在桌面新建一个文件夹命名为mask-face(名字自己想取啥都行)。
2. 点击新建class文件夹,新建两个类:mask和face。
3.连接OpenMV,点击新建class类下面的图标使用OpenMV拍照进行数据采集。
4.数据上传,登录EDGE IMPULSE官网选择Login登录,没账号的可以先用邮箱注册一个。
5.点击Create new project创建一个新项目,然后输入项目名字即可创建。
6.如果d出了这个界面就点击一下images或者叉掉。
7.接下来我们将之前用OpenMV拍摄的照片传输到EDGE IMPULSE中,在星瞳科技官网上的视频教程中用的是API KEY在OpenMV IDE中将数据上传,但是在实际 *** 作中可能会遇到创建SSL上下文错误的问题,我们在这里就不使用那个方法,而是直接在EDGE IMPULSE中上传数据。
首先在左边菜单栏中找到Data acquisition,点击Collected data旁边的上传数据按钮,找到之前创建的mask-face的文件夹,点击mask.class,按ctrl+A键全选并且确定,在Label中勾选Enter label选项,在下面输入分类的名字(mask),face分类数据的上传方法同理。
8.上传完毕后再点击Data acquisition就可以看到上传好的数据。这里可以看到一共上传了158张照片,其中78%作为数据集,22%作为训练集。
9.点击impulse design,再点击Add a processing block创建模块,在d出的选项中选择image(因为我们做的是图像识别)然后点击Add a learning block学习模块,选择Transfer Learning迁移学习模块。
模块添加完成后点击Save Impulse即可 。
10.点击image,进行图像DSP预处理(Color depth有RGB彩图还有Crayscale灰度图,我们这里选择RGB彩图)。
11.点击上方的Generate features,再点击Generate features进行刚刚设置的图像预处理,处理完如下图所示。mask和face的图像分离的明显就说明数据集采集的效果还不错。
12.点击Transfer lerning迁移学习,数据默认即可,随后点击Start training开始训练。
训练完成后如下图所示,ACCURACY表示模型测试精确度为93.8%
13.利用Model testing对我们刚刚训练出来的模型进行测试,可以看出准确率是100%
14.Versioning则是对你训练出来的模型进行版本保存(我们这里可弄可不弄)。
15.点击Deployment 选择OpenMV将训练好的模型导出,点击bulid生成OpenMV的模型及代码。
16.将下载好的压缩包解压,将文件夹中的三个文件都复制到OpenMV的D盘中。
17.在OpenMV IDE中打开ei image. classification,再点击下面的串行终端就可以看到程序运行的结果啦,face=0.003906表示有0.3906%的概率认为没戴口罩,mask=0.996094表示有99.6094%的概率认为戴了口罩。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)