APP下载

基于图像识别的分类垃圾桶设计与仿真

2022-07-04张爽路坦杨光孙凤

计算技术与自动化 2022年2期
关键词:舵机垃圾分类图像识别

张爽 路坦 杨光 孙凤

关键词:垃圾分类;Arduino控制板;Raspberry Pi控制板;舵机;图像识别

为了落实党对生态文明建设的要求,许多城市日益重视对垃圾进行分类的工作,我国已经逐渐进入垃圾分类时代。国内外的科研技术人员对垃圾分类进行了较多的研究,北京工商大学王科举等人搭建了基于树莓控制器与视觉感应器的智能垃圾桶系统,该系统对垃圾进行图像扫描并通过扫描结果得出垃圾的类别,以此完成智能垃圾桶的废弃物图像识别分析工作。上海交通大学梁克靖等人设计出了一种基于可编程逻辑控制器并具有识别功能的智能化垃圾分类系统。中北大学和山西省深孔加工工程技术研究中心张方超等人探索出了一种基于图像视觉识别控制系统,投入的垃圾进行识别后通过机械手臂对垃圾进行分拣。从上述研究现状可知,随着城市化的发展,科学技术的不断革新,生活垃圾不再是毫无用处的废弃物,将丢弃物按种类处理并根据其属性加以利用,这样既提高资源的重复利用率,又可改善生活环境。分类垃圾桶是实现垃圾减量化和资源化的重要手段,也是建设美丽中国的重要途径。针对人们不能正确进行垃圾分类,人工分类耗时耗力以及垃圾桶造价昂贵等问题,本文设计了基于图像识别的分类垃圾桶,该垃圾桶利用Arduino控制板来控制舵机实现垃圾的分类,使得垃圾桶内部的主控线路设计更为简单,另外在垃圾识别方面利用Inception V3神经卷积网络进行垃圾图像识别,使系统可以进行精准的垃圾分类,使人们在处理垃圾时不用考虑垃圾种类。

1分类垃圾桶结构设计

1.1垃圾桶机械结构

该垃圾桶设计尺寸为445×1100 mm,其机械结构分为上、中、下3层。上层主要包括上舵机和转轴挡板;中层为垃圾子桶,用于盛放有害、厨余、其他和不可回收四类垃圾;最下层包括垃圾桶箱底、下舵机以及扇形转板。分类垃圾桶结构如图1所示,垃圾桶通过Arduino板控制上下两个舵机旋转,上下舵机通过齿轮传动可以使转轴挡板和扇形转板做相对转动或相对静止运动,从而使投放至垃圾桶内的垃圾清理至对应的垃圾子桶内。由于一般舵机的转动角度为0~180°,在垃圾桶内增加一级齿轮传动,传动比n=1:2;模数m=1;齿数分别为z1=100、Z2=50。即可实现转轴挡板和扇形转板0~360°旋转,转轴挡板装有摄像头,用于获取垃圾图像。

1.2垃圾桶硬件

垃圾桶硬件主要包括Raspberry Pi控制板、Arduino控制板、摄像头和舵机。垃圾桶在运行过程中,硬件的选取,是系统的稳定运行达到预期效果的关键。对于垃圾桶的硬件选取如下:

Arduino控制板:该控制板主要用来控制其他外设的工作,本文选择Arduino UNO R3控制板。该控制板包含Atmega 328单片机,处理速度可达20MIPS,并同时具有6路模拟输入,且该芯片具有Bootloader,能够通过USB直接下载程序。

Raspberry Pi控制板:该控制板应选用性价比较高的嵌入式控制,既能程序,又能满足价格低廉的要求。本文选用Raspberry Pi 3b+控制板。该控制板是基于ARM的微型电脑主板,以SD卡为内存硬盘,板载1GB内存,支持CAN总线、串口、SPI、IIC、IIS、GPIOs、蓝牙等接口。

摄像头:本文选用带广角镜头的USB摄像头,免驱动安装,可支持多种操作系统,采用150°广角镜头,并且无畸变带有逆光补偿。

舵机:舵机是适用于需求角度不断变化环境的一种伺服电机。对于舵机的选型需要进行计算垃圾桶所需的最大扭矩,本文以垃圾质量:6 kg进行计算,6kg垃圾放置在扇形转板,转轴挡板将垃圾清理至垃圾桶的驱动力F为:

垃圾投放在扇形转板上的位置(与中心轴距离)为:

故本文选择的舵机型号为DS5160,该提供PWM接口,供电电压范围为DC 5V~8.4V,定位精度为±0.2°,且该型号舵机对Arduino传递的信号具有很强的解析度。

2分类垃圾桶控制系统

2.1控制系统原理

Raspberry Pi控制板主要负责处理USB摄像头图像数据,利用Inception V3垃圾图像识别算法,判断出垃圾物属于哪种类型垃圾,并将所得结果发送给Arduino控制板,Arduino控制板根据Raspberry Pi控制板处理后的垃圾物类别信息后,控制舵机执行相应动作,实现垃圾的分类。

