基于SSD算法的垃圾识别分类研究

2019-07-16 07:21:26彭昕昀李嘉乐刘杏洲张程发林显新欧嘉诚
韶关学院学报 2019年6期
关键词:置信度网络结构损失

彭昕昀,李嘉乐,李 婉,刘杏洲,张程发 ,林显新 ,欧嘉诚

(1.韶关学院 物理与机电工程学院;2.韶关学院 学报编辑部,广东 韶关 512005)

随着我国经济的快速发展,城市生活垃圾的产生量增长迅速,由1927年的0.5亿吨增至2016年的2.04亿吨[1].如何做到垃圾的无害化、资源化处理是急需解决的问题.对垃圾进行有效地分类是分类处理的前提.人工分拣垃圾环境差、任务繁重且分拣效率低.对垃圾分拣实现智能化和自动化,可以降低人工成本,提高有用资源的重复利用,有助于实现生态文明建设的目标[2].

1 垃圾识别分类研究背景

针对垃圾识别的智能化和自动化,很多专家学者进行了研究和实践,例如吴健的基于计算机视觉的废物垃圾分析与识别研究[3];黄惠玲的建筑垃圾的颜色特征提取与分类研究,利用K均值聚类算法对建筑垃圾进行了识别,识别整个过程平均消耗时间为1.17 s[4].早期的目标检测算法大多数是基于手动提取特征,结合分类器构建的.这些传统方法主要有帧差法、背景减除法和光流法等,但是这些传统的目标检测方法模型较为复杂,鲁棒性也较差[5].

近年来,伴随深度学习(Deep Leaming)的出现,目标检测的模型发生了改变,由于多层卷积神经网络能够自主对不同层进行特征提取和筛选,所以相比传统的目标检测方法,检测效果更加准确,模型更具有广泛性[6].笔者提出采用深度学习模型中的SSD模型,以实现垃圾的识别分类.SSD模型又叫Single Shot Multi-Box Detector,是在ECCV 2016上Wei Liu发表的一篇论文中提出来的一种使用单个深度神经网络来检测图像中的目标的方法[7-8].这种方法在PASCAL VOC,COCO和ILSVRC数据集上的实验结果证实,SSD对于利用额外的目标提出步骤的方法具有竞争性和准确性,并且速度更快,同时为训练和推断提供了统一的框架.输入300×300的图像,在VOC2007数据集上测试,能够达到59帧/秒的传输速度(Nvidia Titan X的GPU,帧/秒),74.3%的平均精确率mAP(mean Average Precision).与其他单阶段方法相比,即使输入图像尺寸较小,SSD也具有更高的精度[9].该模型与其他目标检测模型在VOC2007数据集上测试数据如表1所示.由表1可知,SSD算法在mAP和FPS上都有一定的优势.

表1 VOC2007测试数据

2 基于SSD的垃圾识别算法

2.1 垃圾识别的SSD网络结构

垃圾识别的SSD网络结构是通过一个前馈神经CNN网络,生成一系列大小固定的边界框,以及会对每个边界框中包含物体的进行打分.通过使用非极大值抑制方法,得到最终的预测结果.SSD框架如图2所示[10].从SSD框架图中可以看出来,SSD网络结构主要由两部分组成,第一部分为基础的图像特征提取网络,第二部分为特征金字塔网络.其中第一部分的基础图像特征提取网络结构是基于VGG16网络结构数据,见表2.第二部分是将VGG16最后的两个全连接层(FC6和FC7)改成卷积层(Conv6和Conv7),并随后增加了4个卷积层来构造网络结构,从而构建特征金字塔网络部分.

表2 VGG16网络结构数据表

2.2 特征层默认框

在垃圾识别过程中,特征金字塔网络部分提取图像中的特征.特征金字塔层的默认框从6层卷积层输出的特征图中产生,分 别 为 Conv4_3,Conv7 (FC7),Conv8_2,Conv9_2,Conv10_2,Conv11_2,这6个特征层产生的特征图的大小分别为38×38、19×19、10×10、5×5、3×3、1×1.在垃圾识别算法中,每个特征图上的每个点会生成对应一组默认框,每个默认框对应一个边界框输出一组检测结果,检测结果中包括置信度(即属于某一类的得分)和位置值.在这6个特征图中Conv4_3层作为第一个特征图.剩下的5个卷积层的特征图分别用2个不同的3×3的卷积核进行卷积,其中一个卷积结果输出每个边界框中各个类别的置信度,另外一个卷积结果输出每个边界框的位置值,如图3所示.

使用m个特征图做预测.每个特征图的默认框的比例为:

图3 特征图输出检测结果

其中,Smin取0.2;Smax取0.95.所有层是规则间隔的.对默认框施以不同的宽高比,.每个默认框的宽度和高度为:

图4 默认框生成

由此在6个特征图上一共可以预测的边界框数目一共有8 732个.具体生成情况如表3所示.

表3 先验框详细生成情况

2.3 目标损失函数

在垃圾识别模型中的总体目标损失函数是位置损失和置信损失的加权之和:

