创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
拳交 國產 智能垃圾分类及投放点定位系统想象与兑现 Research on the Design and Implementation of Intelligent Garbage Classification and Positioning System - 偷偷撸
偷偷撸

泷川雅美ed2k你的位置:偷偷撸 > 泷川雅美ed2k >

拳交 國產 智能垃圾分类及投放点定位系统想象与兑现 Research on the Design and Implementation of Intelligent Garbage Classification and Positioning System

发布日期:2024-10-12 01:30    点击次数:146

北京林业大学拳交 國產,北京

收稿日历:2022年6月20日;托福日历:2022年7月19日;发布日历:2022年7月27日

纲领

为兑现匡助东谈主们辨识垃圾类别及定位对应垃圾桶投放点的位置,该文诱骗出一套基于深度学习及百度舆图API的垃圾分类与投放的系统。系统的主邀功能如下:将垃圾置于手机相机镜头内,应用捕捉到画面并进行实时识别,并导航至离用户现时位置最近的垃圾投放点;通过语音商议垃圾类别或现时最近垃圾投放点位置,APP进行垃圾详备信息展示或导航至最近垃圾投放点;手动输入垃圾桶类别,应用自动获取现时位置信息并上传至服务器数据库保存,APP连网获取位置及类别信息,并调用百度舆图API进行遮掩物瑰丽。

关节词

垃圾分类,深度学习,APP诱骗,定位与导航

Research on the Design and Implementation of Intelligent Garbage Classification and Positioning System

Haohao Feng

Beijing Forestry University, Beijing

Received: Jun. 20th, 2022; accepted: Jul. 19th, 2022; published: Jul. 27th, 2022

ABSTRACT

To help people identify the type of garbage and locate the location of the corresponding trash can, this article developed a system of garbage classification and positioning based on deep learning and Baidu Map API. The main functions of the system are as follows: place the garbage in the camera lens of the phone, the application captures the screen and recognizes it in real-time, and navigates to the garbage disposal point closest to the user’s current location; asks the garbage category or the current location of the nearest garbage disposal point through voice, The APP displays detailed information about the garbage or navigates to the nearest garbage disposal point; manually enter the garbage bin category, the application automatically obtains the current location information and uploads it to the server database for storage, the APP connects to the Internet to obtain the location and category information, and calls the Baidu map API for coverage mark.

Keywords:Garbage Classification, Deep Learning, App Development, Positioning and Navigation

Copyright © 2022 by author(s) and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY 4.0).

1. 小序

跟着我国经济水平的高速发展,东谈主们的物资摧毁水平不停晋升,相对应的垃圾产生量也在飞快增长,由垃圾产生的问题日益杰出,东谈主们的反馈越来越激烈,引申垃圾分类大势所趋,引申垃圾分类意旨要紧 [1] [2] [3] 。

近些年来深度学习技巧的发展,为垃圾分类职责提供了新的技能。周滢慜 [4] 基于机器视觉技巧,想象了一种基于Faster-RCNN卷积神经鸠合的经营检测模子鼎新算法,并接纳了基于Hyper-Column像素分类的决议经管小尺寸经营分类难的问题,同期也鼎新了VGG16神经鸠合结构以晋升识别精度与速率,而东谈主机交互纠错机制的引入则提高了该垃圾分类模子识别的精度。黄国维 [5] 忽视基于深度学习的城市智能分类垃圾桶想象,通过在NB-IOT智能物联网技巧基础上搭建智能垃圾桶实时检测鸠合,在卷积神经鸠合基础上忽视了垃圾智能分类算法与模子,仿真检会结束标明,该分类算法反当令代快,识别准确率高。岳晓明等 [6] 忽视了一种基于CenterNet鸠合的垃圾分类模子,该模子可在各式复杂情况下对垃圾经营进行快而准的识别,并领有25 ms的低耗时以及98.2%的高精度,经管了面前垃圾分类检测方法适用性较差、伪善率较高、无法实时检测等问题,有望应用在工业运输过程中。王小燕等 [7] 对Faster RCNN、YOLOv3和RetinaNet三种鸠合模子在垃圾分类中的应用进行了连络,并依托于所搭建的分类识别实验平台想象了对确乎验,结束标明接纳基于Faster RCNN的垃圾分类识别算法,达成了垃圾分类检测的经营,极地面检朴了东谈主工本钱,晋升了不同种类垃圾分类检测遵循,从而裁汰了环境受到垃圾稠浊的可能性。

然则在引申垃圾分类和连络智能化垃圾分类方法的过程中,遭受了许多践诺问题以及局限性,本文的连络内容便起原于东谈主们在本色生存中遭受的垃圾分类处理问题以及对面前已有的垃圾分类连络效果应用局限性的念念考,具体问题以及局限性如下。

