基于Faster RCNN的生活垃圾智能识别 下载: 961次
1 引言
近年来,深度卷积神经网络(CNN)在图像处理领域取得长足进步。2013年,RCNN[1]算法将CNN引入目标检测领域,极大地提高了目标检测性能。目前,目标检测主流方法分为一阶段与二阶段两类,前者以YOLO[2-4]、SSD[5]算法为代表,后者以Faster RCNN[6]及其变种为主,后者比前者多了一个感兴趣区域提取网络(RPN)[6],以生成初选目标框,供最终分类及定位使用。基于CNN的目标检测技术在垃圾检测领域仅有少量研究,Chen等[7]利用Faster RCNN算法检测流水线上的199个垃圾目标(仅bottle),得到系统漏识率为3%,误识率为9%。Mikami等[8]利用SSD算法实时检测并跟踪视频中的垃圾袋目标,在NVIDIA TX2上实现了6.2 frame/s的检测速度,垃圾袋识别平均精度(AP)为0.62。Zhang等[9]利用Faster RCNN算法检测681张街道图片中共9种类别的垃圾目标,检测的均值平均精度(mAP)为0.82,但存在类别不均衡问题。总体而言,基于CNN的目标检测技术在垃圾处理领域的研究不够充分,存在数据集规模较小、算法泛化性能及垃圾实际特性研究不足等问题,亟需进一步研究,以满足实际垃圾检测的需要。
本文采用二阶段的Faster RCNN算法实现对多类垃圾目标的高精度检测。由于目前目标检测领域没有针对生活垃圾的公开数据集,故研究的重点之一是制作数据集。考虑到不同的主干网络对识别精度、速度及泛化性能影响较大,实验对比测试了三种典型网络结构;此外,采用数据增强、困难样本增强训练、典型错误优化等多种手段提升算法性能;最后,对于背景干扰及算法实际检测中最佳概率阈值的设定问题,分析并提出解决方法。
2 数据获取方法与算法
2.1 实验装置及数据采集
实验装置如
2.2 数据集建立与数据增强
图片标注格式采用开源目标检测数据集PASCAL VOC2007[10]的格式,训练集与测试集的比例设置为8∶2,各类别的图片按比例随机分配。为提升算法性能,此处采用一种新的数据增强手段,利用标注信息截取目标并随机旋转缩放后贴入图片,达到了平衡各类别目标数量并扩充目标尺度多样性的目的。具体实现如下:
1) 通过标注框将图片中标注的目标全部截取出来,组成单元目标库;
2) 对每一张图片,从备选单元目标图片库中随机选取其未涵盖的类别目标,将其随机缩放旋转后贴入图片以平衡各类别数据量,更新标注文件。
3) 单元目标贴入参数:交并比(IoU)取0,旋转角度随机参数取0°,90°,180°,270°,像素大小规格取256,160,96,48 pixel,像素大小规格对应的像素大小随机参数取64,32,32,16 pixel,如此贴入的目标大小多样,覆盖32~320 pixel的尺度范围。
数据增强操作在测试集及训练集上分别进行,最终数据集的图片数量为6076,各类别的目标数量见
表 1. 数据集各类别目标数量
Table 1. Object quantity on garbage dataset
|
2.3 Faster RCNN算法
Faster RCNN算法整体结构如
训练时,Faster RCNN通过RPN层损失LRPN及Fast RCNN层损失LFast_RCNN反向传播优化网络参数,其中LRPN及LFast_RCNN均由分类损失及回归损失组成。算法主干网络采用经典结构VGG-16[12]、残差结构网络Res101[13]、轻量化结构网络MobileNet_v1[14],以观察这三种典型的网络结构对算法识别精度、速度及泛化性能的影响。三种网络的参数量、计算量(每秒浮点运算次数,FLOPs)及网络层数见
表 2. 不同网络参数量、计算量及网络层数
Table 2. Number of parameters, FLOPs and layers for different networks
|
2.4 Faster RCNN算法训练策略
采用结合特异层微调的端到端训练策略,在训练过程中提取低识别率样本,构建困难样本数据集进行增强训练,提高了算法对困难样本的识别精度。端到端训练速度较文献[ 6]中采用的RPN及Fast RCNN网络交替训练的方式更快,但精度略低,结合特异层微调的端到端训练策略可较好地兼顾训练速度与训练精度的要求。具体实现如下。
1) 端到端训练:反向传播网络总损失Ltotal,Ltotal定义为
2) 微调RPN:固定除RPN外的全部网络参数,反向传播LRPN。
3) 微调Fast RCNN:固定除Fast RCNN外的全部网络参数,反向传播LFast_RCNN。
最终训练分为4个步骤,见
1) 用最新权重测试图片,分析所有概率不小于0.3的检测目标,结果中含有FP(False Positive)或 FN(False Negative);
2) 提取最近两个epoch的各图片损失数据,满足
式中:Eloss为epoch的损失均值;σloss为epoch的损失标准差;k为系数,此处取0.5。
图 4. 结合困难样本增强及特异层微调的Faster RCNN算法训练步骤
Fig. 4. Faster RCNN train process combined with hard samples enhancement and special layer fine-tuning
学习率采用自动下降策略,初始学习率设为0.0001,最小学习率设为0.00001,学习率衰减比例为0.35,学习率衰减条件为每epoch的Eloss下降率低于0.05。为提高网络精度及收敛性,采用迁移学习策略,利用ImageNet LSVRC[15]数据集上的预训练权重初始化主干网络。
3 结果与讨论
3.1 Faster RCNN算法训练及检测结果
网络训练过程的epoch平均损失曲线及各训练步骤在测试集上的mAP见
图 5. 各网络总损失收敛情况及各训练步骤在测试集上的mAP
Fig. 5. Total loss convergence and mAP of test dataset during training procedure
表 3. 各网络训练集(TR)及测试集(TE)测试结果
Table 3. Network results on train dataset (TR) and test dataset (TE)
|
3.2 结果分析及优化
根据目标检测通用的评价手段,将检测目标划分为TP(True Positive)、FP(False Positive)、TN(True Negative)、FN(False Negative)。检测完成后,对某一类别,将TP、FP按概率从大到小排序,取不同的概率阈值,可得相应的精度(P)及召回率(R)。由此可得到各类别PR曲线,且PR曲线与概率曲线完全对应,涵盖目标检测评估的完备信息,优化的目的是消除FP并消除FN,其中MobileNet_v1网络的金属类别如
3.3 泛化性能评估
实际垃圾检测时存在复杂的背景影响,故需引入背景干扰来测试算法的泛化性能。背景影响主要来自两方面:拍摄大背景变化,如传送带颜色、纹理不同;其他垃圾的干扰,这个主要由于目标检测的对象为图像框,若框内存在其他物体就会干扰原目标识别,同时可能误识背景为目标。据此,人为导入多种测试背景:216种纯色背景,15种纹理不同的传送带背景,15种密集散垃圾背景。为可靠评估小数据集下不同网络结构对不同背景的泛化能力,将已正确检测的目标引入不同背景中建立背景数据集,以测试网络泛化性能,方法如下:首先从训练集中取出300张检测无误且背景较为干净的源图片,由此保证算法检测的是图中目标而非背景;而后,将图片内目标轮廓标注并截取后贴入上述背景图中,由此制作出含原目标的新背景测试数据集,其中纯色背景216张,传送带背景300张,密集散垃圾背景300张。背景数据集样本示例见
表 4. 背景数据集测试结果
Table 4. Test results on background dataset
|
3.4 最优阈值设置及最优检测性能
目标检测算法根据设定概率阈值来检测目标,不同阈值下各类别的召回率、精度不同。高召回率表征低的漏识率,高精度表征低的误识率,因此各类别召回率及精度可以直接反映检测的优劣程度,为此需要设置最佳阈值以使检测最优。垃圾检测更为特殊,可回收垃圾应倾向较高的精度指标,有害垃圾应倾向较高的召回率指标。因此,本研究综合权衡召回率及精度指标,并区别对待可回收垃圾与有害垃圾,其最佳阈值P1,P2按以下条件计算:
1) 为避免单个目标被同时识别为可回收垃圾、有害垃圾,设置:P1+P2=1;
2) 最大化以下判别指标:
根据上述条件可生成阈值判定曲线,MobileNet_v1下的阈值判定曲线如
表 5. 各网络最优阈值下测试集精度及召回率
Table 5. Precision and recall on test dataset under optimal threshold of each network
|
4 结论
基于Faster RCNN算法实现了生活垃圾的高精度识别,涵盖数据集建立到检测结果分析与优化的全过程,可得以下结论:
1) 建立了涵盖可回收垃圾及有害垃圾中典型6种类别的有效数据集,图片总数6076张,数据增强后包含目标总数量17659,且类别均衡、目标大小多样。
2) 困难样本增强训练、特异层微调网络及典型错误优化可有效提升算法精度,对于MobileNet_v1网络,mAP从87.19%依次提升到92.02%、92.85%及94.90%。
3) 不同网络的收敛性、精度、速度及泛化性能指标差异较大,收敛性从优到劣排序为Res101、 VGG-16、MobileNet_v1,收敛性直接反映泛化性能,并基本反映精度;速度从大到小排序为MobileNet_v1、 VGG-16、 Res101。综合来看,Res101性能最优,MobileNet_v1速度优势明显。
4) 给出了最佳概率阈值的设定方法,且网络收敛性越好,最佳概率阈值越大。
[1] GirshickR, DonahueJ, DarrellT, et al.Rich feature hierarchies for accurate object detection and semantic segmentation[C]∥2014 IEEE Conference on Computer Vision and Pattern Recognition, June 23-28, 2014, Columbus, OH, USA.New York: IEEE Press, 2014: 580- 587.
[2] RedmonJ, DivvalaS, GirshickR, et al.You only look once: unified, real-time object detection[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA. New York: IEEE Press, 2016: 779- 788.
[3] RedmonJ, FarhadiA. YOLO9000: better, faster, stronger[C]∥2017 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), July 21-26, 2017, Honolulu, HI, USA. New York: IEEE Press, 2017: 6517- 6525.
[4] RedmonJ, Farhadi A. YOLOv3: an incremental improvement[EB/OL]. ( 2018-04-08)[2020-01-03]. https: ∥arxiv.org/abs/1804. 02767.
[5] LiuW, AnguelovD, ErhanD, et al. SSD: single shot multibox detector[C]∥European Conference on Computer Vision. Cham: Springer, 2016: 21- 37.
[6] Ren SQ, He KM, GirshickR, et al. ( 2015-06-04)[2020-01-03]. https: ∥arxiv.org/abs/1506. 01497.
[7] Chen ZH, Zou HB, Wang YB, et al.A vision-based robotic grasping system using deep learning for garbage sorting[C]∥2017 36th Chinese Control Conference (CCC), July 26-28, 2017, Dalian, China.New York: IEEE Press, 2017: 11223- 11226.
[8] MikamiK, ChenY, NakazawaJ, et al.DeepCounter: using deep learning to count garbage bags[C]∥2018 IEEE 24th International Conference on Embedded and Real-Time Computing Systems and Applications (RTCSA), August 28-31, 2018, Hakodate, Japan. New York: IEEE Press, 2018: 1- 10.
[9] Zhang P C, Zhao Q, Gao J, et al. Urban street cleanliness assessment using mobile edge computing and deep learning[J]. IEEE Access, 2019, 7: 63550-63563.
[11] He KM, GkioxariG, DollárP, et al.Mask R-CNN[C]∥2017 IEEE International Conference on Computer Vision (ICCV), October 22-29, 2017, Venice, Italy.New York: IEEE Press, 2017: 2980- 2988.
[12] SimonyanK, Zisserman A. Very deep convolutional networks for large-scale image recognition[EB/OL]. ( 2014-09-04)[2020-01-03]. https: ∥arxiv.org/abs/1409. 1556.
[13] He KM, Zhang XY, Ren SQ, et al.Deep residual learning for image recognition[C]∥2016 IEEE Conference on Computer Vision and Pattern Recognition (CVPR), June 27-30, 2016, Las Vegas, NV, USA.New York: IEEE Press, 2016: 770- 778.
[14] Howard AG, Zhu ML, ChenB, et al. ( 2017-04-17)[2020-01-03]. https: ∥arxiv.org/abs/1704. 04861.
[15] Russakovsky O, Deng J, Su H, et al. ImageNet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252.
[16] Zeiler MD, FergusR. Visualizing and understanding convolutional networks[C]∥European Conference on Computer Vision. Cham: Springer, 2014: 818- 833.
Article Outline
文灿华, 李佳, 董雪. 基于Faster RCNN的生活垃圾智能识别[J]. 激光与光电子学进展, 2020, 57(20): 201014. Canhua Wen, Jia Li, Xue Dong. Intelligent Domestic Garbage Recognition Based on Faster RCNN[J]. Laser & Optoelectronics Progress, 2020, 57(20): 201014.