刘禹辰,朱娟

(湖北文理学院,湖北襄阳,441053)

0 引言

人口的快速增长、经济的高速发展及城市化水平的持续提高,使得我国每年产生的城市垃圾不断增多,既造成了资源浪费,又产生了环境污染。因此,垃圾分类不断地得到国家和各界人士地关注,国家至地方政府已将城市生活垃圾分类处理作为可持续发展战略中的重要部分并出台了相关的政策,要求加快建立分类投放、分类收集、分类运输、分类畜栏里的垃圾处理系统,将生活垃圾分类作为推进绿色发展的重要举措[1]。然而,现阶段我国城市街道上的分类垃圾桶大部分只是贴有标签的普通垃圾桶,需要人为去识别垃圾种类,这种分类桶缺乏自控能力;垃圾回收后依然需要安排人力对其再次分类,消耗了大量的人力物力,因此,我们在提高公民意识的同时开发一种高效且智能的垃圾检测分类方法显得尤为重要。

1 智能生活垃圾分类系统总体方案

如图1 所示,智能生活垃圾检测分类系统由图像采集模块、图像处理模块、电源模块、微处理器、分类模块及舵机组成。

图1 智能生活垃圾分类系统总体框图

图像采集模块安装在垃圾入口处,红外模块检测到投递动作时启动图像采集设备,垃圾图像经滤波、增强、分割、特征值提取等处理步骤后,采用基于深度学习的技术进行目标检测与分类,确定垃圾种类后驱动舵机转动投递至相应垃圾桶内,完成识别分类操作。系统中电源模块为摄像头、微处理器核心板及舵机供电,微处理器用于数据处理,并发送命令控制整个系统运行,分类模块利用神经网络训练的分类器,用于生活垃圾的识别与分类,舵机安装在垃圾桶中驱动置物板转动,置物板上有阀门,置物板下方对应多个垃圾桶,确定垃圾种类后可调整舵机转动的角度,打开阀门,实现分类投放。

2 系统硬件构成

本系统核心处理器采用STM32F103RCT6,其最小系统包括复位电路、振荡电路、BOOT 电路及电源电路。工作电压为2~3.6V,工作温度为-40°C~+85°C,一系列的省电模式保证低功耗应用的要求[2]。CPU 最高速度达72 MHz,多达80 个快速I/O 口,丰富的外设配置,支持其适用于多种应用场合,如电机驱动和应用控制、智能家居、安防监控及其它工业应用。STM32F103RCT6 单片机核心板接口电路图如图2 所示。

图2 STM32 核心板接口原理图

系统图像采集模块使用OV7670 图像传感器,该传感器具有体积小、工作电压低,提供单片VGA 摄像和影像处理器的所有功能。通过SCCB 总线控制,可以输出整帧、子采样、取窗口等方式的各种分辨率8 位影响数据[3]。该产品VGA 图像最高达到30 帧/秒。用户可以完全控制图像质量、数据格式和传输方式。所有图像处理功能过程包括伽玛曲线、白平衡、饱和度、色度等都可以通过SCCB 接口编程。OmmiVision 图像传感器应用独有的传感器技术,通过减少或消除光学或电子缺陷如固定图案噪声、托尾、浮散等,提高图像质量,得到清晰的稳定的彩色图像,摄像头与STM32 核心板连接电路如图3 所示。

图3 摄像头与STM32 连接电路图

系统垃圾分类的执行是靠驱动舵机实现,舵机是一种位置(角度)伺服的驱动机,其控制一般需要一个20ms 左右的时基脉冲,该脉冲的高电平部分一般为0.5ms~2.5ms范围内的角度控制脉冲部分,对应关系为:0.5ms--0 度,1ms--45 度,1.5ms--90 度,2.0ms--135 度,2.5ms--180度。舵机上有3 根线,分别为VCC、GND、信号线,不需要另外接驱动模块,直接用STM32的I/O 口控制,控制信号一般要求为20ms 的PWM 信号。本系统选用的舵机为MG995,舵机与STM32 连接电路如图4 所示。

图4 舵机与STM32连接电路图

3 系统软件实现

系统软件实现分为三部分,第一部分为摄像头采集垃圾图像,第二部分为STM32 核心处理器对图像进行预处理,启动基于深度学习的算法进行垃圾种类识别,第三部分为STM32 根据识别结果调整PWM 占空比,从而控制舵机的转动角度,实现垃圾投递分类。

■3.1 图像采集

系统图像采集在红外模块检测到投递状态后由休眠模式转入正常工作模式,生活垃圾从入口处投递后,进入上层置物台,置物台顶部装有图像采集模块,置物台底部接有舵机,可驱动置物台转动,每转动45 度采集一次图像,共采集5 次,将5 次图像数据进行加权平均法融合拼接,得到完整、不重影的垃圾图像,为下一步图像识别与分类,提供准确图像数据,图像采集流程图如图5 所示。