1) 垃圾分类仅依赖职责主谈主员进行分拣与回收,存在着许多问题,如作事强渡过高、分拣遵循较低、职责环境恶劣,影响职责主谈主员体魄健康等。

2) 面前国内还存在一些大家对垃圾分类的坚决较为轻淡,不睬解垃圾分类的要紧意旨,如老东谈主和小孩等东谈主群,由于主不雅学习才调较差,导致对垃圾的类别相识不够澄澈,较容易伪善投放垃圾。

3) 东谈主们在出门时,既存在因为未随身捎带垃圾分类手册而不了解所捎带垃圾所属类别,导致无法进行准确投放,也存在因为不了解垃圾投放点的位置而无法实时将身边的垃圾准确投放至对应类别垃圾桶内,导致垃圾乱扔等问题。

4) 面前已有的连络内容主要分为基于硬件的分类系统以及基于深度学习的分类算法,前者基于大型分类机搭建而成,需要用户主动前去确立,后者主如果针对算法模子的连络,需要提前征集垃圾图像进行检测,两者均具有无法随处随时进行垃圾分类识别和方便性较低等缺欠。

5) 截止本文确定连络内容前,运用迁移端确立进行垃圾分类的关联连络绝顶少,且在各软件应用商店内均无关联类型的APP,东谈主们对使用愈加方便的方式进行垃圾分类与投放有一定的需求。

基于上述分析可知,智能垃圾分类及投放点定位APP的诱骗,可灵验晋升东谈主们对垃圾种类识别以及垃圾投放的高效性和便利性,也可提能手们进行垃圾分类的兴致与意愿,同期也具有一定的探索意旨。

2. 系统诱骗主要技巧选型

2.1. Java

Java是一种诱骗话语,具有面向对象的特色,具有封装、收受、多态性的脾性 [8] ,因此不错想象出低耦合的系统,使系统愈加纯真、愈加易于珍贵。庸俗使用在Web后端诱骗以及客户端诱骗中 [9] 。由于Java捏造机JVM的存在,使其诱骗的应用具有讲究的可移植性。

2.2. SpringBoot

SpringBoot框架是Java平台上的一个开源应用递次框架,它提供了一个具有回转划定特征的容器。尽管SpringBoot框架自己对编程模子莫得任何松手,但它在Java应用递次中的时常使用使其绝顶流行,其后被用作EJB (EnterpriseJavaBeans)模子的补充,甚而是替代品。SpringBoot框架提供了一系列诱骗经管决议,如运用划定回转的中枢脾性,通过依赖注入兑现划定回转,兑现经管对象生命周期的容器化,各式捏久化技巧经管数据探问 [10] ,提供开阔优秀的Web框架来促进诱骗等。

2.3. MyBatis-Plus

MyBatis-Plus (简称MP)是一个MyBatis的增强器具,在MyBatis的基础上只作念增强不作念改变,为简化诱骗、提高遵循而生 [11] 。甚而是替代品。它具有以下脾性:

1) 无侵入:只作念增强不作念改变,引入它不会对现存工程产生影响,如丝般顺滑。

2) 损耗小:启动即会自动注入基本CURD,性能基本无损耗,径直面向对象操作。

3) 弘大的CRUD操作:内置通用Mapper、通用Service,只是通过少许成立即可兑现单表大部分CRUD操作,更有弘大的条款构造器,霸道各类使用需求。

4) 扶助主键自动生成:扶助多达4种主键计谋(内含漫步式惟一ID生成器——Sequence),可解放成立,竣工经管主键问题。

2.4. MySQL

MySQL是一个干系型数据库经管系统 [12] ,由瑞典MySQL AB公司诱骗,属于Oracle旗下居品。MySQL是最流行的干系型数据库经管系统之一,在WEB应用方面,MySQL是最好的RDBMS (Relational Database Management System,干总计据库经管系统)应用软件之一。MySQL不错在各式平台上运行UNIX,Linux,Windows等。不错将其装置在服务器甚而桌面系统上。此外,MySQL是可靠,可扩展和快速的。

2.5. Android

安卓(Android)是一种基于Linux内核(不包含GNU组件)的解放及洞开源代码的操作系统 [13] 。主要使用于迁移确立,如智能手机和平板电脑,由好意思国Google公司和开松手机定约诱骗及诱骗。Android分为四个层,从高层到低层分别是应用递次层、应用递次框架层、系统运行库层和Linux内核层。

2.6. XUI

XUI是一个简陋而又优雅的Android原生UI框架。其主要具有以下特色:

1) 简陋优雅,尽可能少得援用资源文献的数目,神态库合座大小不及1 M (打包后梗概644 k)。

2) 组件丰富,提供了绝大多数咱们在诱骗者常用的功能组件。

