基于YOLO V3的垃圾自动定位及分类方法

2019-12-25 01:14王铭杰
无线互联科技 2019年20期
关键词:垃圾分类

王铭杰

摘   要:目前垃圾分类主要依靠人工来进行,存在效率低、对人体健康有害的问题,文章提出了基于YOLO V3的垃圾自动定位及分类方法。首先,采集公共场所的废弃物图像并进行标注;其次,通过K-mean++确定先验框大小;最后,加载ImageNet数据集上预训练的权重进行迁移训练。结果显示:该方法能够有效完成垃圾的定位及分类,mAP可达82.87%。

关键词:YOLO V3;K-mean++;数据增强;垃圾分类

随着我国经济的发展和城镇化道路的实施,城市中产生的垃圾数量也在与日俱增,垃圾处理问题受到人们越来越多的关注。2019年4月26日,我国住房和城乡建设部等部门发布了《关于在全国地级及以上城市全面开展生活垃圾分类工作的通知》,决定从2019年开始按要求启动生活垃圾分类工作,所列的重点城市两年后需具备垃圾分类处理系统。对垃圾分类处理首先需要进行分类,而人工分类效率低,尤其在面对大量垃圾时,会由于分类环境恶劣、任务繁重对人的健康产生不利影响。如果垃圾数量过多,则可能无法完成对其的分类,而将剩余部分视为其他垃圾处理掉,对环境造成污染的同时,也浪费了可回收的资源。如今,伴随着人工智能,尤其是卷积神经网络在图像处理方面跨越式的发展,智能机器通过摄像头自动识别和定位不同种类的垃圾成为可能,进而可以实现对垃圾的自动分类投放,在减轻人工劳动量、提高分类效率的同时能够降低对环境的污染,减少对资源的浪费。

目标检测的方法有两种:(1)基于区域建议的两阶段法,主流的算法包括Fast R-CNN[1]和Faster R-CNN[2]。(2)无区域建议的一阶段法,主流的算法包括SSD[3]和YOLO V3。其中,YOLO V3不仅有较高的检测精度,而且检测速度也较快。本文选用YOLO V3对垃圾进行分类和定位,并根据公共场所垃圾图像的特点,重新选定了先验框大小及其他超参数。

1    试验数据

1.1  图像数据采集

本次试验的垃圾图像数据于2019年6—7月采集自太谷城区的公共场所。采集时从平视、俯视、斜视3个角度对垃圾进行图像采集,用手机作为采集设备,型号为红米note7,图像分辨率为4 000×3 000像素。图像数据中既有只含一种垃圾的图片,也有含两种或两种以上垃圾的图片。

1.2  数据集建立

本次试验共采集各类垃圾圖像6 107张。其中仅含一类垃圾的图像有可回收物887张、湿垃圾873张、有害垃圾829张和干垃圾867张,含两类及两类以上垃圾的图像有2 651张。考虑到模型训练的速度及计算机内存和显存的占用情况,这里将所有图像在保证原始图像长宽比的前提下,压缩为416×416像素,空白部分用灰色(128,128,128)填充。从采集的各类垃圾图像6 107张中随机抽取1 220张作为测试集,剩余的作为训练集和验证集。使用LabelImg工具对图像进行目标位置及类别标注,生成XML文件,随后将其转为TXT文件,内含垃圾所属类别、中心坐标以及最小外接矩形框的长和宽。

为使最终的训练结果有较好的泛化性能,对训练集进行了数据增强,主要包括:水平翻转、垂直翻转、旋转180°、随机缩放宽高比例、随机剪切、亮度变化和饱和度变化。以一张垃圾图像为例,其图像数据增强结果如图1所示。经数据增强后,作为训练集和验证集的图像数量变为39 096张,后续训练时采用10折交叉验证。

2    检测方法

2.1  YOLO  V3模型

YOLO V3模型是对YOLO V1和YOLO V2的改进。YOLO V3以Darknet-53为骨干网络,相对于YOLO V2中的Darknet-19去掉了池化层,改为用步长为2的卷积层,实现特征图的尺寸变换。除最后一个卷积层外,其余卷积层和Leaky ReLU之间都有一个BN层。Darknet-53网络通过对Resnet网络的借鉴使之拥有更深的网络深度,更好的分类效果。