其中N是匹配的默认框的数量,默认取1.位置损失是预测框(l)和真实标签值框(g)参数之间的损失.置信损失是Softmax损失对多类别置信(c)和权重项设置为1的交叉验证.其中位置损失为:

置信度损失为:

2.4 训练过程

垃圾识别训练过程分为4个步骤,具体训练过程如图 5 所示[11].

(1)计算每个预测框的Jaccard系数和真实框的相似度;

(2)当阈值大于0.5作为预选对象;

(3)第i个预测框与类别p的第j个真实框的相匹配情况;

(4)求得垃圾识别的总体目标损失函数.

2.5 垃圾识别的结果预测

垃圾识别结果预测是通过使用非极大值抑制方法得到最终的预测结果.预测过程是根据每个预测默认框所生成的检测结果中的置信度来确定预测的物体所属类别.低于置信度阈值0.5的默认框将会被筛除.对剩下的默认框由置信度值的大小进行从小到大排列,保留同Top-N个默认框,最后使用非极大值抑制法.该方法对于有相交的默认框,根据检测结果的置信度和位置,从中找到置信度比较高的默认框,筛除掉重叠度较大的预测框,对于没相交的就直接保留下来,作为最后结果.

2.6 垃圾识别算法的性能提高

为提高垃圾识别模型的鲁棒性和整体性能,对测试数据集采取数据增强方法,包括水平翻转、裁剪、缩放旋转等.实验证明,增加训练样本,可以明显地提高垃圾识别的性能.在测试数据集预处理阶段,采用了Kreas下的 ImageDataGenerator,进行数据增强[12].程序中编写了如下的语句:from keras.preprocessing.image import ImageDataGenerator,img_to_array,load_img import os datagen=ImageDataGenerator(

rotation_range=20, //随机旋转的角度

width_shift_range=0.15, //水平偏移的幅度

height_shift_range=0.15,//竖直偏移的幅度

zoom_range=0.15, //随机缩放的幅度

shear_range=0.2, //裁剪的强度

horizontal_flip=True, //进行随机水平翻转

fill_mode='nearest').

实现的部分效果如图6所示.

图5 训练实现过程

3 测试结果及分析

图6 识别效果图

3.1 测试环境

电脑操作系统为Windows10,搭建深度学习TensorFlow框架,编程环境基于Python,电脑CPU i7-4722HQ,显卡GPU 850 M,运行内存8 G.

3.2 测试数据集

运用摄像机拍摄和互联网收集多种类型的垃圾图片,创建了一个垃圾检测数据集.为了提高在不同环境下模型的鲁棒性,对收集的数据集分别再进行数据增强,得到1万多张图片,如图7所示.其中,每张图片包含的垃圾类别各不相同,在分类中将垃圾分类成塑料类、废纸类和金属类.使用LabelImg标注工具对收集的1万多张图片进行标注.垃圾实物的训练集部分样本如图7所示.

3.3 测试结果和分析

经过3万多步训练,垃圾识别模型的目标损失值达到3.42,平均精确率 mAP(mean Average Precision)达到93.42%.如图8所示.识别的效果如图9所示.

图7 实物训练集样本图

图8 垃圾识别的目标损失和mAP

图9 垃圾识别效果图

从图9可以看出,在不同的物体形状,大小和光照环境等条件下,本文的垃圾识别分类模型能够满足在复杂场景中的垃圾识别.同时为测试本算法的整体性能,在收集的垃圾图片测试数据集上进行了训练和测试.分别使用2种不同大小的模型(即输入图像大小不同),分别是SSD300和SSD500,测试得到的目标检测平均精确率mAP(mean Average Precision),如表4所示.

表4 不同模型测试结果

由表4中2个大小不同SSD模型的目标检测平均精确率mAP(mean Average Precision)都超过了90%.由此可知,SSD模型的整体性能比较好,适合该研究的垃圾识别分类.

4 结论

基于SSD算法的垃圾识别使用单个深度神经网络来检测图像中的目标.制作了垃圾数据集,并利用裁剪、旋转和缩放等方法对数据集进行了不同程度的增强,提高了垃圾识别的鲁棒性,满足了在复杂场景中垃圾识别的需求.通过整个实验测试,发现基于深度学习的垃圾识别可以用于日常生活的垃圾分类任务,在实际应用中结合机器人进行智能化垃圾分类,可以降低垃圾分类成本,提高准确识别和分类垃圾的工作效率.

猜你喜欢
置信度网络结构损失
少问一句,损失千金
硼铝复合材料硼含量置信度临界安全分析研究
胖胖损失了多少元
玉米抽穗前倒伏怎么办?怎么减少损失?
今日农业(2019年15期)2019-01-03 12:11:33
正负关联规则两级置信度阈值设置方法
计算机应用(2018年5期)2018-07-25 07:41:26
基于互信息的贝叶斯网络结构学习
知识网络结构维对于创新绩效的作用机制——远程创新搜寻的中介作用
管理现代化(2016年3期)2016-02-06 02:04:41
沪港通下A+ H股票网络结构演化的实证分析
管理现代化(2016年3期)2016-02-06 02:04:13
复杂网络结构比对算法研究进展
一般自由碰撞的最大动能损失