3) 兼容性高,框架还提供了3种不同尺寸确立的花式(4.5英寸、7英寸和10英寸),况且最低兼容到Android SDK 17,让UI兼容性更强。

4) 扩展性强,各组件提供了丰富的属性和花式API,不错通过诞生不同的花式属性,构建不同格调的UI。

3. 系统功能需求分析

智能垃圾分类及投放点定位系统主要包括垃圾称号微辞搜索、垃圾信息上传、投放点信息上传、垃圾分类图鉴、语音识别、智能垃圾分类、投放点定位及导航等功能。该系统分为前端(即Android迁移端APP)和后端(即服务器端应用)。

迁移端功能需求简要讲明如下。

1) 垃圾信息上传。用户点击主界面的垃圾信息上传按钮,投入垃圾信息上传界面,输入垃圾关联信息后,点击上传,即可将垃圾信息数据上传至数据库中。

2) 投放点信息上传。用户点击主界面的垃圾投放点信息上传按钮,投入垃圾投放点信息上传界面,输入垃圾投放点关联信息后,点击上传,即可将垃圾投放点信息数据上传至数据库中。

3) 垃圾分类图鉴。苦求数据库中保存的扫数已上传的垃圾信息,将垃圾信息数据展示给用户。

4) 语音识别。当用户使用语音识别功能时,APP会左证识别结束进行判断,若用户是商议最近的指定垃圾投放点的位置信息,则会跳转自可视化界面并自动进行导航;若用户是商议某一垃圾所属的分类类别,则会跳转到垃圾分类图鉴界面,并展示该垃圾的关联信息。

5) 智能垃圾分类器。用户不错通过操作界面的按钮掀开手机相机,然后将所要进行检测的垃圾物摒弃在相机镜头内,APP将会自动检测镜头内垃圾物的称号以及所属类别,并将识别结束输出在操作界面上。

6) 投放点定位及导航。用户可通过主界面按钮投入舆图界面,APP在后台自动向服务端发送苦求,获取保存在数据库里的垃圾投放点的经纬度信息,然后调用百度舆图API将其领会在舆图上。若用户发起导航苦求,APP则调用百度舆图API通过获取用户现时场合位置,并想象离现时位置最近的投放点坐标,进而自动想象最好导航线线。

香蕉鱼视频在线观看

服务器端功能主如果对垃圾、垃圾投放点等详备信息进行增、删、改、查等经管。

4. 技巧架构

用户通过安卓端APP实时识别垃圾种类以及下载垃圾确定和投放点确定信息,而客户端APP内的垃圾与投放点信息数据均来自服务端,为了完成客户端与服务端的数据传输以及信隔断互,本系统带受MySQL数据库进行垃圾与投放点信息数据和各式信息的存储,然后通过HTTP鸠合公约兑现了客户端服务端的交互。为了晋升系统的使用性能以及可珍贵性,诱骗该APP时使用了MVC架构,将掌上电力APP分散为多层,通过各个层来完成不同的任务,各层任务如下:

弘扬层:该层即系统运行场合的迁移确立,用户通过该层与智能垃圾分类及投放点定位APP进行交互。

业务层:该层即APP内各个功能具体兑现场合脉络,用户进行操作后,APP通过该层进行逻辑处理以及通过HTTP与服务端进行鸠合交互,包括发送苦求上传或获取垃圾与投放点信息等。

服务层:即服务端场合脉络,该层主要对用户数据进行关联操作以及业务的中枢处理,为用户提供服务。

数据层:开阔的用户数据需要进行操作以及经管,该层主要运用数据库对用户数据进行经管以及珍贵。

图1展示了智能垃圾分类及投放点定位系统所接纳的技巧架构。

图1. 系统技巧架构图

5. 系统想象与兑现

5.1. 关节问题经管决议

在诱骗智能垃圾分类及投放点定位APP过程中,需要经管的关节问题主要有两点,分别为APP调用垃圾分类模子敌手机相机视频流中的垃圾物体进行分类识别以及将投放点位置关联信息展示在舆图界面上并不错对其发起导航,底下将针对上述诱骗过程中所需要经管的关节问题进行具体讲明并忽视相应的经管决议。

5.1.1. MobileNetV2轻量化卷积神经鸠合

在诱骗APP中的智能垃圾分类模块时,需要敌手机相机视频流中的垃圾物体进行分类识别,沟通到面前手机的处理器已发展完备具备较高的想象才调,同期为了给用户带来讲究的体验,需保证识别的高效性和准确性,因此本文接纳图像处理的方法对视频流中的帧图像进行分析处理,从而确定相机镜头下垃圾的称号以及所属种类并将结束信息直不雅展示在手机界面上。

