APP下载

基于Faster-RCNN算法的轻量化改进及其在沙滩废弃物检测中的应用

2022-04-08龚圣斌王少杰张荣辉林晓涵吴彬云

关键词:特征提取废弃物轻量化

龚圣斌,王少杰,侯 亮,张荣辉,林晓涵,吴彬云

(厦门大学航空航天学院,福建 厦门 361102)

传统的目标检测一般有3个阶段[1-2]:首先,在图像的不同位置使用不同尺寸的窗口滑动,以此来选取候选区域;接着,在这些候选区域中进行特征提取;最后,利用分类器对目标物体进行识别.针对不同类别的物体,需设计不同的特征和分类方法.这些方法都需要人工从原始输入中获取有关的目标特征信息,有很多的局限性[3-4]:1) 可移植性差,针对特定的检测任务,需要人工设计不同的方法,对设计者的经验有很高的要求.2) 准确性低,由于检测目标的形态多样性、光照变化多样性、背景多样性等因素,提取特征难,进而检测结果的准确性受到影响.3) 耗时长,由于使用滑动窗口穷举策略,虽然检测覆盖面广,但是产生冗余窗口太多,影响检测速度.此外,检测目标自身的尺寸大小不一,且易受其他物体的遮挡、光线强弱等外界环境及天气因素影响,从而导致检测目标难以辨别[5-7].可见目前传统目标检测方法还无法很好地解决以上这些问题.针对传统方法存在的局限性,应用深度学习使目标检测取得重大突破,深度学习技术能有效地解决许多传统目标检测的缺陷[8].针对很多人工方式无法很好地抽取实体中的特征问题,深度学习可以自动地将简单的特征组合成复杂的特征,并使用这些组合特征解决问题.卷积神经网络不仅能够提取更高层、表达能力更好的特征,还能在同一个模型中完成对于特征的提取、选择和分类.Girshick等[9]提出了基于区域卷积神经网络(regions with convolutional neural network,RCNN)的目标检测方法,使用选择性搜索算法生成候选区域用于提取目标特征.但RCNN计算量很大,无法实时更新.此外,由于全连接层的存在,需要严格保证输入图片的尺度大小,这在一定程度造成了图像畸变,影响最终结果.为解决这一问题,He等[10]提出了基于深度卷积网络的空间金字塔池化层视觉识别方法,对输入图片的尺寸放宽了限制.为解决RCNN中出现大量冗余的特征提取问题,Girshick[11]又提出了快速-RCNN(Faster-RCNN)模型,极大地提高了目标检测与识别性能.但Fast-RCNN候选区域的提取方法仍然使用选择性搜索算法,目标检测时间消耗大,无法满足实时应用,而且并没有实现真正意义上的端到端的训练,显然候选区域提取问题亟需解决.为了突破选择性搜索算法的瓶颈,Ren等[12]提出将区域建议网络(region proposal network, RPN)和Fast-RCNN结合,用区域建议网络替换选择性搜索算法,解决了计算区域建议时间开销过大的问题.

因此,本文采用以Faster-RCNN与区域建议网络为基础的深度学习方法,并使用经轻量化处理后的Inception-V2进行特征提取.本文还对神经网络的线性整流(rectified linear unit,ReLU)激活函数做出改进,克服其容易导致神经元坏死的缺点.

滨海旅游业在快速发展的同时带来了较大的环境问题,其中最为显著的便是层出不穷的各种沙滩废弃物[13-15].当前我国的沙滩清理维护以人工为主,沙滩清洁车辆的出现能一定程度上减少环卫工人的工作量[16].准确高效地检测出沙滩废弃物,可以为沙滩清洁车辆提供废弃物的视觉定位,进而对其行进提供路径规划等指导.

1 Faster-RCNN算法的改进与优化

1.1 Faster-RCNN算法简介

