基于一种改进的Faster-RCNN 的公路中央隔离带绿化识别
2022-11-01卜华雨杨国平
卜华雨,杨国平
(201620 上海市 上海工程技术大学 机械与汽车工程学院)
0 引言
对于绿化隔离带的识别可分为对隔离带路肩的识别与对隔离带中绿化种类的识别,根据检测识别出的不同绿化植被进行不同方式的浇灌。目前基于自动驾驶对于目标识别的研究大多针对行人、车辆、车道线等安全因素开展。国内外当前主流研究方法分为单阶段和双阶段2 种。双阶段指检测算法需要分2 步完成,首先需要获取候选区域,然后进行分类,比如R-CNN 系列;单阶段检测可以理解为一步到位,不需要单独寻找候选区域,典型的有SSD 和YOLO 算法等[1]。
本文研究了一种对公路隔离带绿化进行识别的结合不感兴趣区域的Faster-RCNN 改进算法,使用改进的RPN 网络替代原有网络以及不感兴趣区域,可实现对不同绿化进行识别,为无人驾驶浇灌车转换浇灌模式提供支持。经验证,该改进算法可有效完成检测任务。
1 算法结构
Ross 等2014 年提出的基于区域的卷积神经网络方法 RCNN[2],成为基于区域提议方式进行识别的典型方案。在检测阶段,RCNN 分4 个步骤:(1)使用视觉方法(如 Selective Search)生成大量候选区域;(2)对每个候选区域用CNN 进行特征提取,形成高维特征向量;(3)将这些特征量送入一个线性分类器计算属于某个类别的概率,用于判断所包含对象;(4)对目标外围框的位置和大小进行精细回归[3]。
传统的Faster R-CNN 首先需要经过VGG-16网络,通过卷积网络中各个卷积层卷积核的卷积后将生成的具有一系列特征的特征层输入到RPN 网络中[4]。如图1 所示,传统的Faster R-CNN 中的RPN 网络有5 个特征层(Feature Layer),各自又有不同的高度、宽度和厚度。其中最深层的特征层L5 通过3×3 卷积后最终得到了候取框提取层Lc,最后通过1×1 的卷积送入Softmax 分类器并进行边框回归。
图1 传统RPN 网络结构Fig.1 Traditional RPN network structure
本研究面向的对象是浇灌养护车辆,需要保证识别精度,而传统RPN 网络的特征提取因为要保证速度,所以大大削弱了其特征细节以及其包含的信息量,这也使得最深层输出特征层包含的图像精度以及信息细节丢失过多,影响对目标的识别以及定位。故本研究的思路是通过将次最深特征层进行处理后与最深层特征层进行结合,得到新的候取框提取层,从而提高目标识别精确度以及定位的可信度。
本研究通过将次最深特征层同样进行3×3 的卷积并进行L2正则化得到新的特征层Lc2,如图2所示。L2正则化可理解为它对于大数值的权重向量进行严厉惩罚,倾向于更加分散的权重向量[5]。进行L2正则化处理的目的是提高模型的泛化能力,降低由于特征细节过多导致在训练中过拟合现象的发生风险[6]。新得到的特征层Lc2将与最深层特征层卷积生成的特征层Lc1的特征信息进行融合,从而得出新的候取框提取层Lc3[7]。这种方法既可以将浅层次特征层与深层次特征层的特征信息进行融合,也不会增加特征选取框候取层的厚度。
图2 改进的RPN 网络结构Fig.2 Improved RPN network structure
在模型训练过程中,在候取框提取层使用划窗处理提取特征框,根据Faster R-CNN 中所述,使用不同大小的锚点框(Anchor box)对检测目标进行框取,并计算其与目标真实选框的交并比(IoU),将其中大于0.7 的定为正样本,反之定为负样本进行训练[8]。
式中:Sdetection——检测框区域面积;Ssetting——标定框区域面积;Sdetection∩Ssetting——检测框与标定框所交区域面积。
在验证模型训练成果时,模型将会检测出许多测试图片集中图片所包含的众多感兴趣区域(ROI),每个待检测目标也会生成多个感兴趣区域,因而为了使得模型针对某一目标最终检测输出的感兴趣区域精准且唯一,大多目标检测模型都使用了非极大值抑制(Non-Maximum Suppression,NMS)的方法进行筛选。但其算法有一大缺点,由于其将与得分最高ROI 交并比,大于某个阈值的所有ROI 都直接打零分,所以其筛选过程较为粗暴。由于本研究针对检测对象及检测角度的背景,使检测出的不同目标框往往有较多重合,这意味着其交并比会较大,故使用非极大值抑制会导致目标检测的不全面,产生漏检、少检现象,故本文选择了高斯非极大值抑制(Soft NMS)进行感兴趣区域的筛选,该算法相较于NMS,舍弃了将大于阈值的ROI 分数归零的操作,取而代之的是以稍低的分数代替。其算法流程见表1。
表1 Soft NMS 算法流程图Tab.1 Flow chart of Soft NMS algorithm
Soft NMS 打分标准函数为:
式中:si——ROI 的得分;M——当前得分最高的ROI;bi——第i个待筛选ROI;σ——高斯权重,通常取0.3。
2 实验准备
2.1 数据集与数据预处理
目前Faster-RCNN 大部分运用在车辆识别以及行人识别,其检测效果得到广泛验证。本研究主要针对城市公路中央绿化隔离带,运用Faster-RCNN 进行目标检测与识别,通过对不同绿化植物的识别,达到浇灌车辆的浇灌方式控制。
本研究数据集的采集,驾车行驶于上海松江区某公路,使用摄像机对沿途中央绿化隔离带进行摄录,最后通过基于Python 语言Tensorflow 平台下OpenCV 进行图像提取,获得一份数量可观的数据集。通过OpenCV 软件截取的图片取自高清摄像机,需要对图片数据进行预处理,适当缩小图片像素及图片大小,最后制作完成一份合格、合适的图像数据。
3 目标检测实验
实验硬件采用Z390 搭配Intel i9-9900k CPU,32 G 内存以及NVIDIA2070 显卡,操作系统为Windows 10;编程采用Tensorflow1.8,使用Python语言编译。实验的样本数据来自作者使用OpenCV对本地公路中央绿化隔离带录像的截取图像,并随机将其中75%的数据作为训练集,剩余25%数据作为测试集。在训练中需要提前将训练集图像中的各个检测目标用矩形框进行框取,本文主要对象为树木(tree)、灌木(bush)以及花卉(flower)。如图3 所示,在迭代次数达到5 000 次后,mAP 曲线震荡幅度减小,趋于稳定。
图3 mAP 随迭代次数的变化曲线Fig.3 mAP variation curve with the number of iterations
此外,由于道路两旁行道树对隔离带植被检测存在干扰,故根据图像集合中中央绿化隔离带位于图片所在位置以及误检测行道树的位置,选择将摄像头所摄图像左上角灰色矩形区域设置为不感兴趣区域(Region of non-interest,RONI),如图4 所示。
图4 不感兴趣区域(RONI)Fig.4 Region of No Interest (RONI)
图5 为采用改进RPN 网络以及不感兴趣区域(RONI)的Faster R-CNN 算法对测试集中图像进行目标识别的结果,图6 为仅使用了改进的RPN网络的Faster R-CNN 算法对测试集中图像进行目标识别的结果。
图5 未使用不感兴趣区域的目标识别结果Fig.5 Target recognition result without using regions of no interest
图6 使用了不感兴趣区域的目标识别结果Fig.6 Target recognition results using regions of no interest
结果显示,使用了不感兴趣区域的改进的Faster R-CNN 算法在对中央绿化隔离带植被的检测中很好地避开了道路两旁的行道树干扰,同时对植被种类的识别也较为准确且定位精准。表2 对比了二者与传统Faster R-CNN 算法的检测准确率和召回率,不难看出,使用了RONI 的模型准确率得到了提升,降低了误检率。
表2 3 种方法的检测准确率和召回率Tab.2 Detection accuracy and recall rate of the three methods
4 结论
本文提出了结合不感兴趣区域(RONI)的改进Faster R-CNN 算法对城市公路中央绿化隔离带的识别方法。试验表明,该模型相较于传统Faster R-CNN 算法对于指定目标在牺牲一定检测时间的代价下得到了检测精度的一定提升。但针对城市公路中央绿化隔离带,目前仅可对较少的几个常见绿化植被进行识别,面对更为复杂的识别环境时,模型的检测类别以及添加更多类别后的识别精度还有待提高。