2.2图像识别模型建立

如图2为垃圾图像识别流程图,垃圾图像识别主要在Raspberry Pi控制板上实现,结合深度Inception V3神经卷积网络算法,对垃圾物种类进行图像识别。Inception V3网络是将一些较大的卷积分解成几个较小的卷积,其内部结构中并联的卷积核使能够对图像特征进行充分的提取,提取完成后,对数据进行训练来提高模型的识别精度。由于社会上存在的垃圾种类繁多,实际的分类垃圾桶产品应在获取海量的垃圾图像数据源基础上,实现垃圾图像识别模型的建立。考虑本文只需对垃圾图像识别进行原理性研究即可。本文建立图像识别模型共拍摄日常生活中2000張不同垃圾类别不同角度的图片,1500张用于图像识别训练集,500张用于测试。利用Matlab中Inception V3模块进行编程,对图片集进行六轮训练,得出图像识别模型,训练进度如图3所示。

建立图像识别模型后,对测试集中的图像进行测试,准确度可达97%,表1为测试集中部分垃圾图像的测试结果。

2.3垃圾分类程序设计

利用Arduino IDE软件进行垃圾分类的程序编程,垃圾分类程序设计流程图如图4所示,Rasp-berry Pi控制板将图像处理结果发送给Arduino控制板,Arduino控制舵机旋转,将垃圾清理至对应的垃圾桶内。舵机内部是一个基准电路,能够产生周期为20 ms、宽度为1.5 ms的基准信号,舵机将获得的直流偏置电压与电位器的电压比较,将电压差输出,经过方向判断后,驱动无核心电机开始转动,同时由位置检测器送回信号,判断是否已经到位。根据舵机特点,只要控制好Arduino控制板上普通数字引脚产生占空比不同的方波,通过方波模拟产生PWM信号,就可实现对舵机角度的控制。

3垃圾分类仿真实验

3.1仿真电路设计

为验证垃圾分类系统以及分类程序的正确性,本节进行电路仿真实验,首先利用Proteus软件建立仿真电路原理图,然后将前文已经编制出垃圾分类程序导入该电路图内,根据舵机角度反馈,验证分类程序是否满足设计要求。仿真电路原理图如图5所示。由于前文利用Inception V3神经网络构建了图像识别模型,利用测试集中的图像进行测试,识别准确率达到97%,所以在仿真电路不必添加Raspberry Pi控制板对垃圾图像识别的模块,利用A、B、C和D按键替代Raspberry Pi控制板对垃圾图像进行处理后的信息即可。

按键模块A、B、C、D分别代表Raspberry Pi控制板识别的信息,其中A代表厨余垃圾,B代表可回收垃圾,c代表其他垃圾,D代表有害垃圾,分别与Arduino控制板的101、102、103、IO4连接。

3.2仿真结果

将Arduino IDE软件写好的垃圾分类程序转换为hex类型文件导入Proteus软件中进行仿真实验,分别按下A、B、c和D弹簧按键,仿真结果如图6(a)(b)(c)(d)所示,图6为按键按下后的状态以及舵机旋转至相应角图,仿真实验中,按键按下后上下舵机旋转角度与垃圾分类所要求的舵机转动角度一致,且两个舵机在旋转时,转动角速度一致,实现了垃圾分类功能。

4结论

分类垃圾桶的智能化、垃圾分类结构简单化和社会实用性是本设计的指导思想。利用两个舵机设计出能进行垃圾分类的机械结构,使用ArduinoIDE软件编制出垃圾分类的程序;并且利用Incep—tion V3神经卷积网络算法建立的垃圾图像识别模型对垃圾图像的识别的准确度达到97%,最后设计了仿真电路进行垃圾分类的仿真实验,在实验中舵机的转动角度能够实现垃圾分类的功能,验证了垃圾分类程序以及系统的可靠性。但在建立垃圾分类图像识别模型中只进行了原理性研究,考慮研究成本和训练时间以及效率,仅拍摄2000张日常生活中最常见的垃圾图像进行垃圾图像识别训练,所以该学习模型仅能识别一些常见垃圾,与分类垃圾桶产品所要求的能够识别绝大部分垃圾还存在一定差距。要实现分类垃圾桶的工业化,就意味着需要训练的参数的增加,需要大量的存储空问与计算时间,所以还需要进一步优化其网络结构,尽可能地在降低网络计算量的同时提高其性能。

猜你喜欢

舵机垃圾分类图像识别
基于计算机视觉的图像识别技术研究
人工智能背景下图像识别技术浅析
基于字典学习的正则化鲁棒稀疏表示肿瘤细胞图像识别
小学校本课程《垃圾分类》智慧教育案例研究
浅析我国农村垃圾处理难题
日本城市垃圾分类的做法
图像识别交互系统
高校环境教育非课堂教学模式的探索
海太克HS—1100WP数字舵机
超音速舵机保护器