基于树莓派的智能垃圾分类亭

2022-11-22 05:59王鑫龙陈坤鹏孙睿璁
物联网技术 2022年11期
关键词:树莓舵机摄像头

王鑫龙,喻 恒,陈坤鹏,孙睿璁

(平顶山学院,河南 平顶山 467000)

0 引 言

随着时代的发展、群众生活消费水平的提高,再加上我国人口众多,生活垃圾的产生量与日俱增。初步统计,2021年我国生活垃圾产量约有27 119万吨。垃圾问题日益严重,政府针对此问题实施了垃圾分类等政策,但通过四川省统计局组织开展的一项专项调查发现,受访居民分辨可回收垃圾、厨余垃圾、有害垃圾的准确率分别为13.0%、14.4%、20.5%,总体辨识准确率仅有1.4%;有80%的受访居民表示需要进一步了解垃圾分类相关知识[1]。由此可知,大部分的居民缺乏执行垃圾分类的知识。同时,垃圾分类回收的一些流程还处于人工管控[2],仍不够完善,导致居民区无法有效处理生活垃圾,未处理的垃圾堆积变质,之后直接焚烧,导致了污染环境等一系列问题,极大地影响了城市的环境质量。垃圾不能正确分类,无法实现垃圾的回收价值利用,与我国的可持续发展观相悖。随着人工智能技术的不断发展,在垃圾识别分类领域出现了越来越多的研究,如基于机器学习的垃圾识别分类系统[3]、基于视觉识别的垃圾分类系统[4]。如果将人工智能与垃圾分类相结合,既能减轻负担,又能加快效率,因此本文设计了一个基于树莓派的智能垃圾分类亭。

1 系统需求与可行性分析

1.1 系统功能

本文设计的系统可以通过对垃圾图像的处理进行智能识别分类,主要流程为:用户点击垃圾亭的拍照按钮进行拍照,系统对该照片进行识别,分类完成后自动打开相应的垃圾桶盖。

1.2 用户需求分析

通过调查发现,近八成受访群众愿意进行垃圾分类,但会担心进行垃圾分类时投放不够准确。为满足智能分类和投放垃圾的需求,需要设计出智能垃圾分类亭。本文的设计解决了用户因为缺乏垃圾分类知识而无法准确投放垃圾的困扰,使用者可以将垃圾放置在分类亭的台面上,点击拍照,系统就会通过拍照返回的结果,打开相应的垃圾桶盖[5],便于用户将垃圾精准投放至对应的垃圾桶内。

1.3 市场需求分析

智能垃圾分类亭能让垃圾分类变得简单高效,对于后续的垃圾回收利用更加方便。据统计,目前我国300多个城市中几乎没有城市使用此类分类亭。此设计相较传统垃圾桶更加方便、智能、精准,用户体验感得以提升,具有良好的前景,其市场潜力非常大。

1.4 技术需求分析

智能垃圾分类亭的设计分为前后端两部分,前端部分使用PyQt5进行可视化界面的开发设计,后端即神经网络端使用Python语言开发。通过python_flask传输转发前后端数据,采用数据库保存用户使用记录。

2 系统设计

本章主要对系统的整体架构、主控电路、舵机控制模块、舵机驱动模块、摄像头垃圾图像提取和识别模块进行详细描述。对数据库服务和软件系统的部分也都作了详细的介绍。

2.1 系统整体架构

垃圾分类亭的设计分为硬件设计部分和软件设计部分,系统硬件使用了USB摄像头、SG90舵机、舵机驱动板、树莓派4B等主要硬件,软件设计包括图片分类识别算法的设计以及数据库的设计。系统整体架构如图1所示,系统工作流程如图2所示。

图1 系统整体架构

图2 系统工作流程

2.2 系统主控电路设计

为了稳定且高效地实现垃圾分类识别,经查阅资料,比较ESP32、STM32、树莓派等几款主流的主控芯片,发现树莓派开发便捷、接口丰富、处理速度快,可以满足垃圾分类算法运行和硬件控制的需求,因此采用树莓派作为主控处理器,系统主控电路如图3所示。

图3 系统主控电路

2.3 系统硬件设计

2.3.1 图像采集识别模块

图像采集主要使用摄像头,在本设计中使用的是一款USB免驱摄像头(SD-SXT01),像素大约为500万,分辨率为1 920×1 080,可以支持日常垃圾的识别,其通过摄像头来捕捉视频流,实现垃圾信息的实时传递。图像采集流程如图4所示。

图4 图像采集流程

2.3.2 舵机驱动板

为了避免占用太多的引脚,进而影响到树莓派的处理效率,使用了一款PCA9685的16路PWM舵机驱动版[6],是一款I2C接口的驱动板;另外,它可以外接电源供电,本设计外接了一块7 V的电池进行供电。

2.3.3 SG90舵机

