首页> 中国专利> 基于改进Mask R-CNN的自动驾驶目标识别方法

基于改进Mask R-CNN的自动驾驶目标识别方法

摘要

本发明属于机器视觉技术领域,涉及基于改进Mask R‑CNN的自动驾驶目标识别方法。该方法包括如下步骤,S1、读取图片信息后对其进行预处理,得到图片的特征图;S2、将特征图输入到区域推荐网络模块,得到推荐框;S3、推荐框通过二分类层判断内部是否存在目标,然后区分推荐框中的目标和背景,利用边界回归确定目标位置,从筛选出的特征图确定ROI区域,再利用非极大值抑制NMS算法去除多余的推荐框得到精确的推荐框;S4、对ROI区域进行处理后,掩码模块利用FCN网络对每个ROI区域进行分割,输出特征图;S5、分类和边框回归模块收集得到ROI区域,ROI区域在此模块中计算分类损失和基于Kullback‑Leibler loss边界框回归损失,利用NMS方法确定精确的推荐框,实现图片中目标的识别和分割。

著录项

  • 公开/公告号CN113111722A

    专利类型发明专利

  • 公开/公告日2021-07-13

    原文格式PDF

  • 申请/专利权人 天津理工大学;

    申请/专利号CN202110287700.3

  • 申请日2021-03-17

  • 分类号G06K9/00(20060101);G06K9/34(20060101);G06K9/32(20060101);G06K9/62(20060101);G06N3/04(20060101);

  • 代理机构34162 合肥晨创知识产权代理事务所(普通合伙);

  • 代理人康培培

  • 地址 300384 天津市西青区宾水西道391号

  • 入库时间 2023-06-19 11:49:09

说明书

技术领域

本发明属于机器视觉技术领域,更具体地,涉及基于改进Mask R-CNN的自动驾驶目标识别方法。

背景技术

汽车自动驾驶技术始于Google的无人驾驶汽车项目,近些年随着深度学习在图像处理中的不断应用,自动驾驶相应得到了快速发展,这使得基于深度学习的道路环境感知方法在自动驾驶中的应用成为可能。然而在自动驾驶领域中,由于道路交通中路况比较复杂,车辆来往疏密不同,车速起伏也相对较大,这就导致对车辆及其周围环境的识别要求相对较高。在自动驾驶中最重要的是视觉感知,当天气状况恶劣,如雨雪、雾霾天气;道路状况复杂,人群车辆往来较密时,这些复杂路况对视觉感知算法仍是一个挑战。

研究表明,基于Mask R-CNN的图像分割方法相比较于其它基于深度学习的图像分割方法如SDS、CFM、MNC等可以实现同一类别中不同个体的检测分割,且在分割准确率方面有了极大的提升。Mask R-CNN是基于CNN(convolutional neural network,卷积神经网络)的目标识别及分割算法的主流框架之一,采用ResNet-101+FPN特征提取网络输入图片进行特征提取,然后对Feature maps上的每个像素点都预测9个anchor boxes再挑选出分类得分高的300个anchor boxes作为最终的ROI区域。最后将ROI区域送入Mask模块、Classification和Boundingbox regression模块判定目标类别并获得精准的目标位置。Mask R-CNN是一种比较接近人类真实视觉感受的计算机视觉算法,在自动驾驶领域有着很高的应用价值。但Mask R-CNN算法存在由于目标边界框模糊导致边缘分割效果不佳以及对小目标的分割效果较差的缺点。

发明内容

针对现有技术存在的不足之处,本发明提出基于改进Mask R-CNN的自动驾驶目标识别方法。该方法通过对Mask R-CNN算法的改进,能够很好地应对复杂多变的交通环境,准确检测分割车辆及其周围的路况,该改进方法在自动驾驶应用中具有良好的适用性。

