基于语音识别的智能分类垃圾桶
2022-02-19徐云平
徐云平
(福建无线电设备有限公司,福建三明,365001)
0 引言
随着人们生活水平的提高,垃圾处理问题日益凸显,已经成为国家甚至全球不可回避的问题。现在越来越多国家开始实施垃圾分类的政策,由于居民分类的意识和能力的欠缺,而是当下垃圾的类型繁杂而多,有些垃圾分类边界模糊,容易引起错误投放,增加了对垃圾进行分类的难度,推广垃圾分类阻力大、难度高、准确性偏低[1]。因此,应提高垃圾分类的自动化水平,以解决人为垃圾类不准确、耗时较长等问题[2]。实现垃圾识别与智能分类就显得非常必要,其中基于图像识别与深度学习的垃圾分类研究比较多。
李美锟[3]等提出基于GPU深度学习的智能垃圾桶设计,该垃圾通具有分类准确度高、使用简单便捷等优点。王伟杰[4]等采用机器人视觉系统,采集图片信息,利用Yolov4目标检测算法,将垃圾进行智能分类,并将其放入自带的相应垃圾桶中。杨皓文[5]等基于树莓派利用CNN神经网络算法训练的模型数据对读取的图像进行分类检测,通过控制电机将垃圾送入其所属分类的收纳桶中。基于机器视觉与机器视觉算的的智能分类垃圾桶容易受环境影响识别准确率不够高等缺点,本文提出了一款基于语音识别的智能分类垃圾桶的设计,该垃圾桶通过语音识别与控制相应的垃圾桶仓门的开闭达到垃圾的自动识别、智能分类的效果。
1 智能分类垃圾桶总框架
本系统在设计时考虑到系统功能的实用性及成本的可行性,采用了模块化设计思想,将系统分为硬件系统设计和软件系统设计,最终实现垃圾桶的智能分类要求。该硬件系统主要包括语音识别模块、语音播放模块、垃圾分类处理模块、控制模块、红外测距模块和电源管理模块等,其系统总框图如图1所示。在整个智能分类垃圾桶系统中,单片机是整个系统的核心控制器,整个分类系统都是在它的控制下完成工作的,并且单片机为系统提供外部接口,如LED灯、按键、数据采集电路等。首先在语音识别模块没有接收到唤醒指令的时候,整个系统处于待机状态,当其接收到“垃圾桶”的唤醒指令后通过语音播报作出反馈和说出对应垃圾后语音识别检测语音输入时和完成垃圾桶动作行为的播报,经过STM32芯片中心控制模块的分析处理后启动外围运动控制电路模块,舵机收到发聩做出相应开盖、关盖等相关动作,垃圾丢进垃圾桶时,选择投入桶盖打开垃圾的种类。
图1 智能分类垃圾桶的系统框图
2 硬件系统设计
2.1 主控器
本设计控制模块采用STM32F103C8T6单片机,该单片机提供外接的I/O口和完成对来自其他模块的信号处理和输出控制,完成垃圾分类全过程的监测和控制,其最小系统如图2所示,包含电源电路、复位电路和时钟电路与简单的外围电路。电源电路通过EM6211-33电压转换芯片将外部电源提供的5V电源转换为3.3V电源为单片机供电。
图2 STM32F103C8T6 最小系统
2.2 语音识别模块
智能分类垃圾桶语音识别模块采用LD3320语音识别芯片,其内部带有闪存,最多可支持五十个识别条目,可以简单、快速实现语音识别、声控、人机对话功能。该语音识别芯片具有强大的语音识别特征库,识别功能灵敏、短距离内识别误差小[6]。该芯片是非特定人语音识别,不需要用户事先训练和录音,且识别的关键词语列表是可以任意动态编辑的。语音识别模块LD3320与单片机之间通过并行方式进行连接,如图3所示,其中T_TX引脚与STM32F103C8T6的31号引脚相连、Y_RX引脚与单片机的30号引脚相连。
图3 语音识别模块的电路连接
2.3 容量检测模块
该垃圾桶主要通过检测垃圾桶内垃圾到桶盖的距离来进行容量检测,并判断是否达到垃圾需要清理的要求。采用红外测距模块进行容量检测,其电路如图4所示,红外模块的输出OUT脚接在单片机的26号引脚上。
图4 红外模块的电路设计
2.4 语音播报模块
语音播报模块选用JQ8400语音播报模块,该模块包含专用于音频解码的IC,可以有效保证音频的音质。语音播报模块采用5V供电,在使用时将喇叭两端分别接在SP+和SP-引脚,BUSY作为模块工作接口,接在控制器的通用I/O口PA1上,RX和TX为模块的接收和发送端口,分别连接在PA2和PA3口上。
图5 语音播报模块JQ8400的电路连接
2.5 运动控制电机
智能垃圾桶桶盖开闭控制采用模拟舵机SG90进行控制,SG90舵机通过橙色信号线进行PWM输入,其接线图如图6所示。
图6 SG90 舵机电路
3 软件设计
3.1 主程序设计
智能分类垃圾桶的主程序主要包括语音识别模块、桶盖控制模块、容量检测模块、按键模块和语音播报模块。
按键模块用于控制桶盖的开闭控制;语音识别模块主要用于垃圾分类识别并控制相应的垃圾桶开闭与语音播报;容量检测模块检测垃圾桶内的垃圾是否装满,如装满LED就闪烁进行提示相关人员。其主流程图如图7所示。
图7 主流程图
3.2 语音识别模块
语音识别模块主要包含对语音的采集和判断。要能够实现对控制语音命令进行识别和垃圾分类库的对比,实现对于垃圾桶的智能化语音识别控制,完成远距离非接触式信号的获取和传输。智能分类垃圾桶通过语音识别模块采集并识别用户发出的指令。设置了一级唤醒指令和二级控制指令,本系统的一级唤醒指令为“小慧”,二级指令为常见的垃圾名称。当垃圾桶接收到语音“小慧”时,进入待命状态,等待二级控制指令进行相应的动作,延时15S没有二级控制指令则返回到待机状态。
4 实验验证
为了验证智能分类垃圾桶的有效性,本文分别在2m、5m、10m和15m四个不同距离,由非特定的3人(编号A、B、C)在不同的环境下对一级唤醒指令和二级控制指令各进行10次测试。
系统上电后,3人发出“小慧”的唤醒指令,除了在15m嘈杂环境时出现2次异常,其余情况都能正常唤醒并使指示灯亮起,进入二级控制指令检测与识别状态;15s无二级控制语音指令,指示灯熄灭返回到待机状态。
对二级控制语音进行10个不同的垃圾名称语音进行50次反复试验,将正确结果取均值,其测试结果如表1所示。
表1 二级语音测试结果
通过上表可得:离垃圾桶越远,语音识别垃圾分类的准确率越低,语音识别芯片的允许范围大概为15m;不同的测试人员对识别率也有影响;嘈杂环境对语音识别也有一定的干扰。
5 结语
本文设计了一款基于语音识别的智能分类垃圾桶,该垃圾桶以STM32F103C8T6为主控器,通过语音识别模块对垃圾进行分类检测,将检测结果发送至单片机控制舵机打开对应的桶盖,并进行语音提醒与语音播报;每次垃圾投放后对相应垃圾桶进行满载检测,当达到一定容量时,进行语音播报与指示灯提示工作人员进行清理。通过不同的非特定测试人员、不同距离和不同环境对智能分类垃圾桶进行测试验证其智能垃圾分类的准确性和有效性。