“环保圾分”App软件的设计与实现

2021-09-22 10:34谢正玺卢欣李建行
科教创新与实践 2021年30期
关键词:垃圾分类神经网络深度学习

谢正玺 卢欣 李建行

摘要:本文开发了一款名为“环保圾分”的垃圾分类App,该系统包含常规的文字查询、语音查询和图像查询三种工作形式,其特色之处在于其图像查询功能运用了目前先进的深度学习理论和技术,将神经网络模型运用到垃圾分类图片的识别上,大大提高了圖像识别和分类的准确程度,弥补了目前垃圾识别App市场的不足,具有较高的社会价值。

关键词:App;垃圾分类;神经网络;深度学习

引言

继上海垃圾分类新政实施后,随着全国各地加速推行垃圾分类制度,垃圾分类APP、小程序等如雨后春笋般迅速出现[1]。然而这一市场充斥着不少粗制滥造,甚至收集个人信息的涉嫌的作品。仅仅2019年7月份,苹果商城上架的垃圾分类App,就从十几款上涨到近50款。

目前常规的垃圾分类软件以文字查询、语音查询、图片查询为主。其中文字和语音检索功能主要依靠检索其垃圾分类数据库。图片识别垃圾的功能则更为实用,由用户拍摄垃圾图片,APP根据图片识别功能判断垃圾类别并告知用户。但现有APP的主要问题是软件的图像识别准确度不高,由此影响了对垃圾的分类效果。

1 项目研究的主要内容

本项目“环保圾分”APP为2020年湖北省大学生创新创业的训练项目,旨在响应国家垃圾分类新政,帮助普通市民在生活中做到垃圾正确分类,实现资源顺利回收。在功能方面,本项目仍然提供文字查询、语音查询、图片查询这三类垃圾检索方式,但开发的重点在于提高图片识别的准确性上。即以深度学习的理论和技术为基础,将神经网络模型运用到垃圾分类图片的识别上,从而更好地达到垃圾分类的要求。

本设计的垃圾分类APP将以Android studio作为开发平台,以Java作为开发语言,搭配内嵌的SQLite数据库, Flask作为后台服务器。从用户角度,本系统图像识别垃圾分类功能需求如下:

(1)可读取本地相册中存储的图片;

(2)可读取相机拍照图片;

(3)根据图片判断垃圾类别和预测概率;

(4)将分类结果显示给用户。

2 系统设计与实现

2.1 客户端设计

(1)轮播图:页面中上部是一个轮播图,以图片形式展示最新的热点信息。点击不同的轮播图页面可以打开一个本地页面。

(2)文字识别:点击“文字识别”按钮搜索框进入搜索页面,手动输入垃圾名称进行搜索,下方将出现含有该物品或者含有该物品关键词的所有物品信息,极其对应的垃圾分类结果。

(3)语音识别:点击“语音识别”按钮,出现麦克风图标后用户说出想要搜索的物品名称,语音识别成文字后,按照文字识别方式下方出现垃圾分类结果。

(4)图片识别:点击“图片识别”按钮,会出现图片识别的三种选项,分别是“网络图片”、“相册图片”、“拍照图片”,方便用户从不同来源获得照片,进行识别。其中网络图片选项,要求用户输入图片的准确地址;相册图片选项,使用户可以从手机的本地相册中选择照片;拍照图片选项,使用户调用手机的相机功能,拍摄现场照片。系统对所获得的图片进行识别,判断图片中物体的类别。

(5)热点新闻推送:爬取并转发主流新闻网站上有关垃圾分类的新闻和发帖。

2.2 图像垃圾识别模块设计

根据对系统的主要功能和需求的分析可知,服务器端兼具了模型和web服务两个任务。管理员在本地收集分类所需的图片数据,将数据分为训练集和验证集。将搭建模型的需要的训练集数据直接输入到所搭建的模型中,保存训练好的模型参数在指定的本地文件夹中。手机端收集到图片数据,将训练好的参数加载到神经网络中,调用系统的分类模型来直接输出结果。而手机端主要用于收集图片和显示结果。据此将系统结构设计如下:

(1)用户界面层。是系统和用户之间交互的平台,包括了上传图片和结果展示两个功能。

(2)数据处理层。实现图片数据读取和将图片数据送入加载好的分类模型来实现分类。

(3)数据准备层。用于读取图片并将其转换为标准数据形式,和存储已经训练好的模型的参数。

系统具体流程如下:

(1)数据预处理

在图像分类训练和评估的过程中,原始图片的长度和高度不一致,而对神经网络的模型来说,需要固定规格的数据。因此,当图片数据被读取后,需要调用数据处理的方法才能让图片进行模型的训练或评估;用户在传入图片到后台时,也需要经过数据处理才能调用模型进行分析。系统使用的是深度学习框架PyTorch中 transforms 模块进行数据处理。

(2)模型的训练

使用PyTorch深度学习框架搭建了图像分类模型,进行模型的参数设置和初始化。

在分类模型搭建好之后,定义模型的训练和评估。在训练数据较少的情况下,使用了在图像方面正确率较高的开源的卷积神经网络ResNeXt-101结构作为图像分类的预训练模型。首先定义好损失函数、优化函数。输入所调用的预训练网络模型名称,给定学习率的值,指定优化器算法和迭代次数来进行模型的训练。

(3)模型的评估

模型的评估与模型的训练大致相同。不同的是评估模型时,需要加载验证集数据,调用model.eval( )方法,没有反向传播和参数更新的操作。验证集数据进入模型后得到预测分类结果。根据结果得到损失函数,可以计算模型的正确率。

3 结语

实施垃圾分类处理引导人们形成绿色生活方式,可以有效改善城乡环境,促进资源回收利用。[2]设计一个便捷、高效的垃圾分类App,能提高民众对垃圾进行分类的意识和效率,符合国家智能化的发展需求以及建设绿色生态的发展理念。[3]

参考文献:

[1] 高文超,王子聪,刘昊天.垃圾分类助手APP的设计与实现[J].信息与电脑(理论版),2020,32(19):58-61.

[2] 杨会玲,叶利华,刘小晶. 智能垃圾分类系统的研究设计 [J]. 电脑知识与技术,2020,16(04):261-264.

[3] 王华,李健,张佳禾. 基于 Android 的智能垃圾识别 App 的设计与实现[J].信息记录材料,2020,21(9):211-212.

本项目为2020年湖北省大学生创新创业训练项目【项目编号:S202013239002】,指导老师:杨玉蓓。

作者简介:谢正玺、卢欣、李建行,武汉工程大学邮电与信息工程学院2018级计算机科学与技术专业在校生,本项目成员。

猜你喜欢
垃圾分类神经网络深度学习
基于人工智能LSTM循环神经网络的学习成绩预测
基于图像处理与卷积神经网络的零件识别
基于自适应神经网络的电网稳定性预测
三次样条和二次删除相辅助的WASD神经网络与日本人口预测
小学校本课程《垃圾分类》智慧教育案例研究
浅析我国农村垃圾处理难题
日本城市垃圾分类的做法
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
高校环境教育非课堂教学模式的探索