# mushroom
基于卷积神经网络的蘑菇识别微信小程序(“识菇”)
## 项目描述
本项目是基于SpringBoot和图像分类算法用来识别蘑菇的微信小程序,根据拍摄上传的蘑菇图片,通过python脚本调用训练好的模型,经过后端处理,最后返回识别结果的类别及其识别准确率。
## 技术亮点
- 采用**MobileNetV2**进行作为蘑菇图像分类的特征提取网络,使模型轻量化,使得参数量减少了60%,加快访问速度
- 通过@ControllerAdvice注解实现拦截器,利用@ExceptionHandler注解捕捉所有异常,进行统一处理
- 为提升查询效率,在蘑菇学名字段上建立了索引
## 1.1 总体设计
介绍了小程序的整体系统架构以及使用小程序进行蘑菇识别的流程。
### 1.1.1 系统架构
小程序采用前后端分离架构,前端采用taro框架,后端采用springboot框架,并通过nginx进行请求转发。

### 1.1.2 识别流程
使用小程序对蘑菇进行识别时,小程序会向后端发起请求,后端再调用python脚本进行识别,并从数据库查询蘑菇具体信息。

## 1.2 算法实现
介绍了蘑菇识别算法采用的数据集,识别算法的设计与实现,以及算法的识别效果与所做的改进。
### 1.2.1 数据集
在kaggle获取,地址:
https://www.kaggle.com/datasets/maysee/mushrooms-classification-common-genuss-images
该数据集中有9个最常见的北欧蘑菇属图像文件夹。每个文件夹包含300到 1500个蘑菇属的选定图像。标签是文件夹的名称。


### 1.2.2 算法设计与实现
处理数据集:用tensorflow.image.decode_jpeg和tensorflow.image.resize 对图片进行标准化。
训练:将图片与标签(文件夹名即标签)打包后,将前百分之80设置为训练集,后百分之20设置为验证集。利用tf.keras.Sequential构建模型model,最后调用model.fit进行训练。
识别:利用tf.keras.Sequential构建模型model,并调用
model.load_weights加载训练好的模型,最后调用model.predict进行预测。
### 1.2.3 识别结果与改进
训练集准确率:98.53%,测试集准确率:72.32%。
****

