一种自动驾驶场景中小且密集的交通标志检测方法与流程

文档序号:12864159阅读:2948来源:国知局
一种自动驾驶场景中小且密集的交通标志检测方法与流程

本发明涉及特征提取、特征拼层和物体检测技术领域,具体的说,是涉及一种自动驾驶场景中小且密集的交通标志检测方法。



背景技术:

近年来,自动驾驶是人工智能领域的热点研究和应用。在自动驾驶场景中,交通标志的检测和识别对行车周围环境的理解至关重要。精确的检测对后续识别,辅助定位和导航起着决定性的作用。例如,通过交通标志检测识别限速标志来控制当前车辆的速度;将交通标志嵌入到高精度地图中,对定位导航起到关键的辅助作用等。交通标志的种类众多,大小、角度不一,本身就很难做到精确检测,并且在真实的行车环境中,拍摄到的交通标志还存在着很多的问题。例如在场景较为复杂的十字路口,存在着很多密集的交通标志,也可能存在很多颜色、形状与交通标志相似的物体,它们会干扰交通标志的精确检测;交通标志的颜色还会受到光照和天气的影响,白天强烈的光照会影响交通标志的检测,夜晚也会受到路灯、车尾灯光反射的影响;拍摄到的交通标志还会受到建筑物、树木、行人等的遮挡;交通标志长期暴露在自然环境下,经受风吹日晒雨淋,与空气中的污染物质发生化学反应,会使交通标志褪色变形。拍摄的图片中存在大量较小的交通标志。如何检测到图片中大量小且密集的交通标志是一个重点,也是一个难点。

在过去的几年里,得益于卷积神经网络的发展,基于深度学习的物体检测方法得到了很大的提升。现有的基于深度学习的物体检测方法大致可以分为两大类:一类是基于候选框提取的物体检测算法,也就是说,首先通过一些提取候选框的方法来产生候选目标框,然后对这些候选框提取特征进行分类,再通过边框回归算法对物体的位置进行修正,最后通过非极大值抑制算法来去除同一物体重复的候选框,保留物体最精确的位置。r-cnn物体检测框架是基于候选框提取的物体检测算法的经典代表之作。2012年,krizhevsky等人设计卷积神经网络来做图像分类,在2012年大规模图像视觉挑战赛(ilsvrc)上,使用该卷积神经网络将top-5的错误率降到了15.3%,比使用传统方法做分类的第二名低了大约11%。rossgirshick等人认为卷积神经网络在图像分类上取得了很好的效果,何不把它与物体检测结合起来呢。于是他们提出了r-cnn(基于候选框的卷积神经网络)目标检测框架,将卷积神经网络和物体检测结合到了一起。r-cnn首先通过selectivesearch(选择性搜索)算法来提取大约2000个候选框,把它们缩放到同样大小输入到卷积神经网络来提取特征,再用提取到的特征训练一个较好的svm(支持向量机)来做分类,然后再使用边框回归算法对物体的位置进行修正,最后通过非极大值抑制找到物体最精确的位置。r-cnn的训练过程分为多个阶段,且要保存中间特征,浪费时间和空间。spp-net(空间金字塔网络),fastr-cnn(快速基于候选框的卷积神经网络)在此基础上逐步做了改进,分别提出候选框共享卷积网络,多任务训练网络,将候选框分类和边框回归同时加入到网络中来训练,除去候选框的提取,网络的训练过程是端到端的,候选框的提取成为了限制物体检测速度的瓶颈。为了解决这个问题,fasterr-cnn(更快基于候选框的卷积神经网络)提出了rpn(候选框提取网络)来提取候选框,rpn和fastr-cnn结合起来,使得整个网络的训练过程都是端到端的,这一策略使得物体检测的速度和精度又有了很大的提升。为了进一步解决图像分类时的旋转不变性和物体检测时的位置的旋转可变性之间的矛盾,r-fcn(基于候选框的全卷积网络)将roipooling(候选框下采样)层后移,提出位置敏感权重图策略使得网络变成一个全卷积网络,不再有全连接层,进一步加快了目标检测的速度和准确率。另一类基于回归方法的物体检测框架的典型代表是yolo和ssd,它们不必先提取候选框,再进行候选框的分类和位置调整,而是直接对图像进行网格划分,在每个网格对应位置回归出目标位置和类别信息,它们网络训练的整个过程都是端到端的,检测速度非常快,完全可以达到实时的要求,但它们的检测精度还有待提高,尤其是对于小物体的位置检测。