舵机控制又称为伺服[7]控制,给其一定的PWM信号,舵机按照要求转至相应角度,将垃圾自动分类到对应垃圾桶。经过对几款主流舵机的比较,选择性价比最高的SG90舵机作为项目的控制舵机。舵机整体运行流程如图5所示。

图5 舵机整体运行流程

2.4 系统软件设计

2.4.1 图像分类算法的设计

深度残差网络在2015年被提出,一举夺得了2015年世界最具影响力的计算机视觉大赛里的图像分类领域的冠军,并且首次出现错误率比人类的极限还低的情况。因此,本项目使用在图像分类领域表现较好的ResNet50网络[9]作为项目的基础网络模型,使用Tensor flow框架搭建项目网络,使用3×3的卷积核对图片进行卷积操作,最后提取图片的特征。

采用华为云垃圾分类大赛提供的数据集进行模型的训练,里面大约有2万多张图片,基本包含了日常生活中的垃圾,具有一定的广泛性,使用Tensor flow开源框架进行训练,通过卷积层、池化层的不断叠加后,最后由全连接层进行降维提取特征值。使用ReLU激活函数能够有效避免过拟合现象发生,通过多Echo的训练得到垃圾分类的权重模型文件。

当系统进行识别时,树莓派端使用OpenCV获得实时视频流,用OpenCV[8]读取一张照片,并对其进行转码操作;使用python_ flask进行格式转换,传给电脑端,电脑端加载分类数据,并对传来的图片进行识别,最后将识别结果返回给树莓派端。

网络的深度对模型的性能至关重要,ResNet50网络可以有效地解决深层次网络退化问题,与AlexNet网络和VGG16网络相比,优缺点见表1所列[8]。

表1 ResNet50与AlexNet和VGG16网络的优缺点对比

2.4.2 数据库的设计

项目使用数据库[10]对识别的垃圾种类的数据进行存储。利用SQL_Server2016创建数据库,使用Python连接数据库。垃圾分类亭系统将垃圾分类识别的结果数据上传至数据库,数据库对上传的数据进行整理和保存。E-R关系如图6所示。

图6 E-R关系

3 系统调试

3.1 测试目的

系统测试的目的就是检测基于树莓派的智能垃圾分类系统是否符合预期目标。首先,需要检验系统的功能是否完整、性能是否稳定;其次,需要测试系统采集并传到后台的数据是否准确;最后,需要测试系统是否能实现预期的功能。通过测试之后,如果系统达到预期目标则通过测试,否则需要对出现的问题进行分析与调整,直至达到预期的目标。

3.2 功能测试

3.2.1 预期测试要求

(1)要求5 s内完成对垃圾的捕获和识别,使用户获得比较好的使用体验。

(2)要求可以在1 min内连续地对10名用户所投放的垃圾完成检测。

(3)要求可以识别85%以上的垃圾种类。

3.2.2 测试数据

(1)摄像头捕获和识别的时间测试

由表2的测试结果可以发现,摄像头基本可以完成5 s内捕获并识别的任务,其中存在识别时间略长现象的原因是离摄像头过近,对焦耗时较长,调整距离后再次实验,耗时在5 s之内。

表2 图像识别时间测试结果

(2)垃圾的连续识别投放测试

表3的测试结果中,从20:10:30到20:11:21一共进行了10次连续检测,每次检测不同的垃圾,表明垃圾分类亭可以进行高效率的负荷分类。

表3 垃圾投放测试结果

(3)识别率测试

在表4的测试结果中,第10次垃圾识别出现了问题,原因是旧衣物表面线头较多,被识别系统误判成了毛绒玩具,剪掉部分线头之后再次测试,成功完成识别。

表4 图像识别率测试结果

4 结 语

本文研究的是基于树莓派的智能垃圾分类亭。对收集到的图片和数据,使用深度学习算法进行多次训练,实现了对多类型垃圾的识别;使用的深度学习卷积神经网络模型,使系统具有高精度分辨率,能够提高识别率。在系统设计的过程中,主要实现了以下功能:

(1)能够正确识别用户拍照上传的图片,同时反馈给用户该拍照图片为哪种垃圾。

(2)在平台上直接上传需要分类的垃圾的图片,平台能够快速识别出该垃圾的类型,分类亭可以自动将垃圾投放至对应的垃圾桶,同时对应的垃圾桶等待10 s后自动关闭。

(3)分类亭可以将识别到的垃圾上传至数据库进行数据的保存操作。目前,分类亭的设计已经完成,功能已经实现,不足的是无法对多目标同时进行分类识别,后续会对其进行升级,提升用户的体验感。

猜你喜欢
树莓舵机摄像头
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
含齿隙弹载舵机的全局反步模糊自适应控制
基于树莓派的骑行智能头盔设计
基于太赫兹技术的新一代摄像头及其在安防领域的应用探讨
基于dsPIC单片机的飞艇舵机控制实现
基于树莓派的远程家居控制系统的设计
基于高速同步485总线通信的多通道舵机控制器设计
响应面法优化红树莓酒发酵工艺
基于云模型的舵机同步控制