Faster-RCNN算法主要解决两个问题:1) 利用RPN快速生成候选区域;2) 通过交替训练,使RPN和Fast-RCNN网络共享参数.Faster-RCNN的网络结构如图1所示,由4个部分组成:1) 特征提取网络从原图中提取出特征图;2) 将特征图传入由Faster-RCNN全新提出的区域建议网络中进行训练,可以生成区域建议框,获取目标对象的大致位置;3) 利用区域建议网络获得的大致位置,从特征图中抠出用于分类的目标;4) 将抠出的部分池化成固定长度的数据传入全连接层进行目标检测.

图1 Faster-RCNN网络结构Fig.1 Faster-RCNN network structure

1.2 特征提取网络轻量化

1.2.1 Inception-V2模块

Inception模块[17]首次提出于Google Net中,在此之前的Alex Net、VGG(visual geometry group)[18]等结构都是通过增加网络的深度来获得更好的训练效果,但网络深度的增加会带来许多负作用,比如过拟合、梯度消失、梯度爆炸等.Inception的提出则从另一个角度来提升训练结果:能更高效地利用计算资源,在相同的计算量下提取到更多的特征.Inception模块的基本结构如图2所示.

图2 Inception模块Fig.2 Inception module

Inception模块[19]的主要贡献有:1) 使用1×1的卷积来进行升降维;2) 在多个尺寸上同时进行卷积再聚合.大卷积核可以用多个小卷积核来替代,如一个尺寸为5×5的卷积核可以被两个尺寸为3×3的卷积核代替,在感受野没有变化的情况下,计算量显著减少,由此可以得到Inception-V2模块[20],如图3所示.

图3 Inception-V2模块Fig.3 Inception-V2 module

1.2.2 轻量化Inception-V2特征提取网络结构

Faster-RCNN基于Inception-V2模块的特征提取网络结构如图4所示,图中卷积和池化的步长(stride)默认为1.5a网络部分有3个分支,5b网络和5c网络各有4个分支.5a网络的输出作为5b网络的输入,5c网络的输入为5b网络的输出.以5b网络为例,4个分支分别用不同尺寸的滤波器(filter)进行卷积或池化,再在特征维度上拼接到一起.

图4的结构仍然较为复杂,计算量较大.为了轻量化Inception-V2特征提取网络,做出如下两点改进:1) 对每个分支的中间层进行降维,通道数变为原来的0.5倍,而用于级联的卷积层通道数不变.中间层的降维是一种无损或低损压缩,即使中间层的通道数减小,维度降低,仍然可以利用图像特征相关性恢复出原有的信息,实际上每一个分支的输出通道数并未改变,通过中间层的降维可以极大地减少神经网络的计算量;2) 注意到5b网络和5c网络的branch 3中池化层的stride=1,并未起到压缩特征图尺寸的作用,而5b网络和5c网络的分支0中已有尺寸为1×1的卷积核,故丢弃5b网络和5c网络的分支3结构,得到如图5所示的轻量化Inception-V2特征提取网络结构.这实际上是一种“剪枝”操作,通过丢弃Inception-V2模块中不重要的部分分支可以降低网络结构的复杂性、减小过拟合、提升模型的泛化能力,同时可以加快训练速度并提升目标物体的检测速度.但若过度减少Inception-V2模块中的分支,则会影响模型的收敛速度、稳定性及检测精度.

图4 Inception-V2特征提取网络结构Fig.4 Inception-V2 feature extraction network structure

表1给出了Inception-V2特征提取网络轻量化前后的计算量对比(只计算卷积层的计算量,相比于卷积层,池化层计算量很小).

轻量化前Inception-V2特征提取网络结构的卷积计算量总和为114 970 624,轻量化后Inception-V2特征提取网络结构的卷积计算量总和为56 473 600,节省卷积计算量约50.9%,有明显的轻量化效果.

1.3 激活函数改进