在想象机视觉限度中,图像分类是绝顶进攻的构成部分亦然基本问题之一,行为检测、经营识别等复杂的视觉任务亦然以它为基础进行连络的。传统的图像分类算法一般需要对图像进行手工特征提真金不怕火来对图像进行态状,在进行分类时,需要将整幅图像算作输入,导致算法的想象量绝顶大,想象速率较慢,分类遵循以及正确率也会因为图像的配景等冗余信息的侵扰而裁汰,其次分类效果跟着特征提真金不怕火算法的不同而各有优劣,算法对不同图像的自符合进程较差。面前,基于深度学习的图像分类算法和会了特征提真金不怕火及分类,无需东谈主工进行图像特征提真金不怕火,算法兑现阳春白雪,实验结束精度较高,模子的鲁棒性较好。

在MobileNetV1鸠合结构基础上对其进行了鼎新并忽视了MobileNetV2鸠合。相较于MobileNetV1,MobileNetV2的鼎新主要体面前如下四个方面。

1) 引入残差结构,先升维再降维,增强梯度的传播,权贵减少推理期间所需的内存占用(Inverted Residuals)。

2) 去掉Narrow layer (low dimension or depth)后的ReLU,保留特征千般性,增强鸠合的抒发才调(Linear Bottlenecks)。

3) 鸠合为全卷积的,使得模子不错符合不同尺寸的图像,使用RELU6 (最高输出为6)激活函数,使得模子在低精度想象下具有更强的鲁棒性。

4) 加多了MobileNetV2 building block,如下图2所示,若需要下采样,可在DWise时接纳步长为2的卷积;小鸠合使用小的延迟总计(expansion factor),大鸠合使用大一丝的延迟总计。

鼎新后的MobileNetV2鸠合完整结构如下图2所示,第一层是尺度卷积,然后背面是前述的bottleneck结构。其中t是扩展因子,c是输出通谈数,n是叠加次数,s代表步长。如果步长为2,代表现时叠加结构的第一个块步长为2,其余的步长为1,步长为2时则莫得越过邻接。

图2. MobileNetV2鸠合结构

经过使用ImageNet上的数据集进行模子老师和测试,MobileNetV2相较于MobileNetV1在裁汰参数目,松开鸠合结构体积的前提下,Top1准确率有所晋升,况且单帧图像检测耗时由113 ms下落到75 ms,分类识别速率权贵提高。

针敌手机相机视频流中的垃圾图像,接纳MobileNetV2模子进行垃圾分类识别。MobileNetV2模子既不错霸道高准确率要求,又不错进行对视频流中的垃圾图像进行实时刻类,获取了分类速率以及分类效果之间的均衡。

5.1.2. 百度舆图Android SDK

在诱骗APP中的投放点定位及导航模块时,领先需要在手机界面上领会鸠合舆图图层,然后需要将投放点位置信息领会在鸠合舆图上,况且或者对投放点位置发起导航。为了给用户带来讲究的使用体验,在兑现该功能时需要沟通鸠合舆图操作的运动性、投放点位置信息展示的澄澈性、导航线线的实时性等问题。

跟着迁移互联网的快速发展和东谈主们对APP便利性的需求,旅游导航类、物流类、生存服务类APP在应用中标配了舆图功能,这些功能越来越受到东谈主们的接待,阐扬着越来越进攻的作用。另一方面,基于Android系统的迁移末端确立,由于其便携性、踏实性和应用丰富性,领有着开阔的用户群体。基于此,国内对鸠合舆图的连络取得了快速发展,出现了百度舆图、腾讯舆图、高德舆图等舆图应用,其中百度舆图由于连络开展较早,用户基数较大,属于其中发展较好的。百度舆图为安卓应用诱骗者提供了基于Android系统的舆图SDK,SDK包含了丰富的功能接口,包括舆图创建、与舆图交互、在舆图上画图、导航、门道想象等。

在创建舆图方面,基于百度舆图Android SDK所创建的舆图可澄澈领会行政区画等信息并不错在普通显露舆图、卫星舆图和空缺舆图三种类型之间进行切换。所创建的舆图扶助双指操作进行放大和松开,且操作运动无卡顿,对谈路、建筑物、绿地以及河流等进攻的当然特征皆有讲究的展示。

在对舆图进行画图方面,百度舆图Android SDK扶助诱骗东谈主员在鸠合舆图界面上摒弃遮掩物,可扶助摒弃的遮掩物种类丰富,包括画图点瑰丽、线、曲线和面等。其中点瑰丽所使用的遮掩物图标可进行自界说修改,以霸道不同场景下的不同需求。

在导航方面,百度舆图Android SDK为诱骗东谈主员提供了三种导航功能,包括步碾儿导航、市内步碾儿导航和骑行导航,并为每一种导航提供了调用接口。此外皮步碾儿导航功能里,SDK还极端扶助了步碾儿AR导航以及偏航改良等功能,大大晋升了用户体验。