YOLO V3采用多尺度检测,本文中图片大小为416× 416像素,所以多尺度对应的特征图大小分别为13×13像素,26×26像素和52×52像素。其中,13×13像素用于检测较大的物体,26×26像素用于检测中等大小的物体,52×52像素用于检测较小的物体,每种尺度对应3种先验框,共9种先验框。在对较小的物体进行检测时,将原图分为52×52个格子,当小物体的中心处于某个格子时,该格子对该物体进行检测。该格子输出的信息中包括物体预测框中心坐标(x,y)、预测框的宽与高(w,h)、物体而非背景的置信度C以及物体属于各类的可能性。对于像素为416×416的图片,YOLO V3可产生10 647个预测框,后期通过判断是否超过阈值和采用非极大值抑制来筛选预测框。

2.2  先验框计算

先验框参数不仅对YOLO V3在训练时的收敛速度有影响,而且对检测精度也会有一定程度的影响。为使YOLO V3对垃圾检测拥有较高的检测精度,本文对垃圾目标框采用聚类的方法来确定先验框参数。

K-means是一种常用的聚类方法,但K-means的聚类中心在初始时是随机选择的,这会导致最终的聚类结果存在较大的随机性。为尽量减小聚类结果的随机性,本文采用改进后的K-means++来确定先验框参数,并使用1-IOU代替欧氏距离作为聚类指标,其中IOU为垃圾目标框与先验框之间的交并比。经K-means++聚类确定的k=9时的先验框参数为(15,9)、(17,20)、(24,35)、(37,50)、(49,63)、(64,90)、(109,87)、(172,101)和(381,355)。

3    实验

3.1  评价指标

为评价本方法对垃圾进行定位及分类的性能优劣,本文使用平均精度均值(mean Average Precision,mAP)作为评价指标。平均精度均值可以通过计算精确度(Precision)和查全率(Recall)得到,具体计算公式为:

其中,TP为将某类垃圾正确预测为某类垃圾的个数,FP为将非某类垃圾错误预测为某类垃圾的个数,FN为将某类垃圾错误预测为不是某类垃圾的个数,AP为某类垃圾的平均精度。mAP是4类垃圾各自计算的AP的平均值。

3.2  训练设置

本文依靠迁移学习用经ImageNet数据集训练的Darknet-53参数进行初始化,训练时设置批次大小为16,最大训练次数为120 000,激活函数选用Leaky ReLU,优化器采用随机梯度下降算法(Stochastic Gradient Descent,SGD),初始学习率为0.001,动量为0.9,权重衰减正则系数为0.000 5,迭代至63 000次时,将学习率改为0.000 1,迭代至99 000次时,将学习率再改为0.000 01,迭代至120 000次或损失收敛时停止训练。在训练过程中通过比较损失大小,保存损失最小的模型参数。

3.3  识别结果

使用训练好的模型对测试集中4类共1 220张垃圾图片进行检測,其mAP可达82.87%,对测试集检测的部分结果如图2所示,其中,rec_w为可回收垃圾(recyclable waste),resi_w为干垃圾(residual waste),hou_f_w为湿垃圾(household food waste),haz_w为有害垃圾(hazardous waste),从图2可以看出本方法能对垃圾进行有效的分类和定位。

4    结语

基于对垃圾分类的要求,本文提出了一种基于YOLO V3的检测方法。该方法采用K-means++算法对先验框的大小进行了优化,利用YOLO V3完成了对垃圾的定位及分类,其最终的mAP可达82.87%,另外,得益于YOLO V3在目标检测速度上的优势,本文所提方法能够满足垃圾分类任务的要求,在城市垃圾分类方面有广阔的应用前景。

[参考文献]

[1]GIRSHICK R.Fast R-CNN[C].Washington:IEEE Conference on Computer Vision and Pattern Recognition,2015.

[2]REN S,HE K,GIRSHICK R,et al.Faster R-CNN:towards real-time object detection with region proposal networks[J].IEEE Transactions on Pattern Analysis&Machine Intelligence,2017(6):1137-1149.

[3]LIU W,ANGUELOV D,ERHAN D,et al.SSD:single shot multiBox detector[J].European Conference on Computer Vision,2016(6):21-37.

猜你喜欢
垃圾分类
专业运营垃圾分类回收模式推动呼和浩特市居民分类行为转变研究报告
不是后G20时代杭州市垃圾分类管理对策研究
成都市生活垃圾分类现状及建议
小学校本课程《垃圾分类》智慧教育案例研究
日本城市垃圾分类的做法
高校环境教育非课堂教学模式的探索
新型城市生活垃圾分类回收体系