各类大中小目标的自动检测分割与识别是自动驾驶视觉感知的关键技术,尤其是对来往车辆以及行人。针对比较复杂的道路交通路况,变化的车速对目标分割和识别的高精度要求,本发明提出了基于KL loss的改进Mask R-CNN算法。采用ResNet-101+FPN特征提取网络,实现更好的Feature maps,充分利用提取到的各个阶段的特征;采用估计位置置信度的网络结构KL loss对边界框进行回归,极大地提升由于边界框的模糊而影响边界的分割精确度,且几乎不会增加额外的计算成本。为完善算法在雨雪等恶劣天气中的目标检测分割效果,结合自动驾驶数据集Cityscapes中的8000个图片和MS-COCO数据集中的1942个图片对模型进行训练。实验结果表明该发明算法与Mask R-CNN相比,在分割精度和召回上均有明显提升,在自动驾驶场景中具有良好的泛化能力和实用性。

为实现上述目的,本发明采用如下技术方案:

基于改进Mask R-CNN的自动驾驶目标识别方法,包括如下步骤,

S1、读取图片信息后对其进行预处理,得到图片的特征图;

S2、将特征图输入到区域推荐网络模块,得到推荐框;

S3、推荐框通过二分类层判断内部是否存在目标,然后区分推荐框中的目标和背景,利用边界回归确定目标位置,从筛选出的特征图确定ROI区域,再利用非极大值抑制NMS算法去除多余的推荐框得到精确的推荐框;

S4、对ROI区域进行处理后,掩码模块利用FCN网络对每个ROI区域进行分割,输出特征图;

S5、分类和边框回归模块收集得到ROI区域,ROI区域在此模块中计算分类损失和基于Kullback-Leibler loss边界框回归损失,利用NMS方法确定精确的推荐框,实现图片中目标的识别和分割。

如权利要求1所述的基于改进Mask R-CNN的自动驾驶目标识别方法,其特征在于,所述步骤S1具体是首先对图片进行放缩处理,然后将其输入到特征提取网络模块的残差网络101+特征金字塔特征提取网络,再经过全卷积网络后,提取到图片的特征图。

本技术方案进一步的优化,所述步骤S2中区域推荐网络模块运用滑动窗遍历特征图,每个像素预测出多个锚框,产生推荐框。

本技术方案更进一步的优化,所述滑动窗的大小为3*3。

本技术方案更进一步的优化,所述每个像素预测的锚框尺寸有6种,6种尺度为{2,4,8,16,64,256},比例有9种{0.3:1,0.5:1,0.7:1,0.9:1,1:1,1.5:1,2:1,2.5:1,3:1},共54个锚框。

本技术方案更进一步的优化,所述锚框基准窗设置为16*16,因此锚框的面积S

S

锚框的长宽比为a:1,则每个锚框的宽W

本技术方案进一步的优化,所述步骤S3中NMS算法的阈值筛选法公式如下,

式中,B={b

本技术方案进一步的优化,所述步骤S4中对ROI区域进行处理具体是对ROI区域进行双线性插值对齐操作,将其尺寸固定成统一大小。

本技术方案进一步的优化,所述步骤S5通过全连接层到目标物体分类结果和边界回归的偏移量,如式(5)(6)所示,

式(5)中,

式(6)式中,x

本技术方案进一步的优化,所述步骤S5定义边界回归损失为预测分布和真实标定框分布之间的KL距离,并且将边界框位置和边界框位置的标准差一起用于评估KL loss,并用于边界框的回归。

区别于现有技术,上述技术方案具有如下优点:

A)自动驾驶技术对微小目标和被遮挡物体的检测正确率、漏捡率要求更加苛刻。本发明中Feature extraction network的特征提取网络为ResNet-101+FPN,ResNet采取跨层连接,使得训练更加容易,FPN则实现更好的Feature maps融合。它通过由下向上的卷积神经网络得到feature maps,再采用自顶向下和横向连接的方式将feature maps相融合,这样融合之后每层的网络都具有深层次和浅层次的特征,可以充分保障提取到各个阶段的特征。

B)配合自动驾驶的视野要求,并结合自动驾驶中目标物体小、数量多的情况,修改Region proposal network模块中anchor boxes的比例与尺度。修改后的anchor boxes提高了RPN对目标的检测能力,尤其是在小目标的检测分割中表现出更好的召回率。