5.2. Android端想象与兑现

5.2.1. 垃圾信息上传功能模块与兑现

垃圾信息填写与上传界面分为四个部分,分别为垃圾称号填写、垃圾种类遴选、垃圾态状信息填写、垃圾示例图像采集以及垃圾信息阐明上传。其中,垃圾称号填写输入框功能通过安卓原生自带的EditView组件兑现,用户可在输入框内输入具体垃圾称号,系统会将输入或改变内容自动保存;垃圾种类采勤恳能是由安卓原生自带的CheckedTextView组件兑现,用户点击该组件,则会弹出下拉遴选框,共四种类型可遴选,分别为厨余垃圾、可回收垃圾、其它垃圾、无益垃圾,系统会自动保存用户最新遴选的结束;垃圾态状信息填写同垃圾称号填写功能一样,基于安卓原生自带的EditView组件兑现,系统相通会将输入或改变内容自动保存;垃圾示例图像采集功能分为两种情况,第一种情况是遴选相册内已存在的相片为示例图像,领先需要创建安卓自带的activity跳转器具类Intent,并为其成立Intent.ACTION_PICK属性,然后调用XUI框架里的XPageFragment.java类里的startActivityForResult方法并传入上头创建的器具类Intent,便可投入相册遴选相片,遴选完成后系统将保存结束图像并弹窗展示;另外一种情况则是遴选使用手机相机进行拍照获取示例图像,领先相通需要创建安卓自带的activity跳转器具类Intent,并为其成立MediaStore.ACTION_IMAGE_CAPTURE属性,然后调用安卓自带FileProvider类中的getUriForFile方法传入现时高下文、APP文献包旅途、相片占位文献等参数并获取复返结束,然后将该复返结束以及创建的Intent类传入XPageFragment.java类里的startActivityForResult方法算作参数,即可投入相机拍摄界面,拍摄完成后系统将保存结束图像并弹窗展示,此外,两种情况所获取的图像均可在弹窗中进行剪辑,该操作是基于UCrop开源的安卓端图像剪辑器具中的UCropActivity兑现的,可对图像进行剪辑以及放大松开等操作;垃圾信息上传阐明由安卓原生提供的Button组件兑现,并为其添加点击监听事件,当用户点击阐明上传按钮时,系统将用户之前所填写或遴选的垃圾称号、垃圾种类、垃圾态状信息数据进行封装,然后通过鸠合传输,将数据上传至云霄服务器应用递次,并保存至数据库中,而垃圾示例图像数据则会由系统调用阿里云OSS所提供的Android SDK,将图像数据上传保存至阿里云OSS,即阿里云提供的对象存储服务。本功能模块兑现效果如图3所示。

图3. 垃圾信息上传功能模块想象

5.2.2. 投放点信息上传功能模块想象与兑现

投放点信息上传界面分为五个部分,分别为地舆信息、位置态状、周围环境图像信息、备注信息以及阐明上传按钮,其中地舆信息是对现时位置的省市区州里街谈信息进行态状,位置态状是对现时位置参考态状(如北京林业大学五号楼隔邻),两者皆是通过调用BaiduMap Android SDK获取到的,在APP内调用BaiduMap Android SDK获取地舆位置信息的门径如下:① 位置信息数据的获取可通过新建子类MyListener并使之收受抽象类BDAbstractListener,然后重写子类中的onReceieveLocation方法;② onReceieveLocation方法会传入一个BDLocation类参数,该参数包含了获取现时位置关联信息的方法;③ 通过BDLocation的getProvince方法不错获取到现时场合省份,getCity方法不错获取到现时场合市,getDistrict方法不错获取到现时场合区县,getStreet方法不错获取到现时场合街谈,getTown方法不错获取到现时场合州里,getLongitude方法不错获取到现时场合位置的经度,getLatitude方法不错获取到现时场合位置的纬度,getLocationDescribe方法不错获取到现时位置态状信息。

另外三个部分,即周围环境图像信息的采集、备注信息的填写以及阐明上传按钮的功能与垃圾信息上传功能模块的垃圾示例图像采集、垃圾态状信息填写、垃圾示例图像采集所使用的技巧基本一致,此处不再赘述。本功能模块兑现效果如图4所示。

图4. 垃圾投放点信息上传功能模块想象

5.2.3. 垃圾分类图鉴功能模块想象与兑现