技术实现要素:

本发明的目的是为了克服现有技术中的不足,提供一种自动驾驶场景中小且密集的交通标志检测方法,本发明基于r-fcn物体检测框架,使用具有浅层特征的vgg16作为r-fcn的主体特征提取网络,对vgg16网络进行修改,提出降低特征图缩小倍数、特征拼层的策略,使得小物体的检测得到了很大的提升,很好地解决了自动驾驶场景中交通标志的检测问题。

本发明的目的是通过以下技术方案实现的:

一种自动驾驶场景中小且密集的交通标志检测方法,包括以下步骤:

(1)采集车辆行车记录仪拍摄的视频数据,从中提取图片,对图片中的交通标志进行标注,形成由<图像,目标框>对构成的交通标志数据集;

(2)数据预处理,对所述交通标志数据集进行预处理;

(3)使用浅层网络vgg16作为r-fcn物体检测框架的主体网络;

(4)改进vgg16网络模型,采用浅层特征,缩小特征图下降倍数,训练rpn网络提取候选框;

(5)改进vgg16网络模型,将浅层同组特征进行特征组合,输入到r-fcn后续的检测框架中,对候选框进行分类和边框回归,最终检测到图片中的所有交通标志。

接下来对本发明交通标志检测方法的五个步骤进行详细介绍:

步骤(1)的过程如下;

a.车辆行车记录仪拍摄了行车过程中的道路状况,保存了大量的视频数据,从这些视频数据中按照一定的时间间隔来提取视频帧,或者人工挑选视频帧,并对这些视频帧进行编号,构成图片数据集合其中nd是数据集合img中的图像总数;

b.每张图片中都会存在大量的交通标志,需要人工把图片中的所有交通标志的具体位置用矩形框标注出来,每一个交通标志对应的位置数据是boundingbox=(x1,y1,x2,y2),其中x1,y1是交通标志在图片中对应的矩形框的左上角位置,x2,y2是交通标志在图片中对应的矩形框的右下角位置;

c.通过现有的图像集合img以及每个图像对应的所有的交通标志位置数据集合boundingboxes构成最终的交通标志数据集dataset={img,boundingboxes}。

步骤(2)对交通标志数据集存在的问题进行预处理包括:

a.行车记录仪在拍摄行车道路环境时会受到很多因素的影响,由于光照,天气,运动抖动等原因,使得拍摄的图像中会存在着一定的噪声,需要对这些噪声进行一些预处理。通过图像增强、图像均衡、图像去噪等算法,将图像的光线均衡化,使得图中的交通标志变得更加清晰。

b.rpn网络提取候选框时采用了平移可变性的anchors(锚点)机制,对最后一层卷积层的每一个特征点预测出9个anchors,它们的宽高比和尺度分别是1:2,1:1,2:1和1282,2562,5122,交通标志数据集中存在大量较小的交通标志,交通标志的类型有很多种,也就存在着很多的宽高比,因此需要对所有交通标志目标框的宽高比进行统计,通过聚类的方法找到目标框的3个宽高比中心点,由于交通标志数据集中存在大量较小的交通标志,本发明增加了一个较小的acnhor尺度642,使小物体的检测变得更加准确。

步骤(3)中:由于深层网络googlenet,resnet-50,resnet-101对于图片分类取得了很好的效果,resnet-50,resnet-101作为r-fcn物体检测框架的主体网络对于较大物体的检测效果还不错,但是对于小物体的检测效果并不是很好。深层网络最后一层的卷积层特征神经元感受野比较大,特征比较粗糙,对于小物体的定位比较困难。因此,针对较小交通标志的检测,本发明采用层数不是很深的vgg16来作为r-fcn物体检测框架的主体网络;vgg16网络有13个卷积层,分别是{conv1_1,conv1_2,conv2_1,conv2_2,conv3_1,conv3_2,conv3_3,conv4_1,conv4_2,conv4_3,conv5_1,conv5_2,conv5_3},每个卷积层的卷积核大小都是3×3,步长是1,这13个卷积层可以划分为5组,每一组特征图的尺度大小都是相同的,每一组卷积层后面都接了一个大小为2×2,步长为2的下采样层,即{pool1,pool2,pool3,pool4,pool5},只把vgg16卷积层conv1_1到conv5_3层的特征来作为r-fcn的主体框架,并在此基础上对vgg16网络进行改进,使得小物体的检测更加准确。