图5 图像采集流程图

■3.2 图像处理

图像分析中,图像质量的好坏直接影响识别算法的设计与效果的精度,因此在图像分析(特征提取、分割、匹配和识别等)前,需要进行预处理。图像预处理的主要目的是消除图像中无关的信息,恢复有用的真实信息,增强有关信息的可检测性、最大限度地简化数据,从而改进特征提取、图像分割、匹配和识别的可靠性。一般的预处理流程为:灰度化->几何变换->图像增强[4]。

(1)灰度化

在RGB 模型中,如果R=G=B 时,则彩色表示一种灰度颜色,其中R=G=B 的值叫灰度值,因此,灰度图像每个像素只需一个字节存放灰度值(又称强度值、亮度值),灰度范围为0-255。系统采用加权平均法对彩色图像进行灰度化。根据重要性及其它指标,将三个分量以不同的权值进行加权平均。由于人眼对绿色的敏感最高,对蓝色敏感最低,因此,按下式对RGB 三分量进行加权平均能得到较合理的灰度图像。

(2)几何变换

图像几何变换又称为图像空间变换,通过平移、转置、镜像、旋转、缩放等几何变换对采集的图像进行处理,用于改正图像采集系统的系统误差和仪器位置(成像角度、透视关系乃至镜头自身原因)的随机误差。此外,还需要使用灰度插值算法,因为按照这种变换关系进行计算,输出图像的像素可能被映射到输入图像的非整数坐标上。系统采用最近邻插值算法实现校正。

(3)图像增强

增强图像的目的是要改善图像的视觉效果,针对给定图像的应用场合,有目的地强调图像的整体或局部特性,将原来不清晰的图像变得清晰或强调某些感兴趣的特征,扩大图像中不同物体特征之间的差别,抑制不感兴趣的特征,使之改善图像质量、丰富信息量,加强图像判读和识别效果,满足某些特殊分析的需要。系统采用中值滤波算法减弱噪声。

得到清晰垃圾图像后,系统采用深度卷积的方法,针对所采集的生活垃圾图像样本集,建立相应的自动识别与分类模型。首先利用神经网络模型中的卷积层和池化层计算垃圾图像的特征,同时将图像特征值保存至缓存文件中,这些特征值作为输入进入样本库进行比对,得到识别结果。系统数据集采用华为2019 年在垃圾图像分类挑战杯大赛上公开的垃圾分类数据集,包括14000 余张垃圾图像和对应的分类标签。图像处理流程图如图6 所示。

图6 图像处理流程图

■3.3 舵机分类

系统设计中分类垃圾桶位于置物板下方,置物板上有可开合的挡板,识别指令下达后,调整舵机的转动角度,打开挡板,实施分类投放。系统采用基于PWM 信号控制的数字舵机,上电后经定时器初始化、I/O 口初始化、AD 采样初始化等,STM32 输出脉宽1.5ms,周期20ms 的方波,首先控制舵机转动到零度位置并保持,然后根据角度改变相应定时器通道的占空比,产生舵机控制信号,驱动舵机转动到相应的角度。舵机转动完毕后,通过AD 采集的舵机角度的反馈值,判断舵机是否转动到位,若实际角度和预测角度误差较大,则采用校正算法进行角度补偿。分类算法如图7 所示。

图7 舵机分类流程图

4 测试

系统分别对垃圾种类识别和舵机转动角度进行测试。对模型的生活垃圾种类进行测试时,导入样本集后,选用5种实际垃圾图像生成的模型文件调用神经网络卷积算法进行比对测试,具体测试结果如图8 所示。

图8 垃圾图片识别测试结果

系统分类功能主要对可回收垃圾和不可回收垃圾做了测试,初始化舵机置0 度,识别为可回收垃圾时,舵机转动45 度,打开置物板挡板;识别为不可回收垃圾时,舵机转动135 度,打开置物板挡板,测试结果如表1 所示。

表1 垃圾分类测试表

通过以上测试结果可知,该系统基于深度学习的神经网络卷积算法具有较好的图像识别能力,对常见生活垃圾的识别率达到85%左右。舵机也能根据识别结果调制控制信号,驱动其转动角度,正确率较高。可见,系统在实际常见生活垃圾分类中有一定的应用价值。

5 总结

垃圾分类的目的是提高垃圾的资源价值和经济价值,力争物尽其用,减少垃圾处理量和处理设备的使用,降低处理成本,减少土地资源的消耗,具有社会、经济、生态等几方面的效益[5]。本文针对现有生活垃圾分类装置人工化高、分类效果差的问题,提出了基于深度学习的智能垃圾检测分类系统,可有效识别常见生活垃圾可回收和不可回收的种类,实现正确分类与投递,助力资源节约型、环境友好型社会的建设,有利于我国新型城镇化质量和生态文明建设水平的进一步提高。