垃圾类型遴选列表分为四项,分别为厨余垃圾、可回收垃圾、其它垃圾以及无益垃圾,每个选项对应一个Button组件,点击Button即可跳转至对应类型的垃圾图谱卡片列表。该界面的想象兑现过程如下:领先创建该界靠近应的XML布局文献,父布局使用嵌套的双层LinearLayout,里面成立四个由XUI框架提供的基于安卓原生Button好意思化的RippleView用于展示四种垃圾类型按钮,并为其分别添加不齐心理,接纳的是北京市引申的四大垃圾种类代表色,即绿色为厨余垃圾、灰色为其它垃圾、蓝色为可回收垃圾、红色为无益垃圾;然后创建对应的Fragment用于界说具体的引申逻辑,在该Fragment内为上述四个RippleView按钮成立具体的点击监听事件,即点击不同类型的RippleView按钮跳转至不同类型的垃圾图谱卡片列表界面。

垃圾图谱卡片列表界面用于展示所遴选垃圾类型下,系统扫数已存储的垃圾信息卡片列表,该界面的兑现方式主如果通过如下方式:领先创建该界面的XML布局文献,父布局使用LinearLayout,在父布局里面镶嵌在GitHub上开源的scwangUI框架中的SmartRefreshLayout布局,在SmartRefreshLayout布局中成立MaterialHeader、RecyclerView、MaterialFooter三个组件,分别用于下拉刷新花式、卡片花式、列表触底展示花式,由此便构成了垃圾图谱卡片列表界面合座布局;然后创建垃圾图谱卡片列表界靠近应的Fragment用于界说具体的引申逻辑,在该Fragment内为RecyclerView内的每一项(即垃圾图谱卡片)成立具体的点击监听事件,即点击不同具体的卡片则会跳转至具体垃圾的垃圾图谱卡片界面。当用户由垃圾类型遴选列表界面投入到该界面时,系统会自动向服务端应用递次发送获取指定种类垃圾数据的苦求,应用递次收到苦求后,从数据库中读取出扫数该类型的垃圾数据,封装成JSON数据体式并复返给APP,当APP获取到该数据之后,解析成一个数据纠合List,List中每一项数据代表一种垃圾,并将每一项数据对应到RecyclerView内的每一项数据,进行最终的展示。

垃圾图谱卡片界面用于展示具体某一垃圾的详备信息,该界面包含四个部分,自上而下,循序为垃圾称号、垃圾示例图像、所述类别、垃圾态状信息。此界面所接纳的技巧旨趣为:领先,创建此界面的XML布局文献,在父布局LinearLayout中嵌套一个ConstraintLayout,然后在ConstraintLayout里面由上至下,分别成立一个XUI框架提供的图像展示组件XUIAlphaImageView用于展示垃圾示例图像,一个TextView用于展示垃圾称号,一个TextView用于展示垃圾所属种类,一个TextView用于展示垃圾态状信息;其次,创建该界面的逻辑处理类Fragment.java,然后在该类里面为垃圾示例图像展示组件添加点击事件,具体为当初次点击该图像时,图片可放大,再次点击即可松开至原本大小,并可叠加点击。本功能模块兑现效果如图5所示。

图5. 垃圾分类图鉴功能模块想象

5.2.4. 语音识别功能模块想象与兑现

为兑现讯飞语音识别SDK的下载与导入,需投入科大讯飞诱骗者平台的划定台,在划定台里创建新应用,在创建新应用里输入所要创建的应用的基本信息,平台遴选Android,创建完成后可在我的应用里看到APPID,此ID惟一且在APP诱骗中会使用到。点击添加新服务不错遴选所要使用的服务,遴选完成后点击下载即可进行下载,下载完成后进行解压,解压后的文献夹包括assets、libs、res等文献,将这些文献夹内的文献移至APP神态根目次下换取称号文献下内即可。

完成SDK的导入后,即可进行语音识别模块的诱骗,主要过程如下:创建该界面的XML布局文献,使用三层LinearLayout布局进行嵌套以保证里面组件位于屏幕中央,然后在里面添加TextView组件用于展示语音输入内容和Button按钮组件用于早先语音识别的点击;在语音识别逻辑兑现类SpeechFragment.java中界说InitVoice方法,并在该方法内早先化SDK提供的语音识别监听器类RecognizerListener,在该RecognizerListener类的onResult方法(即监听结束回调方法)中编写逻辑判断代码,逻辑为当用户商议的问题包含某一垃圾称号时,则弹窗商议用户是否要检讨该垃圾的详备信息,用户点击是便跳转至该垃圾的图谱界面,点击否弹窗则会隐没;当用户商议的问题包含投放点、垃圾桶、垃圾箱等关节词时,则弹窗商议用户是否导航至离现时位置最近的垃圾投放点,用户点击是便跳转至导航界面,点击不然弹窗隐没;当APP无法识别用户的语音输入时,则会辅导用户匹配不到语音识别内容对应结束,请使用尺度普通话重试。弹窗界面使用的是XUI框架内的DialogLoader类兑现。本功能模块兑现效果如图6所示。

5.2.5. 智能垃圾分类功能模块想象与兑现