ReLU函数[21]是神经网络最常用的激活函数,它的优点是易于优化.然而,当神经元输入为负值的时候,ReLU的学习速度会变慢,因为此时梯度为零,从而其权重无法得到更新,神经元坏死.为避免这种缺陷,本文采用带泄露ReLU(leaky ReLU)激活函数[22],当输入为负数时仍会有一个小梯度的非零值输出,从而避免可能出现的神经元坏死现象.ReLU和Leaky ReLU的图像如图6所示.

图5 轻量化Inception-V2特征提取网络结构Fig.5 Lightweight the structure of Inception-V2 feature extraction network

表1 轻量化前后Inception-V2特征提取网络结构的卷积计算量

2 算法验证

2.1 数据集来源

我国生态环境部发布了《2018年中国海洋生态环境状况公报》[23],结果显示:在我国沙滩废弃物中,塑料类垃圾数量最多,其次为纸类和木制品类.结合当地沙滩实际情况,本文将沙滩废弃物分为树枝树叶(branches-leaves)、瓶罐(bottle)、泡沫(foam)、纸张(paper)和塑料(plastic)5类(图7).在不同光照条件、不同距离及不同角度下对沙滩废弃物进行拍摄,拍摄时对应调整曝光时间、增益、亮度、对比度等参数.注意5类样本的拍摄数量平衡,最终得到约1 000张图片,训练集与测试集按照9∶1的比例进行划分.所有图像像素尺寸为640×480.

图6 ReLU和Leaky ReLU激活函数Fig.6 ReLU and Leaky ReLU activation functions

图7 数据集中部分沙滩废弃物图片示例Fig.7 The example of beach waste images in dataset

2.2 参数设置

本实验在Windows 10操作系统下,基于Intel(R) Core(TM) i7-4720HQ CPU @ 2.60 GHz(8GB运行内存)和NVIDIA GeForce GTX 950M GPU(4GB运行显存)的硬件设备上搭建TensorFlow深度学习框架,利用Python编程语言实现沙滩废弃物目标检测模型的训练与测试.

模型的优化器选择momentum optimizer[24],momentum optimizer value设为0.9.训练步数在0~30 000时,学习率设为2×10-4;训练步数在30 000~40 000时,学习率设为2×10-5;训练步数在40 000~50 000时,学习率调整为2×10-6.训练步数达50 000时终止模型训练.

2.3 结果与分析

本文对比了SSD(single shot multibox detector)[25]与Faster-RCNN目标检测算法结合不同特征提取网络(Inception-V2、ResNet50和ResNet101)在检测沙滩废弃物时的表现,主要衡量指标为检测时间及mAP(mean average precision).AP(average precision)综合了查准率(precision)与查全率(recall),而mAP则是各类别AP的平均值.结果如表2所示.实验结果表明:1) 在使用相同特征提取网络时,SSD目标检测算法具有更快的检测速度,这是由于SSD是one-stage算法,对小目标物体检测效果较差,其mAP相比Faster-RCNN较低;2) 在使用相同的目标检测算法时,Inception-v2特征提取网络相比ResNet50和ResNet101的检测耗时更短;3) 基于Faster-RCNN的轻量化Inception-V2对训练耗时和检测耗时的减少都有较大的作用,模型平均训练耗时可减少9.1%,平均检测耗时可减少10.9%,特征提取网络轻量化工作使模型在训练时间成本和检测速度上都得到了优化;4) 在Faster-RCNN使用相同特征提取网络的情况下,相比于ReLU,Leaky ReLU激活函数可以略微提升模型检测效果;5) 本文提出的改进算法Faster-RCNN_Lightweight Inception-V2(Leaky ReLU)在检测速度上与最快的SSD-Inception-V2表现接近,并且其mAP值明显高与其他模型.综合比较可见,本文所提改进算法在实际检测中表现出较为优越的性能.

表2 SSD与Faster-RCNN模型的检测效果对比Tab.2 Comparison of detection effect of SSD and Faster-RCNN models

图8显示了使用本文所提改进算法的沙滩废弃物检测效果.

图8 沙滩废弃物目标检测Fig.8 Detection of beach garbage

