基于机器学习的智能垃圾分类系统设计

2022-08-16 13:16贾冕茜
关键词:端口摄像头语音

潘 丽,贾冕茜

(芜湖职业技术学院电气与自动化学院,安徽 芜湖 241000)

0 引言

我国每年约新增10亿t生活垃圾[1]。如果这些垃圾得不到妥善处理,危害人体健康的同时还会导致资源浪费和生态环境的破坏。2017年发布的《生活垃圾分类制度实施方案》指出:实施生活垃圾分类,可以有效改善城乡环境,促进资源回收利用,加快“两型社会”建设。然而,传统的人工垃圾分类方式工作量大,流程繁琐,效果欠佳。近年来,人工智能技术的发展为垃圾分类智能化提供了技术路径,卢雯兰等[2]设计了基于深度学习和物联网的智能垃圾桶,Olugboja等[3]基于卷积神经网络和支持向量机搭建了垃圾分类识别的模型,莫卓亚等[4]对深度学习进行了数据集和训练过程的优化,搭建了垃圾分类识别模型,杨会玲等[5]基于深度学习的SSD模型设计了垃圾分类系统。但是上述系统或必须在联网的模式下,或只搭建了理论模型没有完成实际系统,或在系统可靠性上面有待提升。

本文参照具体的垃圾分类标准,基于机器学习设计了一种智能垃圾分类系统。该系统帮助垃圾分类知识匮乏的人群解决垃圾分类问题,同时降低垃圾处理厂后期处理垃圾的难度。

1 机器学习及其技术基础

本系统对不同的垃圾进行物体识别,提取其特征量,从而可以根据该垃圾的特征量判断其类型。在物体识别的过程中就需要使用到特征提取的算法,使得机器可以根据提取到的物体特征来识别不同的物体,本文使用的特征提取算法为BRISK算法。

AGAST角点检测算法是对著名的FAST角点检测算法的改进。其指出图像的显著特性在平面上是连续的,在尺度空间也是连续的。因此通过构建尺度空间金字塔,采用AGAST算法检测角点,对连续尺度空间里的测度响应函数值进行二次线性拟合,并在尺度空间进行非极大值抑制,剔除非稳定极值点。通过位置内插法对各层中的稳定极值做一维抛物线拟合,最终得到在连续尺度空间里具有亚像素级定位精度的稳定极值点[6-7]。

BRISK算法在特征点检测部分选用了稳定性更强的AGAST算法,在特征描述部分采用自定义的邻域采样模式,即以特征点为中心的40*40像素块内构建多个同心圆,采样点等间距分布在圆周上,共60个采样点[8]。

设采样点对集Ω,采用欧氏距离定义短距采样点对集S和长距采样点对集P:

(1)

通常取阈值δmax=9.75t(t是连续尺度空间角点检测过程中提取的尺度特征量),δmin=13.67t。令L表示长距采样点对集P的元素个数,g(pi,pj)表示点对(pi,pj)的梯度,角点的特征方向定义为:

(2)

式中:gx表示图像在X方向梯度;gy表示图像在Y方向梯度。

(3)

对上述2值特征描述采用汉明距离实现特征匹配,最终得到图像的全局运动估计。与BRIEF[9]、ORB[10]等相比,BRISK算法采用构造连续尺度空间和预旋转操作,保证了BRISK描述子的尺度不变性和旋转不变性,非常适合本系统中高精度的图像配准过程。

2 系统结构和电路设计

2.1 总体方案论述

本系统以STM32F103ZET6单片机作为主控模块,用OpenMv4 H7摄像头采集垃圾图片,采用特征提取算法对采集的垃圾图片进行特征点采集处理,经过与训练集对比,实现对垃圾的检测,在显示模块用文字显示垃圾种类,同时用语言播放垃圾的种类。系统框图如图1所示。

图1 智能分类垃圾系统结构

2.2 单片机选型

本设计控制模块选择的是STM32F103ZET6单片机,它的工作频率为72 MHz,使用到单片机的串口、定时器、IIC和ADC等资源。该系列处理器的运算速度较快,硬件配置较高,并且附带外部接口总线,可以用来外扩 SRAM 和连接 LCD 等,通过连接FSMC来驱动LCD,可以显著地提高LCD的刷屏速度。

2.3 显示模块

系统采用3.5寸的TFTLCD作为显示模块,其分辨率为320*480,接口电路如图2所示。

图2 TFTLCD接口电路

图2中的MISO、MOSI、T_PEN、T_CLK、T_CS端口对应连接MCU的PB2、PF9、PF10、PB1、PF11引脚,通过单片机发送数据或者控制信息实现对液晶屏的显示和控制。BL并行串口直接连接在MCU的PB0口上,用来控制LCD液晶显示屏的背光亮度。LCD液晶显示屏与单片机共用一个复位信号电路。LCD总线接口通过STM32F103ZET6的FSMC总线连接,可以有效改善LCD的图像刷新率和图像清晰度。

2.4 语音模块