本模块的诱骗过程主要分为模子老师以及模子部署两个部分,接下来将对每部分的主要历程进行先容。

图6. 语音识别功能模块想象

1) 模子老师

进行图像分类模子的老师,领先需要装置深度学习环境,本文所使用的模子老师机器主要成立如表1所示。

完成环境成立后,需要准备数据集进行老师,本文所使用的垃圾图像数据集均通过Python爬虫剧本从鸠合上爬取得到,通过东谈主工筛选爬取结束,最终确定了包含4种垃圾类型,119种垃圾,8万多张图像的数据集。

完成数据集的采集与整理之后,即可早先模子的老师,模子老师主要过程如下:

① 下载models-1.12.0并解压,为GitHub上谷歌开源的一个TensorFlow框架连络神态,其包含了模子老师所需要用到的剧本以及鸠合结构文献等;

表1. 模子老师机器成立表

② 将解压后的models文献夹中的slim文献夹加入环境变量;

③ 下载预老师的量化模子MobileNet_v2_0.75_224_quant.pb;

④ 修改MobileNetV2结构参数,投入slim/nets/MobileNet_v1.py文献,修改MobileNetV2以及MobileNet_v2_base方法中的depth_mutiplier为0.75;

⑤ 将③中下载的预老师模子解压至slim文献夹里,并将该预老师模子的充足旅途算作老师剧本中checkpoint_path参数的值,在slim中新建train_dir文献夹,用来保存老师模子青年景的ckpt节点文献;

⑥ 早先老师,调用slim文献夹内的train_image_classifier.py老师剧本并将准备完成的数据集旅途传入。老师过程中的模子准确率以及Loss变化分别如图7和图8所示,模子老师完成教授证集测试,准确率为92%;

图7. 模子老师准确率变化图

图8. 模子老师Loss变化图

⑦ 导出pb模子文献,通过调用slim文献夹内的export_inference_graph.py剧本兑现;

⑧ 迁移pb模子为tflite模子,调用tensorflow依赖包下的lite/toco.py兑现。

2) 模子部署

将上述得到的graph.tflite模子,分类标签文献label.txt文献,以及存有119种垃圾中英文称号对照和所属类别的data.txt文献迁移至APP神态中的assets文献夹内。然后修改图像分类逻辑类ImageClassifier.java中的关联属性成立,将MODEL_PATH的值诞生为模子文献graph.tflite的旅途,将LABEL_PATH诞生为标签文献labels.txt,将识别结束践诺个数修改为1,即仅领会可能性最高的垃圾称号。在主界面逻辑处理类MainActivity.java中为智能识别图标添加点击事件,当用户点击该图标时,APP跳转至ImageClassifier.java,开启手机相机镜头,并将模子以及标签文献读取进内存对相机视频流图像中的垃圾物体进行分类识别,兑现效果如下图9所示。

图9. 智能垃圾分类功能模块想象

5.2.6. 投放点定位及导航功能模块想象与兑现

投放点定位功能诱骗主要过程如下,领先在AndroidManifest.xml中成立service,service内容包括三个属性:name、enabled、process,值分别为:com.baidu.location.f、true、:remote,观念是开启间隔定位功能(每隔n秒定位一次);然后创建舆图界面的XML布局文献,布局内容为RelativeLayout父布局内嵌套一个com.baidu.mapapi.map.MapView组件,百度舆图将会在此组件上进行展示,布局文献编著完成后,创建舆图逻辑处理类MapFragment.java,后续操作均在该类中进行。在initViews方法内加载刚创建的舆图XML布局文献以及瑰丽图标文献;创建收受自安卓原生自带的AsyncTask的子类MyTask进行异步编程(之是以接纳异步编程,主要因为在递次诱骗中,相较于CPU处理的速率,鸠合苦求的速率比之要慢许多,若用户处在鸠合景象较差的环境且APP在干线程中进行了鸠合苦求操作,那么干线程就会投入壅塞恭候鸠合复返,达到5秒之后应用便会崩溃重启)并重写doInBackground方法,在该方法内编写向服务端应用递次发送投放点信息苦求,并将复返结束中每一投放点的经纬度信息封装为SDK中的MarkerOptions类纠合,然后将该纠合传入SDK中BaiduMap类里的addOverlays方法,即可在舆图上指定经纬度位置进行定位与瑰丽;在上述定位功能诱骗中所诞生的瑰丽图标添加点击监听事件,点击瑰丽物会在屏幕底部进行弹窗,弹窗内容包括该投放点的位置态状信息、环境示例图像以及两个按钮——发起导航和取消,该弹窗由安卓原生自带的BottomSheetDialog类为基础进行想象兑现,投放点的位置态状信息、环境示例图像均为投放点信息上传功能模块上传的数据,当用户点击发起导航按钮,即跳转至该投放点的步碾儿导航界面,底下将对投放点导航功能诱骗进行简要先容。