基于上述算法的研究,本文开发了一套用于沙滩废弃物目标检测的软件,可实现在线实时的沙滩废弃物检测.值得注意的是,尽管用于模型训练的照片是在不同光照条件、不同距离及不同角度下拍摄,但在实际检测中,检测效果仍然受到光照等因素的较大影响.通过调节亮度、对比度等参数,可取得较理想的检测效果.图9显示了不同亮度下的检测效果.

2.4 BIT-Vehicle和CK+数据集验证

为了进一步验证本文提出的改进算法,选取BIT-Vehicle和CK+两个开源数据集进行检测效果验证,模型训练的参数设置与2.2节一致,BIT-Vehicles数据集使用的图片数量为1 200张,CK+数据集使用的图片数量为1 600张(由于部分类别的人脸表情数据不足,CK+数据集有做数据增强).通过分析表3(图10)与表4(图11),本文提出的改进算法Faster-RCNN_Lightweight Inception-V2(Leaky ReLU)与原算法Faster-RCNN_ Inception-V2(ReLU)的检测精度相当,但检测耗时与模型训练耗时明显减小,改进的轻量化算法具有推广应用的潜力.

图9 不同亮度下的沙滩废弃物检测效果Fig.9 Detection effect under different brightness conditions

3 结 论

针对目标检测的背景环境复杂、检测物体易受部分遮挡、天气以及光线变化等因素的影响,导致检测过程存在提取特征难、检测准确率低、检测耗时长等缺陷,本文基于传统的Faster-RCNN算法提出了以下3点改进:1) 去除Inception-V2模块中步长为1的池化层分支以减少网络计算量.2) 压缩了模块的中间卷积层通道数,达到轻量化特征提取网络的效果.3) 改用Leaky ReLU作为神经网络的激活函数,解决了ReLU激活函数的缺陷.为了验证改进算法的有效性,本文以沙滩废弃物检测为案例进行验证,进行了多组算法与特征提取网络的对比,实验结果表明:1) 与原有算法及其他算法相比,本文提出的改进算法在检测速度及检测精度上都表现出了较为优越的性能,中间层的降维是一种无损或低损压缩,即使维度降低了,仍然可以利用相关性恢复出原有的信息,实际上每一个分支的输出通道数并未改变,通过中间层的降维可以极大减少神经网络的计算量.通过丢弃Inception-V2模块中不重要的分支可以降低网络结构的复杂性、减小过拟合、提升模型的泛化能力,同时可以加快训练速度并提升目标物体的检测速度.2) 相比ReLU激活函数,Leaky ReLU激活函数能使模型取得更好的检测效果.3) 应用于沙滩废弃物检测轻量化改进后的模型与原模型相比,不仅使训练时间减少9.1%,还使检测速度提升10.9%,且检测效果更好.4) 在实际的检测中,可通过调节画面的亮度、对比度等达到更好的检测效果.改进后的目标检测模型的检测速度依然有待提高,同时模型对小尺寸物体的检测效果有待加强.后续研究将继续提高模型的检测速度,并且提升算法对小尺寸物体的检测效果.

表3 BIT-Vehicle数据集检测效果对比Tab.3 Comparison of detection results of BIT-Vehicle dataset

图10 BIT-Vehicle数据集检测Fig.10 Detection of BIT-Vehicle dataset

表4 CK+数据集检测效果对比

图11 CK+数据集检测Fig.11 Detection of CK+ dataset

猜你喜欢

特征提取废弃物轻量化
同步定位与建图特征提取和匹配算法研究
制造了全世界三分之一废弃物的产业
基于ABAQUS的某轻卡车蓄电池支架轻量化
中低速磁浮直线感应电机轻量化研究
重卡车架轻量化设计
新型医疗废弃物焚化舱
水泥回转窑处理废弃物的分析
电子废弃物
一种轻量化自卸半挂车结构设计
一种轻量化自卸半挂车结构设计