C)原Mask R-CNN算法在分割任务中依赖区域信息,采用平均交叉熵损失函数,利用边界框的回归定位目标,这种方式会由于边界框的模糊而影响边界的分割精确度,从而影响车辆在自动驾驶过程中的判断决策和其动作的及时有效性。本方法采用估计位置置信度的网络结构KL loss对边界框进行回归。这种损失函数可以极大的提升多种架构的准确度,且几乎不会增加额外的计算成本,提高边界框模糊小目标的分割精确度,从而在自动驾驶过程中能够做出及时有效的判断决策。

D)采用分阶段训练的方式训练网络模型,针对每一阶段做出参数上的调整,避免了无效的训练,节省显存。

E)训练集采用自动驾驶数据集Cityscapes和MS-COCO的混合数据集,有效提升了模型在多种天气状况及复杂交通环境下的检测分割精度和泛化能力。

附图说明

图1为改进Mask R-CNN网络结构图;

图2为ResNet-101+FPN特征提取网络示意图;

图3为估计边界框位置置信度KL loss网络结构图;

图4为Precision-Recall关系曲线图;

图5为在下雪天气干扰下的检测分割效果图;

图6为在下雨天气干扰下的检测分割效果图;

图7为复杂道路场景中对各类车辆以及行人的分割效果图;

图8为目标车辆有遮挡、截断的分割效果图;

图9为目标车辆不同程度遮挡或者目标较小情况下的分割效果图;

图10为在车辆和行人比较集中的十字路口下的分割效果图。

具体实施方式

为详细说明技术方案的技术内容、构造特征、所实现目的及效果,以下结合具体实施例并配合附图详予说明。

本发明提出基于改进Mask R-CNN的自动驾驶目标识别方法,它包括以下步骤:

S1、读取图片信息后对其进行预处理,首先将图片缩放至1600*700,然后进入特征提取网络(Feature extraction network)模块中的残差网络101+特征金字塔(ResNet-101+FPN)特征提取网络,如图1所示,为改进Mask R-CNN网络结构图。经过ResNet-101+FPN的Conv1、Conv2_x、Conv3_x、Conv4_x共91层全卷积网络后,提取到图片的特征图(featuremaps)。

S2、特征提取网络模块输出的特征图进入区域推荐网络(Regionproposalnetwork)模块,如图2所示,ResNet-101+FPN特征提取网络示意图。Regionproposal network模块运用3*3大小的滑动窗遍历Feature maps,每个像素预测出多个锚框(anchor boxes),产生推荐框(Proposal boxes)。为了使锚框基本覆盖目标物体的各种尺度和形状,经过大量实验验证后,该发明设定每个像素预测出的锚框尺度有6种,6种尺度为{2,4,8,16,64,256},比例有9种{0.3:1,0.5:1,0.7:1,0.9:1,1:1,1.5:1,2:1,2.5:1,3:1},共54个锚框。本发明将锚框的基准窗设置为16*16,因此锚框的面积S

S

锚框的长宽比为a:1,则每个锚框的宽W

S3、生成的推荐框再通过二分类(Softmax)层判断内部是否存在目标,然后区分推荐框中的目标和背景,利用边界框回归(BBoxes regressive)确定其位置,最终由筛选出的约300个推荐框中确定最终的感兴趣区域(Region of Interest)ROI区域。再利用非极大值抑制(Non-Maximum Suppression)NMS算法去除多余的目标框得到精确的推荐框,NMS算法的阈值筛选法如式(4)所示。