投放点导航功能诱骗主要过程如下,领先在舆图逻辑处理类MapFragment.java中创建routePlanWithWalkParam方法,并以经纬度为参数,在该方法里面将传入的经纬度封装为SDK中的WalkNaviLaunchParam类实例,然后以WalkNaviLaunchParam类实例为参数实例化SDK中的WalkNavigateHelper类的实例,即导航划定类,并重写WalkNavigateHelper类中的onRoutePlanSuccess方法,在该方法里面兑现导航界面的跳转;接着兑现导航界面诱骗,创建导航界面逻辑处理类NavigateActivity.java,主要逻辑处理是在其onCreate方法中诞生步碾儿导航景象监听。本模块兑现效果如下图10所示。

图10. 投放点定位及导航功能模块想象

5.3. 服务端想象

服务端应用递次搭建方面,使用IntelliJ IDEA编译器搭建基于SpringBoot框架的后台应用递次神态,神态分为三层架构,即Controller接口层、Service业务层以及Mapper捏久层。诱骗阶段使用Swagger-2框架进行后台接口测试。捏久层使用Mybatis-plus框架与MySQL数据库进行交互。同期,在基于Centos7系统的阿里云服务器上装置docker,在docker内装置Nginx及MySQL和Redis镜像并成立端口映射。神态诱骗完成后将代码打包为jar体式文献,再以此文献为基础制作docker镜像,创建神态的docker容器,将服务端应用递次运行于docker环境中,便于后续的更新与经管。

5.4. 数据库想象

智能垃圾分类及投放点定位系统使用了MySQL干系型数据库经管系统以及Redis非干系型数据库。MySQL数据库保用于保存用户上传的垃圾信息数据以及投放点信息数据。Redis数据库用于缓存服务端从数据库中取出的数据,加速探问数据,缓解MySQL数据库的读写压力。左证系统需求共有2张MySQL数据库表格。

垃圾信息表:纪录扫数用户上传的垃圾种类关联信息,其表结构如下表2所示。

表2. 垃圾信息表结构

投放点信息表:纪录扫数用户上传的投放点关联信息,其表结构如下表3所示。

表3. 投放点信息表结构

6. 系统测试

能否正确兑现用户的功能需求,是评价APP实用性的关节,因此对智能垃圾分类及投放点定位系统的各个功能模块的测试是至关进攻的,以此来确保功能的正确运行,底下将通过想象测试用例来对本文系统进行详细性测试。

服务端是系统的进攻构成部分,对系统数据的存取与分享起到关节性作用。为测试服务端功能,表4为服务端应用递次的测试用例。

表4. 服务端应用递次测试用例表

客户端APP是软件的使用关节,由于其是径直面向用户的,因此对其测试需要愈加的严实和周至。测试客户端是否能畴前职责,其测试用举例表5。

表5. 客户端APP测试用例表

7. 收尾语

为了响应国度引申垃圾分类的措施,诱骗了一个智能垃圾分类及投放点定位系统,系统主要包括垃圾信息上传、投放点信息上传、垃圾分类图鉴、语音识别、智能垃圾分类、垃圾投放点定位及导航等功能,分为Android端APP以及服务器后端应用递次。经过本色测试,本系统不错霸道东谈主们的日常垃圾分类需求。比较较于面前已有相似的系统或平台,该系统想象垃圾图鉴功能模块,采集开阔的垃圾种类信息,匡助东谈主们查找了解生存中遭受的垃圾偏执对应的分类信息;想象语音识别模块,匡助东谈主们方便地查询所需要的垃圾种类信息或投放点信息,关于老东谈主小孩等笔墨操作未便的东谈主群,语音识别功能很好地经管了这一未便;想象投放点定位及导航模块,匡助东谈主们了解场合地舆位置周围的投放点信息,将身边的垃圾实时投放进对应分类的垃圾桶内;想象智能垃圾分类模块,在使东谈主们在感受东谈主工智能技巧带来的方便以外,提高了东谈主们关于垃圾分类的兴致,也使得东谈主们不错对生存中的垃圾进行快速的识别与分类。

著述援用

冯昊昊. 智能垃圾分类及投放点定位系统想象与兑现Research on the Design and Implementation of Intelligent Garbage Classification and Positioning System[J]. 想象机科学与应用, 2022, 12(07): 1822-1838. https://doi.org/10.12677/CSA.2022.127183

参考文献拳交 國產



Powered by 偷偷撸 @2013-2022 RSS地图 HTML地图

Copyright Powered by站群系统 © 2013-2024

创建或修改目录:/www/wwwroot/104.219.215.234/data 失败!
JzEngine Create File False