系统采用JQ8400 语音模块,实物如图3所示。该语音模块与STM32单片机可以进行IO通信以实现垃圾分类过程中的语言播报的功能,在该语音模块中分别保存了“可回收垃圾” “有害垃圾” “厨余垃圾” “其他垃圾”4种MP3文件。JQ8400 语音模块选用的是SOC方案,集成了1个16位的MCU,以及1个专门针对音频解码的ADSP,采用硬解码的方式,保证了系统的稳定性和音质。

图3 JQ8400 语音模块

系统所使用到的JQ8400语音模块一共有10个基本管脚提供自由配置,在本设计中因为只需播放储存在JQ8400语音模块中的MP3文件,所以只需要用到ONE LINE串口来直接控制。如图4所示。

图4 JQ8400 语音模块端口

2.5 图像采集模块

系统使用的摄像头模块为OpenMv4 H7,实物如图5所示,其搭载了STM32H743II ARM Cortex- M7的处理器,该处理器运行时频率可以达到480 MHz,拥有1 MB的RAM和2 MB的Flash内存。所有的I/O引脚都是向外输出3.3 V。在机器视觉方面,这一款摄像头拥有较高的图片处理能力,使用Python脚本实现颜色识别、形状识别、特征点追踪、目标追踪等机器视觉应用。

图5 OpenMv4 H7摄像头

3 系统设计

3.1 训练集

在本系统中,需要使用到大量的图片来进行图像物体的训练以得到训练集。即对垃圾拍摄多张照片后再使用特征提取算法对其提取特征后进行训练的一个过程,类似于人类对垃圾种类进行判断的过程,将物体与参照物进行对比来分析其可信度。在本设计中使用了4种样本,分别为干电池、塑料瓶、生姜、废弃棉签,每种样本分别取了100张照片进行训练,部分样本图片以及训练过程如图6所示。

a.样本图片

b.训练过程图6 样本图片及训练过程

3.2 硬件连接

系统使用的摄像头是独立的OpenMV摄像头,单片机上没有匹配的接口进行通信,在本系统中所使用到的方法是端口电位检测法。系统使用3个端口作为检测端口,给这3个端口配置4种不同的电位组合来实现对不同垃圾的区分。摄像头部分使用到的端口分别为P0端口、P1端口和P2端口,在OpenMv专门的编程软件中配置为检测到可回收垃圾时端口电位信号输出P0=1、P1=0、P2=0,检测到有害垃圾时端口电位信号输出为P0=0、P1=1、P2=0,检测到厨余垃圾时端口电位信号输出为P0=0、P1=0、P2=1,检测到其他垃圾时端口电位输出为P0=1、P1=1、P2=0。在单片机上用来检测端口电位使用到的是PG9端口、PG10端口和PG11端口,在连接硬件的时需将这6个端口对应连接,同时OpenMV摄像头与单片机需要共地共电源。在语音播放模块中,ONE LINE端口接收来自单片机PB11口的信号,所以应该将线对应连接。电路图如图7所示,系统实物图如图8所示。

图7 摄像头与语音播放模块连接电路

图8 系统实物

3.3 功能实现

系统具体功能实现的硬件操作方法及结果如下:将摄像头固定在设定好的位置,将整个设备通电,程序初始化完成,摄像头开始进入识别状态,识别状态如图9所示。

图9 垃圾检测界面

在通过程序识别出垃圾后,会将其框选出来以作提示,识别出对应的垃圾后摄像头处理模块在P0、P1、P2端口表现出对应的电位组合,在单片机按下启动按键后,就会通过PG9、PG10、PG11端口来检测摄像头的端口电位,通过设定的程序对应组合,显示屏显示对应垃圾种类,并且唤醒语音模块,语音模块播放对应的MP3文件提醒用户垃圾的种类。

4 结果和分析

4.1 功能测试

在给系统上电执行程序后,采用4个样本来进行检测,检测结果如图10~13所示。

图10 有害垃圾识别

4.2 识别结果准确性测试

针对4种样本,分别进行了100次检测,检测结果如表1所示,根据测量结果,对垃圾分类的识别成功率达到98%。

图12 厨余垃圾识别

图13 其他垃圾识别

表1 垃圾分类准确性测试 /次

5 结论

本文基于现有的垃圾分类标准和目前城市居民的垃圾分类情况,利用机器学习和特征提取的算法,实现了居民在家庭源头进行智能垃圾分类。系统操作简单,对年龄较大的人群同样适用。经过测试,系统对目前家用垃圾分类的正确率达到了98%,系统运行稳定,性能可靠,较好地完成了垃圾分类的功能,为垃圾分类提供了新思路。与此同时,系统在外观方面还需要进一步改进,用于分类的垃圾样本数较少,在扩大样本集后,有待于后续研究。

猜你喜欢
端口摄像头语音
浙江首试公路非现场执法新型摄像头
摄像头连接器可提供360°视角图像
一种端口故障的解决方案
硬件解耦三端口变换器的软开关分析与仿真
多按键情况下,单片机端口不足的解决方法
魔力语音
基于MATLAB的语音信号处理
基于MQ3与MP3的价廉物美的酒驾语音提醒器
对方正在输入……
奔驰360°摄像头系统介绍