步骤(4)中,虽然vgg16作为r-fcn物体检测的主体网络对于小物体的检测效果有一定的提升,但是通过分析交通标志数据集中目标框的短边范围,发现交通标志数据集中存在大量短边范围小于16的目标框,vgg16从卷积conv1_1到卷积conv5_3中间经过了4次步长为2的下采样操作,使得最后一层特征图的边长相比原始图片缩小了16倍,也就是说最后一层卷积特征图中的一个特征点对应原始图片中16×16个像素点,rpn网络在conv5_3上进行候选框的提取,提取出的边长小于16的候选框被过滤掉了,因为边长小于16的候选框在和最后一层卷积层作映射时无法找到对应的位置,这就使得数据集中的边长小于16的交通标志无法被更好地检测出来,因此对vgg16进行改进。

该步骤(4)中使用了缩小特征图下降尺度的策略,将vgg16网络的卷积层特征conv5_1,conv5_2,conv5_3和卷积conv4_3层后面的下采样层pool4去掉,使用l2normalizelayer对conv4_3层的特征进行标准化,然后输入到后续的rpn网络中来提取候选框。从conv1_1到con4_3中间经过了3次步长为2的下采样操作,原始图片到conv4_3层边长相当于缩小了8倍,这样边长在8到16范围内的小物体得到了更好的检测。

步骤(5)中由于rpn网络产生的边长较小的候选框和最后一层卷积特征作映射后得到的特征图较小,只用conv4_3层输入到r-fcn后续的网络中来做分类和边框回归特征不充足,对于小物体位置定位来说检测效果不是很好,还有待提升。为了能够丰富小物体的特征信息,使得对于小物体的位置定位更加精确,该步骤中将vgg16同组的卷积conv4_1,conv4_2,conv4_3分别通过l2normalizelayer标准化,然后再将它们拼接起来,称之为组合特征,输入到后续的网络中来做分类和边框回归,这一改进能够检测到更多的小物体,小物体的定位精确度也得到了一定的提升。

根据第(3)、(4)、(5)步,设计好训练模型的网络配置文件train.prototxt,test.prototxt,solver.prototxt,将采集到的交通标志数据集按照pascalvoc数据集的格式进行处理,并放置到相应的文件夹下,注意各个文件存放的路径,调用训练模型的脚本文件开始训练模型,每迭代10000保存一个训练模型,最后从中挑选测试最好的模型来作为最终的检测模型,来检测图片中的所有的交通标志。

与现有技术相比,本发明的技术方案所带来的有益效果是:

现存的一些物体检测框架,对于较大物体的检测效果还不错,但是对于存在较多密集的小物体的图片而言,检测效果很差,会出现检测不到,定位不准确的问题。而本发明在r-fcn物体检测框架上做了改进,使用浅层的vgg16网络来代替深层的resnet-50,resnet-101网络,并对vgg16网络进行了改进,为了能够检测到边长小于16的物体,去掉了vgg16网络的第5组卷积层特征conv5_1,conv5_2,conv5_3,同时也去掉了卷积层conv4_3后面的下采样pool4层,增大了特征图的分辨率,rpn在提取候选框的时候可以保存边长范围在8到16个像素的小的候选框。将经过l2normalizelayer标准化后的卷积层conv4_1,conv4_2,conv4_3通过concatelayer(连接层)拼接到一起,输入到r-fcn后续的网络中,在最后一个卷积层和rpn提取出来的候选框作映射进行分类和边框回归。此外通过实验证明本发明方法的检测效果非常不错,小物体的定位也非常准确,为后续交通标志的识别带来了很大的便利。

附图说明

图1是本发明使用的物体检测框图;

图2具体实施过程中采集到的交通标志数据集中的原始图片;

图3-1、3-2和3-3是对不同模型检测结果的对比图。

具体实施方式

下面结合附图对本发明作进一步的描述。

本实施例选取一幅行车记录仪拍摄的图像作为待检测的图片,使用本发明提出的物体检测框架检测出图片中所有的交通标志,并将它们用矩形框框选出来。

1.采集车辆行车记录仪拍摄的视频数据,从中提取图片,对图片中的交通标志进行标注,形成由<图像,目标框>对构成的交通标志数据集:

(1)从车辆行车记录仪拍摄的视频中按照一定的时间间隔来提取视频帧,或者人工挑选视频帧,并对这些视频帧进行编号,构成图片数据集合img={image1,…,imagend},其中nd是数据集合img中的图像总数;