式中,B={b

S4、对ROI区域进行双线性插值对齐(ROIAlign)操作,将其尺寸固定成统一大小。

S5、掩码(Mask)模块利用FCN网络每个ROI区域进行分割,输出K个m×m的特征图,即K个类别的m×m的二值Mask,得到m×m的空间布局,从而获取目标的分割掩码。

S6、分类(Classification)&Boundingbox regression模块收集得到ROI区域,ROI区域在此模块中计算分类损失和基于Kullback-Leibler loss(KL-loss)边界框回归损失,如图3所示,为估计边界框位置置信度KL loss网络结构图。再通过全连接层(FC layers)得到目标物体分类结果和边界回归的偏移量,如式(5)(6)所示。

式(5)中,

建立训练数据集:训练数据集选用自动驾驶数据集Cityscapes中的8000个训练图像,包括不同城市不同驾驶的条件下街道场景的真实图像数据。为了提高训练模型在恶劣天气条件及复杂交通条件下的目标分割精度,加入MS-COCO数据集中的1942个训练图片,天气条件包括“snow”,“rain”,“sunny”;复杂交通条件包括“车流量大”和“车辆拥挤”等。在实验中,为了配合混合数据集用于改进算法中,将其制作成MS-COCO数据集的格式。

训练网络模型:对Feature extraction network模块中的ResNet-101+FPN在ImageNet中进行训练,将训练后得到的网络模型作为预训练模型,混合自动驾驶数据集做fine-tuning;训练分为三个阶段:第一阶段为Training network heads;第二阶段为Fine-tuning ResNet stage 4and up;第三阶段Fine-tuning all layers。设置算法学习率为0.01,在迭代过程中,设置参数使得学习率递减。在初始化的过程中,利用随机高斯初始化处理全连接层的权重。将标准差和平均值分别设置为0.0001和0,使得KL loss和标准的smooth L

本发明算法改进的目的是完善Mask R-CNN算法的不足,并使算法符合自动驾驶任务的技术指标。Region proposal network模块中anchor boxes的比例与尺度比较适合中大型目标,对于小目标的检测有一定的不足;由于特征提取网络所提取的特征不完整,导致目标漏检的问题;以及在自动驾驶场景下模型泛化能力差的问题。

本发明优选一实例,基于改进Mask R-CNN的自动驾驶目标识别方法,它包括以下步骤,

(1)输入图片首先缩放至1600*700,然后经过ResNet-101+FPN特征提取网络的Conv1、Conv2_x、Conv3_x、Conv4_x后得到图片Feature maps,如图2所示,为ResNet-101+FPN特征提取网络示意图。

(2)一个3*3大小的滑动窗,以中心点的锚点为基准遍历(1)中得到的每一个Feature maps像素,每个锚点可以预测出6中尺度{2,4,8,16,64,256}和9种比例{0.3:1,0.5:1,0.7:1,0.9:1,1:1,1.5:1,2:1,2.5:1,3:1},将这54个anchor boxes作为初始的检测框。其中最大的anchor boxes是1774*590,最小的anchor boxes是56*16,因此54个anchorboxes基本覆盖了目标物体的各种尺度和形状。再经过Softmax层判断内部是否存在目标,区分Proposal boxes中的目标和背景,利用BBoxes regressive确定其位置,然后从筛选出的约300个Proposal boxes中确定最终的ROI区域。最后利用NMS算法去除多余的目标框得到精确的Proposal box。

(3)综合(1)中得到的Feature maps和(2)中得到的Proposal box送入Mask模块&Classification&Boundingbox regression模块中,Mask模块利用FCN网络对每个ROI区域进行分割,得到目标的分割掩码;Classification&Boundingbox regression模块通过KLloss和标准的smooth L

(4)建立训练数据集:训练数据集选用自动驾驶数据集Cityscapes中的8000个训练图像,包括不同城市不同驾驶的条件下街道场景的真实图像数据。为了提高训练模型在恶劣天气条件及复杂交通条件下的目标分割精度,加入MS-COCO数据集中的1942个训练图片。在实验中,为了配合混合数据集用于改进算法中,将其制作成MS-COCO数据集的格式。

(5)ResNet-101+FPN在ImageNet中进行训练,将训练后得到的网络模型作为预训练模型,混合自动驾驶数据集做fine-tuning;训练分为三个阶段:第一阶段为Trainingnetwork heads;第二阶段为Fine-tuning ResNet stage 4and up;第三阶段Fine-tuningall layers.设置算法学习率为0.01网络模型训练:对Feature extraction network模块中的,在迭代过程中,设置参数使得学习率递减。在初始化的过程中,利用随机高斯初始化处理全连接层的权重。将标准差和平均值分别设置为0.0001和0。

实验结果与分析

实验环境与参数

本发明的实验环境为Ubuntu16.04的操作系统下进行,服务器采用Intel XeonSilver 4110 2.10GHz的8核CPU,配有2个Hynix 64GB DDR4-2666MHz内存,且有2块GTX2080TI 11G的显卡。在此基础上搭建Tensorflow深度学习框架,并用Python语言编程实现网络的训练与测试。

定性和定量分析模型精度

目标检测识别任务中公认的评价的指标是Precision-Recall关系曲线、AP(Interpolated Average Precision)值和mAP(mean Average Precision)值。

Precision-Recall关系曲线就是以Precision为纵坐标,Recall为横坐标而描绘的曲线,通过调节阈值、观察曲线变化来定性评估系统对每类物体分类情况的优劣。

Precision-Recall关系曲线中的Precision(精确率)反映了被正确识别的目标中,真阳性(True positives)所占比例,计算公式如式(7)所示,

式中,TP:True positives,真阳性。FP:False positives,假阳性。

Recall(召回率)反映某类被正确识别的目标物体占该类物体的比重,计算公式如式(8)所示。

其中,TP:True positives,真阳性。FN:False negatives,假阴性。

如图4所示,为对本算法进行定性分析的Precision-Recall曲线。Precision-Recall关系曲线图中右上角的各类物体曲线均呈现凸起状,说明本算法的识别效果良好、精确度高。

本发明使用各类物体AP(Interpolated Average Precision)值定量分析模型精度;使用mAP(mean Average Precision)值评价本算法在数据集上的检测识别效果。AP(Average Precision)值是Precision-Recall关系曲线下的面积,使用它来定量分析模型精度。本发明为了避免PR曲线不稳定而导致AP值较低的问题,使用“Interpolated AveragePrecision”的计算方法,即每次使用的阈值Precision中,采用最大值的Precision值与Recall值相乘,再将所有阈值下求得的乘积值累加,如式(9)所示。

其中,P为Precision。R为Recall。

在图片的多目标检测和识别中,使用mAP值来衡量模型在全部类别的物体的分类任务中的好坏。mAP是多个类别物体AP值的平均值,其值越大检测精度越高,表明算法的性能越好。

数据集为混合自动驾驶数据集,衡量指标为AP

表1大中小三类目标AP值对比

如表2为本发明算法在不同网络结构下的的mAP值对比。

表2不同网络结构下的mAP值对比

由实验结果不难得出以下结论:在基本网络结构ResNet-101中加入FPN网络与原先不加FPN网络相比,本算法的网络结构在mAP值上有了明显的提高;而ResNeXt-101+FPN网络结构搭配虽然能够在mAP值上提高的更多,但是由于网络参数更多,在运行速度上会有一定的局限性,不能满足自动驾驶对快速反应的要求。

实验结果

本发明算法在自动驾驶混合数据集上训练后的测试结果如图5~6所示。图5、图6为训练网络模型在下雪天和下雨天天气干扰下的检测分割效果。本发明算法在自动驾驶混合数据集上训练后的测试结果如图7~9所示。从图7可以看出本算法在复杂道路场景中对各类车辆以及行人的分割效果良好;在图8中,最左侧目标车辆有遮挡,但本发明算法仍然可以精确的锁定目标车辆并对其进行分割;对图9中左侧车辆因树木遮挡而模糊不清的目标车辆,分割算法仍可以克服遮挡,准确检测识别目标车辆。图10展现了在车辆和行人比较集中的十字路口,本发明算法的分割算法精度也未下降,同时还能准确分割自行车与行人。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括……”或“包含……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的要素。此外,在本文中,“大于”、“小于”、“超过”等理解为不包括本数;“以上”、“以下”、“以内”等理解为包括本数。

尽管已经对上述各实施例进行了描述,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改,所以以上所述仅为本发明的实施例,并非因此限制本发明的专利保护范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号