基于视觉识别和人机交互的智能垃圾分类装置
2021-08-20吴国雄
吴国雄
(武汉工程大学,湖北 武汉 430000)
近年来,生活中的垃圾产生量呈现大幅增长的态势。根据中国城市环境卫生协会统计,我国每年产生近10亿吨垃圾,产生垃圾总量排行位于世界前列。此外,随着我国城镇化进程的加快以及人民生活水平的提高,城市生活垃圾保持着8%~10%的年增长率,全国2/3以上的城市深陷“垃圾围城”困境。垃圾分类回收被普遍认为是解决困境、提高资源化利用效率的关键环节[1],但由于日常生活中存在垃圾分类管理工作落后、信息化推广程度较低、普及性水平较差等问题[2-3],传统的垃圾桶并不能引导人们进行正确分类。针对上述问题,笔者设计出一种垃圾分类装置,可通过机器视觉对投入的垃圾进行自主分类,并将分类结果显示在屏幕上反馈给用户,将垃圾分类变得简单,从而推动政策的施行和垃圾分类知识的普及。
1 结构设计
根据拟设计的现实场景,笔者设计出一种新型垃圾分类机构,分类机构主要由垃圾暂存机构、斜坡机构、抽拉式底桶三个部分组成,其整体视图和分类流程如图1所示。
图1 整体视图与分类流程
1.1 垃圾暂存机构
垃圾暂存机构主要由LED环形光源、侧板、曲形斜槽、连杆机构、舵机搭建而成,用于垃圾投入后的暂时储存并提供视觉识别的空间。
侧板由四块白色磨砂亚克力板通过角铁连接,曲形斜槽由两块3D打印件组成,作为暂存机构的底板,并通过合页与侧板连接,形成半封闭式空间。磨砂亚克力板的半透光性配合LED环形光源能形成整体均匀的光线,为摄像头提供良好视觉识别环境,避免环境光线过暗或光影杂乱给分类带来负面影响,提高识别精度。两块打印件闭合状态呈120°夹角,闭合处形成曲形槽,当易拉罐、电池、塑料瓶等圆柱形垃圾投入暂存机构时,由于曲形斜槽的结构特殊性,这些垃圾均能在底板上以相同姿态呈现在摄像头下。因此,在制作这些垃圾的数据集时,可以减小非必要图片的数量,降低数据集的复杂性,提高分类模型精度的同时加快其训练速度。
在识别完成之后,两侧舵机操控连杆机构将两块曲形槽板打开,使得垃圾自由下落,进行下一个分类步骤。
1.2 斜坡机构
斜坡机构主要由斜坡、餐盘轴承、电机支承板、步进电机、法兰联轴器组成,通过步进电机带动斜坡转动控制垃圾下落后的滚动方向,以此完成分类。
斜坡由四块环氧板搭建而成,其中包含一块倾斜度为35°的斜板、两块护栏板和一块底板,斜板用于垃圾的顺利滚落,护栏板防止垃圾从侧面掉落,底板负责与步进电机和餐盘轴承连接。
原动机采用2.3 N·m的大扭矩步进电机,通过支承板固定于暂存机构的正下方,电机轴上套有法兰联轴器,用于和餐盘轴承内圈以及斜坡底板连接,餐盘轴承的外圈通过铜柱与电机支承板固连。在餐盘轴承的作用下,斜坡的竖直方向受力分散给了四个支撑铜柱,避免重物下落时导致斜坡倾斜。
1.3 抽拉式底桶
为了便于进行垃圾袋的更换,笔者采用抽拉式底桶的设计,通过导轨和牛眼轮将内筒从外壳两边抽出,简化换袋操作。抽拉式底桶的组成有垃圾桶、抽屉导轨、铝型材、侧板、牛眼轮。当垃圾溢满后,可以将垃圾桶抽出进行换袋。
2 功能实现
根据分类装置的功能需求,笔者将控制端分为上行视觉开发板和下行执行开发板两个主要部分,并选用Kendryte K210和STM32F103分别作为上行开发板和下行开发板的主控芯片。Kendryte K210实现基于卷积神经网络的图像分类任务,STM32F103负责进行分类动作的执行和满载报警。
2.1 视觉分类
上行开发板通过OV5640摄像头采集图片、K210芯片调用kmodel模型和Maixpy视觉代码来实现垃圾的视觉分类。K210芯片架构包含了一个自研的神经网络硬件加速器KPU,KPU算力能够达到0.8TFLOPS,可以高性能地进行卷积神经网络运算,实现基于卷积神经网络的图像分类任务[4]。kmodel属于yolov3目标检测算法生成的模型,yolov3以darknet-53为骨干网络,整个结构里面只有残差模块,没有池化层和全连接层,yolov3应用残留跳过连接来解决深度网络的梯度消失问题,并使用上采样和级联方法保留细粒度的特征以用于小物体检测,每个卷积层后面都接一个批次归一化层和一个Leaky Relu激活层,并引入Res Net残差模块以解决网络深度加深时所出现的训练退化问题[5]。对于kmodel模型的生成,本文采用Mx-yolov3本地训练平台对垃圾图片数据集进行训练,将训练生成的tflite模型通过nnc转换器转换为kmodel格式并导入SD卡,K210芯片调用SD卡中的模型,使用自带的神经网路加速器KPU对摄像头采集的垃圾图像进行卷积神经网络计算,完成图像分类并将分类结果传递给下行开发板。
2.2 视觉分类结果传递
下行开发板与上行开发板通过各自的ESP8266 WIFI模块建立通信传输视觉识别的分类结果。ESP8266芯片是一款串口转无线模芯片,内部自带固件,采用串口(LVTTL)与站点主控MCU进行通信,通过内置的TCP/IP协议栈实现串口与WIFI之间的转换,只需要简单的串口配置即可通过网络传输数据,无需编写时序信号[6]。上行开发板作为主站,WIFI模块设置为COM-WIFI AP模式,作为无线WIFI热点,建立局域网,允许从站WIFI设备连接,子模式设置为TCP服务器端,生成IP地址。下行开发板作为从站,WIFI模块设置为COM-WIFI STA模式,子模式设置为TCP客户端,通过输入主站的IP地址,加入主站局域网,实现主从站之间的无线数据透传。下行开发板根据建立的上行下行通讯协议,获取视觉识别的分类结果,根据分类结果执行分类动作。
2.3 分类动作执行
当下行开发板接收到分类信息之后,开始由STM32F103芯片控制执行分类动作。STM32芯片具有较强的运算能力,系统最大时钟频率可达到72 MHz[7],具有多路时钟通道可供使用。STM32F103芯片通过引脚输出PWM波和脉冲信号控制两路舵机和一路步进电机执行分类动作,舵机开合暂存机构的底板控制垃圾下落,步进电机带动斜坡机构转动,使下落的垃圾滚进对应桶中完成分类。
2.4 垃圾桶验满
笔者选用VL53L1激光测距仪测距验满。VL53L1具有4 cm到400 cm的测量距离,并且具有可通过一个串口访问多个传感器的特点,达到占用最小板载资源,实现多个传感器数据的同时读取。通过传感器数据值循环检测,当任一读取数据值超过设定值,触发显示屏溢满报警。待更换垃圾袋后,测距仪所测距离小于设定值,清除显示屏溢满报警。
2.5 人机交互屏幕
人机交互屏幕采用大彩公司的工业级串口显示终端,该终端采用32位400MSOC处理器,内部集成了SDR显存、JPEG图片解码等功能。分类装置利用该终端配套的上位机VisualTFT建立工程进行界面排版和控件配置,上位机对工程的每一个页面、图片、控件分配唯一的ID号,下行板将垃圾分类信息和溢满情况以规定数据帧的形式通过串口发送给屏幕,屏幕对每一帧数据进行解析并在相应控件上执行操作,将垃圾分类信息和溢满状况实时反馈给用户,实现人机交互。
3 总结
笔者提出一种基于视觉识别和人机交互的智能垃圾分类装置,将智能化设备带入到新政策的施行中,加快垃圾分类知识的普及,提高民众进行垃圾分类的效率,降低清洁人员的工作量和工作难度,真正地将创新与科技融入到垃圾回收处理中,对提高资源利用效率、改善环境问题和解决能源危机有一定的科学指导意义。