(2)将图片中所有交通标志的具体位置用矩形框标注出来,每一个交通标志用四个数值来表示,boundingboxs=(x1,y1,x2,y2),其中x1,y1是交通标志在图片中对应的矩形框的左上角位置,x2,y2是交通标志在图片中对应的矩形框的右下角位置;

(3)通过现有的图像集合img以及每个图像对应的所有的交通标志位置数据集合boundingboxes构成最终的交通标志数据集dataset={img,boundingboxes}。

2.数据预处理,对交通标志数据集存在的问题进行预处理;

(1)对图片进行去噪处理,通过图像增强、图像均衡、图像去噪等算法,将图像的光线均衡化,突出关键信息,使图片中的交通标志更容易被检测出来。

(2)rpn网络提出了anchor(锚点)机制,训练网络时需要设置anchor的尺度和宽高比,本实施例设置了4种anchor尺度,即64×64,128×128,256×256,512×512;anchor宽高比设置需要统计人工标注的boundingboxs也即groundtruth(真实目标框)的宽高比,并通过聚类方法得到3个宽高比中心点,设置为anchor的3个宽高比。假设总共有n个boundingbox目标框:

center=kmeans(ratios,3),ratios={ratio1,ratio2,…,ration}(3)

公式(1)是训练集标注的所有目标框的集合,公式(2)是计算一个boundingbox的宽高比,公式(3)是对n个boundingbox的宽高比通过k-means算法进行聚类,得到3个中心点,center(聚类中心点)是长度为3的向量,表示3个聚类中心点。

3.使用浅层网络vgg16作为r-fcn物体检测框架的主体网络:

修改r-fcn的网络结构,将r-fcn的主干网络resnet-50或resnet-101替换为vgg16网络的卷积层。深层网络检测较大物体的准确度比较高,但对于小物体的定位比较困难。因为深层网络如resnet-50,resnet-101最后一层卷积层的神经元感受野比较大,对于较小的物体无法映射到最后一层卷积层上或者位置定位不准确,因此小物体的检测精度比较差。本发明选用层数不是很深的vgg16网络。

4.改进vgg16网络模型,采用浅层特征,缩小特征图下降倍数,训练rpn网络提取候选框:

vgg16网络总共有13个卷积层,分别是{conv1_1,conv1_2,conv2_1,conv2_2,conv3_1,conv3_2,conv3_3,conv4_1,conv4_2,conv4_3,conv5_1,conv5_2,conv5_3},可以分为5组,前两组每组有2个卷积层,后三组每组有三个卷积层,前4组每组卷积层后面接一个大小为2×2,步长为2的下采样层,所以从卷积conv1_1到卷积conv5_3特征图的边长缩小了16倍,在卷积conv5_3上提取到的候选框边长小于16的需要去掉,因为边长小于16的候选框无法通过psroipooling(位置敏感兴趣候选框下采样)层和最后一层卷积层特征作映射,这样图片中边长小于16的小物体无法被更准确的检测出来。因此,本发明提出降低特征图缩小倍数的策略,将vgg16的卷积层conv5_1,conv5_2,conv5_3和下采样层pool4去掉,用rpn在卷积conv4_3层上提取候选框,从conv1_1到conv4_3中间经过了3次步长为2的下采样层,特征图边长下降了8倍,这样边长范围在8到16的小物体可以更好的被检测到。

5.改进vgg16网络模型,将浅层同组特征进行特征组合,输入到r-fcn后续的检测框架中,对候选框进行分类和边框回归:

单层的卷积层conv4_3输入到r-fcn的后续网络,使用1×1大小的卷积核在conv4_3上继续进行卷积得到最后一层卷积层,在该卷积层上和rpn网络提取的候选框进行映射,然后进行分类和边框回归,卷积conv4_3共有512个特征图,对于映射后的小物体的特征表达还不够,因此,将卷积conv4_1,conv4_2,conv4_3分别通过l2normalizelayer层进行标准化,然后通过concate层将这三层特征拼接起来,输入到r-fcn后续的网络中,拼层后的特征可以丰富小物体的特征信息,对于小物体的位置定位更加准确。

进一步的,用训练好的模型提取候选框,并进行分类和边框回归,从而检测到图片中的所用交通标志:按照上述5个步骤整理数据集,设计物体检测网络模型,将数据处理成pascalvoc数据集格式,用vgg16在imagenet数据集上训练好的模型作为预训练模型,按照r-fcn物体检测模型训练的方式在此基础上微调提出的物体检测网络,得到最终的检测模型。将待检测的图片通过测试网络,通过rpn网络保存300个置信度较高的候选框,再将300个候选框输入到r-fcn后续网络进行分类和边框回归,从而得到该图片上交通标志的精确坐标框。本实施例中imagenet数据集是大规模图像视觉挑战赛(ilsvrc)发布的数据集,

