回到首页 返回首页
回到顶部 回到顶部
返回上一页 返回上一页

基于行空板的CNN校园昆虫智能识别 简单

头像 Maker678 2025.02.19 41 0

昆虫图.png

项目背景:在自然界中,昆虫是生物多样性的重要组成部分,它们不仅丰富了我们的生态环境,还在生态系统中扮演着至关重要的角色。然而,对于小学生而言,认识并区分不同种类的昆虫往往是一项具有挑战性的任务。传统的昆虫教学方法可能依赖于书籍、图片或教师的口头描述,但这些方式往往缺乏互动性和直观性,难以激发学生的学习兴趣和探索欲望。因此,本项目计划利用行空板和人工智能技术,设计一款“校园昆虫智能识别助手”,旨在帮助小学生更好地认识和理解校园内的昆虫。

2.项目功能

本项目将制作一个“校园昆虫智能识别助手”,利用物体分类算法实现校园常见昆虫的识别。

物体分类算法的实现分为采集数据、训练模型、识别物体三个过程,因此项目也将分为下面三个任务:

任务一:采集校园常见昆虫图片。通过摄像头采集不同种类的昆虫图片,建立图片集以便于后面的训练和识别。

任务二:训练昆虫分类模型。基于建立好的图片集,让行空板处理图片,训练获得专门用于垃圾分类的模型。

任务三:识别昆虫。利用训练好的昆虫分类模型,识别摄像头识别到的昆虫,并显示提示信息。

 

3. 硬件清单

数据线.png

4.. 软件清单

Mind+编程软件(下载地址:https://www.mindplus.cc

 

任务一:采集昆虫图片

先来利用摄像头采集不同昆虫的图片,建立图片集。

1 连接硬件

首先,将摄像头接入行空板USB接口。然后,将行空板通过USB线连接到电脑上,等待行空板屏幕亮起,并显示行空板LOGO,表示连接成功。

连接图.jpg

2.准备软件

按照下面步骤,设置Mind+软件编程方式为 Python图形化编程,并完成行空板的加载和连接。

3.png

3 编写程序

通过MIND+编写程序,采集昆虫的图片,建立训练所需的图片集。

d788d43f8794a4c2af204f007eefe9dead6e3945.webp

需要加载用户自定义库(物体分类库)。进入“扩展库”中的“用户库”检索“物体分类”,点击“行空板机器学习”图形化库,完成加载。

4.png

4.加载完文字识别指令后,我们就可以按照“初始化摄像头 → 读取摄像头画面图片 → 按键拍摄保存对应分类图片到指定的文件夹中”的流程编写程序。

采集图片.png

5.运行程序

点击运行按钮,运行程序,行空板屏幕上显示视频画面。摄像头画面对准昆虫,按下A键,拍摄一次图片。此时,终端会显示采集图片存储的位置和张数。

 

长按A键,同一分类下可以采集多张图片,一般来说采集图片越多,识别准确率越高,但是训练耗费的时间就越久,本项目我们选择采集30到40张图片即可。学习结束后,点击停止运行,结束本次采集。

 

6.按顺序分类

请修改代码,重复刚才的过程,继续采集其它昆虫的图片。

提示:每次运行只能学习一个类别图片,填写分类名称时,需要按顺序添加序号。修改核心代码示例如下:

采集图片2.png

任务二:训练昆虫分类模型

用采集的图片训练识别昆虫的模型。

1 编写程序

训练识别昆虫模型需要经过“导入图片集 → 创建模型 → 训练模型 → 保存模型”几个步骤。

由于现在冬天,目前只采集了两个昆虫的图片,在导入图片 指令中填入分类数量为2。为了让模型效果更好,我们可以在 训练模型 指令中设置一定数量的训练次数,比如3次。当然,我们也可以加入适当的提示表示训练完成。完整示例代码如下:

训练模型.png

注意:训练次数不易填入太多,不然训练时间会较长。

 

任务三:识别昆虫

基于训练好“昆虫识别”模型,用摄像头拍摄昆虫,按键识别昆虫并显示在行空板屏幕上。

1 编写程序

(1)识别昆虫

既然要使用摄像头来拍摄图像,利用昆虫分类模型识别昆虫类,识别昆虫就需要导入模型、初始化摄像头、读取摄像头画面、按键识别以及显示摄像头画面几个部分。参考代码如下图所示。

识别1.png

(2)显示识别结果

识别获得的结果有两个“索引”和“置信度”。其中,“索引”表示采集图片时类别文件夹的序号,“置信度”则表示识别为该类别的可能性。'

638cdf02-968a-40ba-aef0-28b78465a5c1.png

识别结果中没有类别名称,我们可以建立一个“表格”用“索引”去取“表格”里面的昆虫名称。而这个“表格”就叫做列表。

81dcc71b-fc0c-4cdc-9883-5ee32bec12b4.png

具体实现方法如下:

先建立 分类表 和 识别结果 两个变量用来保存所有昆虫名称以及识别的昆虫名称。然后,在代码开始部分将 变量分类表 初始化为 [”大青虫卵”,”蚂蚁”……]变量识别结果 则初始化为””(双引号内没有内容)。

2f3bdfee-7d95-411d-94a0-9756f20421b2.png

当按键获得识别结果后,从 分类表 中按 识别的索引 取出识别的昆虫名称,并存入 变量识别结果。

5c31b64e-333f-430f-905e-739f9e984ce1.png

获得了识别到昆虫的名称,接下来我们就可以将它显示在摄像头画面上。

        01c96f93-bc04-4ec1-aac2-65bdcd301cf3.png

完整的程序如下:

ebb5cebf-d09e-4c03-9c33-7ffe1ca9d990.png

2 运行程序

点击运行按钮,运行程序,待模型导入成功后,终端会显示“model loaded”表示模型导入成功。

模型导入成功后,行空板屏幕上会显示识别的画面。(由于刚开春,校园昆虫还比较少,暂时难以收集到足够的图片,待开春后,补充相应的图片素材,并可以根据本地的昆虫情况,增加昆虫的类别)。

评论

user-avatar