可以发现这个结果很不理想。一开始我以为是因为过拟合了,**于是尝试增加****dropout****,但发现并没有起到什么作用**[[张1\]](#_msocom_1) **。**
于是我去看了看数据集中的数据,发现有很多图片是脏数据,比如:

之后我对这些脏数据进行了手动删除,同时我发现图片中干扰元素较多(比如背景中的花草),可能会导致网络无法很好地对蘑菇进行分类。于是我尝试使用了github上的开源库https://github.com/nadermx/backgroundremover 对数据集中的数据进行去背景处理。
去背景脚本:遍历原图片,对当前图片执行 os.system('backgroundremover -i "'+original_file+'" -o "'+new_file+'"')命令进行去除图片操作,并将结果存入另一个文件下。
去背景前:

去背景后:

最后使用去除了脏数据,并进行了去背景操作后的数据集进行训练,训练集准确率:99.88%, 测试集准确率:81.25%。


## 1.3 应用实现
介绍了小程序应用数据库、后端、前端的设计与实现。
### 1.3.1 数据库
采用Mysql数据库。由于系统比较简单,只有一张表:mushroom。
mushroom表字段:id(主键),name(蘑菇名称),scientific_name (学名),species(所属科属),toxicity(毒性),feature(特征),文献(documents),img_path(图片路径)。
其中为提升查询效率,在scientific_name字段上建立了索引。
### 1.3.2 后端
用springboot框架进行开发,用mybatis-plus框架进行数据库交互。
核心接口逻辑:将前端传过来的图片上传至服务器指定路径下-->利用Runtime.getRuntime().exec(command)执行python命令:python identify.py <图片路径>(python脚本读取该路径下的图片进行识别)--> 读取python脚本打印出来的结果(所有类别及其识别准确率),并进行排序-->删除上传至服务器的图片-->返回识别准确率前三的类别。
统一错误处理:通过@ControllerAdvice注解实现一个拦截器,并利用@ExceptionHandler(value = Exception.class)注解捕捉所有异常,进行统一处理。
### 1.3.3 前端
基于Taro(React)框架进行开发。
上传图片:使用Taro.chooseImgae api选择图片,选择成功后调用Taro.uploadFile api将图片上传至服务器。
页面间传递对象参数:父页面调用Taro.eventCenter.trigger api触发事件,将参数放入事件中。子页面调用Taro.eventCenter.once api监听事件,取得参数。
获取蘑菇详细信息:通过Taro.request api调用后端接口获取详细信息。
## 1.4 部署与发布
介绍了小程序开发完成后的部署与发布。
### 1.4.1 服务器配置
操作系统:CentOS 7.6 64位(腾讯云云服务器)
CPU:1核2GB
系统盘:50GB
域名:www.runtohelp.top
ssl证书:

### 1.4.2 后端部署
将ssl证书上传至服务器,并修改nginx配置文件:

将后端springboot项目通过maven打包成.jar文件,并上传至服务器。
执行命令:nohup java -jar ../mushroom-0.0.1-SNAPSHOT.jar > ../log.txt &启动服务。
### 1.4.3 小程序发布
通过微信小程序开发工具上传代码,并在小程序管理后台进行发布。目前小程序已发布,在微信中搜索识菇即可进行使用。
## 1.5 效果展示
使用“识菇”微信小程序进行蘑菇识别的效果如下:





没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源说明】 基于卷积神经网络的蘑菇识别微信小程序.zip基于卷积神经网络的蘑菇识别微信小程序.zip基于卷积神经网络的蘑菇识别微信小程序.zip基于卷积神经网络的蘑菇识别微信小程序.zip基于卷积神经网络的蘑菇识别微信小程序.zip基于卷积神经网络的蘑菇识别微信小程序.zip基于卷积神经网络的蘑菇识别微信小程序.zip基于卷积神经网络的蘑菇识别微信小程序.zip 基于卷积神经网络的蘑菇识别微信小程序.zip基于卷积神经网络的蘑菇识别微信小程序.zip 基于卷积神经网络的蘑菇识别微信小程序.zip 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用!有问题请及时沟通交流。 2、适用人群:计算机相关专业(如计科、信息安全、数据科学与大数据技术、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工下载使用。 3、用途:项目具有较高的学习借鉴价值,也适用于小白学习入门进阶。当然也可作为毕设项目、课程设计、大作业、初期项目立项演示等。 4、如果基础还行,或者热爱钻研,亦可在此项目代码基础上进行修改添加,实现其他不同功能。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论


















收起资源包目录





































































































共 264 条
- 1
- 2
- 3
资源评论


onnx
- 粉丝: 1w+
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 基于uml校园图书管理系统的分析设计-学位论文(1).doc
- 计算机实习心得通用15篇(1).doc
- 浅谈建筑类企业成本管理与信息化的关系(1).docx
- XX计算机教学总结范文(1).doc
- 图书管理系统-本科生毕业(设计)论文(1).doc
- 安徽基础教育信息化应用平台服务内容和建设规划(试行)(1).doc
- 年度工作计划excel(1).docx
- 信息化管理在企业人力资源管理中的应用(1).docx
- 计算机硬件是计算机所有物理设备的总称包括控制器(1).docx
- 【推荐下载】数字化工业大势所趋-“物联网+”战略已先行(1).pdf
- 金融大数据挑战下的风险控制(1).pptx
- 2019年计算机教师年度总结(1).doc
- 基于大数据的制造企业服务化研究(1).docx
- 高职院校互联网+创新创业教育实践探索(1).docx
- 正式软件服务合同(1).docx
- 关于计算机软件开发中的分层技术探讨(1).docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