图1表示的是本发明提出的小物体检测框架图,使用vgg16网络作为r-fcn物体检测框架的主体网络,去掉vgg16网络的卷积conv5_1,conv5_2,conv5_3层,同时去掉卷积conv4_3层后面的下采样pool4层,使用l2normalizelayer标准化卷积层conv4_1,conv4_2,conv4_3,将标准化后的conv4_3层输入到rpn网络提取候选框,将标准化后的conv4_1,conv4_2,conv4_3层通过concatelayer(连接层)拼接到一起,输入到r-fcn后续的网络中,经过若干次卷积层到达最后一层卷积层,特征图尺度和conv4_3层保持一致,将rpn网络在conv4_3层提取的候选框(roi)和最后一层卷积层输入到psroipooling(位置敏感兴趣候选框下采样)层,为每一个候选框(per-roi)计算一个权重图对该候选框进行投票表决(vote),从而对该候选框进行分类和边框回归,最后得到检测到的目标框。

图2表示的是采集到的交通标志数据集中的原始图片,图片的分辨率为720×1280,为了便于看清楚图片中的交通标志,将其中的一小部分放大,可以看到图片中存在大量较小的交通标志,本发明的任务就是精确的找到图片中所有的交通标志,为后续的交通标志识别带来便利。

图3-1至图3-3是对不同模型检测结果的一个对比,图3-1是使用vgg16网络的卷积conv5_3来做rpn提取候选框得到的检测结果,图3-2是使用卷积conv4_3来提取候选框,图3-3是使用卷积conv4_3来提取候选框,并将通过l2normalizelayer(l2标准化层)标准化后的conv4_1,con4_2,conv4_3层特征拼接到一起,构成组合特征,输入到后续的r-fcn网络中,和rpn提取到的候选框作映射,训练分类和边框回归,得到最终的模型的检测结果,可以看到本发明提出的使用vgg16浅层特征,将浅层conv4_1,conv4_2,conv4_3拼接到一起构成组合特征输入到后续r-fcn网络的策略对于小物体的检测结果有很大的提升。

综上:本发明方法主要用于自动驾驶场景中的交通标志的检测。主要过程包括:数据集的采集;网络设计,使用vgg16网络作为r-fcn的主体网络;修改vgg16网路,把vgg16的浅层特征conv4_3输入到rpn网络提取候选框;修改vgg16网络,将浅层的conv4_1,conv4_2,conv4_3通过concate层拼接起来,输入到r-fcn后续网络做分类和边框回归。该方法对于小物体的检测具有很好的准确率,在存在大量较小交通标志的数据集上得到了很好的验证,可以应用到自动驾驶场景中的交通标志检测中。

参考文献:

k.simonyan,a.zisserman.《深度卷积网络用于大规模图像识别》,学习表征国际会议,pp.1-3,2015.

k.he,x.zhang,s.ren,andj.sun.《深度卷积网络的空间金字塔池化用于视觉分类》,欧洲计算机视觉国际会议,pp.346-361,2014..

j.dai,y.li,k.he,j.sun.《全卷积网络用于基于候选框的物体检测》,神经信息处理系统会议,pp.379-387,2016.

r.girshick.《卷积神经网络用于快速物体检测》,国际计算机视觉大会,pp.1440-14489,2015.

s.ren,k.he,r.girshick,j.sun.《基于候选框提取网络面向实时的物体检测》,神经信息处理系统会议,pp.91-99,2015.

j.redmon,s.divvala,r.girshick,a.farhadi.《只看一次:统一实时物体检测》,计算机视觉和模式识别会议,pp.779-788,2016.

k.he,x.zhang,s.ren,j.sun.《深度残差学习用于图像识别》,计算机视觉和模式识别会议,pp.770-778,2016.

本发明并不限于上文描述的实施方式。以上对具体实施方式的描述旨在描述和说明本发明的技术方案,上述的具体实施方式仅仅是示意性的,并不是限制性的。在不脱离本发明宗旨和权利要求所保护的范围情况下,本领域的普通技术人员在本发明的启示下还可做出很多形式的具体变换,这些均属于本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1