一种基于SSD的路面交通标志识别方法与流程

文档序号:15217128发布日期:2018-08-21 16:59阅读:2075来源:国知局

本发明属于图像处理和汽车安全辅助驾驶领域,尤其是涉及一种基于ssd的路面交通标志检测与识别方法,用以解决路面交通标志识别问题中识别精度不高的问题。



背景技术:

道路交通标志识别(tsr,trafficsignsrecognition)作为车载辅助系统中一个重要分支,是目前尚未解决的难题之一。由于交通标志中含有许多重要的交通信息,如对当前行车的速度提示、前方道路状况的变化、驾驶员行为制约,因此在该辅助系统中,如何快速、准确、有效地识别出道路中的交通标志并将之反馈给驾驶人员或控制系统,对于保证驾驶安全,避免交通事故的发生具有十分重要的研究意义。

路面交通标志识别常用的方法包括基于形状的识别方法,特征提取与分类器结合的方法,深度学习的识别方法。基于形状的识别方法鲁棒性较差,复杂环境中效果不佳。特征提取与分类器结合的方法识别效果较好,但计算开销大,环境适应能力比较差。深度学习能够直接对原始图像进行识别,提取反映数据本质的隐性特征,具有足够的学习深度。卷积神经网络具有局部权值共享的特性,对于环境复杂、多角度变化等情况都具有一定的实时性和鲁棒性。因此,需要设计一种能够精确获取道路场景中路面交通标志的识别方法。weiliu在2016年提出的ssd算法,规避了fasterr-cnn(fasterregion-basedconvolutionalneuralnetwork)中冗余的特征提取操作,实现了多任务训练,也不需要额外的特征存储空间,提高了检测速度和精度。



技术实现要素:

为解决现有技术存在的上述问题,本发明要设计一种基于ssd路面交通标志识别方法,能够精确获取道路场景中路面交通标志的,以便有助于辅助驾驶员在复杂的条件下更好地感知车外环境,预防交通事故的发生。

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

一种基于ssd的路面交通标志识别方法,包括步骤:

进行图像采集和预处理,制作样本集;

将训练集输入,开始多任务训练ssd网络;

待训练的图片输入ssd网络,经过若干卷积层与池化层,得到特征图;

在其中5个不同层的特征图上产生一系列固定大小的默认框,并从中产生正负样本集,保证其比例在1:3;

提取的特征向量经由多层融合检测网络,分别得到分类得分和窗口回归两个输出向量;

网络训练完成后,将待识别图片输入训练好的网络,将所有结果进行非极大值抑制处理产生最终的目标检测和识别结果,从而使路面交通标志得以识别。

进一步地,所述图像采集的步骤具体包括:

开启车载行车记录仪,实时拍摄道路交通视频信息;

将摄像机拍摄到的视频信息进行分帧处理,得到一个图像集合序列;

对图像集合进行筛选,选取包含路面交通标志的图像。

进一步地,所述图像预处理和样本集制作的步骤具体包括:

在选取的图像中,将目标区域取出,并缩放到固定的300×300大小,为增强对比度,再将目标区域经过对比度增强处理,得到原始的训练集,测试集采用同样的方式处理;

在数据集中随机取出与测试集数目相当的样本组成验证集,剩余的样本组成最终的训练集。

进一步地,所述ssd网络结构包括:数据层、特征提取网络、多层融合检测网络、concat层和损失层。

所述特征提取网络主要由两部分构成,包括vggnet和新增的8个卷积层,所述vggnet是修改过的,全名为vgg_ilsvrc_16_layers_fc_reduced,所述新增8个卷积层用于产生更多低分辨率的层,方便进行多层特征融合。

进一步地,所述的多层融合检测网络包括loc层,conf层和priorbox层。

进一步地,所述concat层的数量为三个,用于分别拼接所有的loc层,conf层以及priorbox层。

进一步地,所述在其中5个不同层的特征图上产生一系列固定大小的默认框,并从中产生正负样本集,保证其比例在1:3的步骤具体包括:

在其中5个不同层的特征图上产生一系列固定大小的默认框(defaultbox),从中选出符合真实框(groundtruthbox)的作为候选正样本集,其余则为候选负样本集;进一步筛选样本得到正负样本集,保证正样本集和负样本集的比例为1:3。

进一步地,所述ssd网络的损失函数包括两个分支,分别用于分类和定位,利用随机梯度下降法训练输出层的分类层和回归层直至分类和回归的损失函数收敛。

进一步地,所述将所有结果进行非极大值抑制处理的步骤具体包括:根据输出的两个分支,利用窗口得分分别对每一类物体进行非极大值抑制剔除重叠框,最终得到每个类别中回归修正后的得分最高的窗口。

进一步地,所述路面交通标志包括直行箭头、掉头箭头、向左箭头、向右箭头、直行向左箭头、直行向右箭头和菱形标线。

相比现有技术,本发明为了解决上述现有技术中的至少一些问题,提出了一种基于ssd的交通标志检测与识别方法。该方法自行制作路面交通标志数据集,通过深度学习从样本中学习特征,能够提取到反映数据本质的隐性特征,具有更高的学习效率和识别精度,提高了检测算法的鲁棒性,有效提高了路面交通标志检测的准确性。

附图说明

本发明提供了附图以便于所公开内容的进一步理解,附图构成本申请的一部分,但仅仅是用于图示出体现发明概念的一些发明的非限制性示例,而不是用于做出任何限制。

图1是根据本发明的一些示范实施例的基于ssd的路面交通标志识别方法的流程图。

图2是根据本发明的一些示范实施例的ssd网络结构图。

图3是根据本发明的一些示范实施例的多任务训练损失函数示意图。

图4是根据本发明的一些示范实施例的部分交通标志样本集的示意图。

图5是根据本发明的一些示范实施例的基于ssd的路面交通标志识别方法的检测结果示意图。

具体实施方式

下面结合附图和技术方案对本发明作详细说明。

如附图1所示为基于ssd的路面交通标志识别方法的流程图,本发明的具体实施方式为:

一种基于ssd的路面交通标志识别方法,包括步骤:

进行图像采集和预处理,制作样本集;

将训练集输入,开始多任务训练ssd网络;

待训练的图片输入ssd网络,经过若干卷积层与池化层,得到特征图;

在其中5个不同层的特征图上产生一系列固定大小的默认框,并从中产生正负样本集,保证其比例在1:3;

提取的特征向量经由多层融合检测网络,分别得到分类得分和窗口回归两个输出向量;

网络训练完成后,将待识别图片输入训练好的网络,将所有结果进行非极大值抑制处理产生最终的目标检测和识别结果,从而使路面交通标志得以识别。

在可行的实施例中,所述图像采集的步骤具体包括:

开启车载行车记录仪,实时拍摄道路交通视频信息,选用行车记录仪拍摄的视频分辨率为1280*720的视频图像;

对所拍摄的视频图像进行分帧处理,得到一个图像集合序列;

对图像集合进行筛选,从其中选取出现次数较多的7种路面交通标志。

具体而言,所述图像预处理和样本集制作的步骤具体包括:

在选取的图像中,将目标区域取出,并缩放到固定的300×300大小,为增强对比度,再将目标区域经过对比度增强处理,构成原始训练集,测试集采用同样的方式处理;

在数据集中随机取出与测试集数目相当的样本组成验证集,剩余的样本组成最终的训练集。

在图4所示的示例中,所选用的交通标志可以分为7类,分别为直行箭头、掉头箭头、向左箭头、向右箭头、直行向左箭头、直行向右箭头、菱形标线,分别编号表示为01,02,03,04,05,06,07,识别结果以此方式输出。

k.simonyan等人在文献“k.simonyananda.zisserman.verydeepconvolutionalnetworksforlarge-scaleimagerecognition,2015.”中提出的vgg16网络,包括13个卷积层,5个池化层和3个全连接层。本实施例在vgg16的基础上进行修改,得到新的vgg_ilsvrc_16_layers_fc_reduced,并且新增8个卷积层,以产生更多低分辨率的层,方便进行多层特征融合。

所述多层融合检测网络,包括loc层,conf层和priorbox层。

所述concat层的数量为三个,分别拼接所有的loc层,conf层以及priorbox层。

如图2所示,最终得到ssd网络结构如下:包括数据层,特征提取网络,多层融合检测网络,concat层和损失层。

大小为300×300的图像样本经输入层输入网络;conv4_3,conv7(原先的fc7),conv8_2,conv9_2,conv10_2,以及pool11,这些层来预测回归位置和置信度。激活函数采用修正线性单元激活(relu,rectifiedlinearunits)函数,具备引导适度稀疏的能力,能够使网络的训练速度加快,精度提高,避免梯度消失的问题。

原有的层参数要通过预训练方式初始化。用于分类的全连接层以均值为0,标准差为0.01的高斯分布初始化;用于回归的全连接层以均值为0,标准差为0.001的高斯分布初始化,偏置都初始化为0。

ssd网络进行多任务训练,置信度损失和回归损失如图3所示。

让每一个默认框经过jaccard系数计算和真实框的相似度,阈值只有大于0.5的才可以列为候选名单;假设选择出来的是n个匹配度高于百分之五十的框,我们令i表示第i个默认框,j表示第j个真实框,p表示第p个类。那么xijp表示第i个默认框与类别p的第j个真实框相匹配的jaccard系数,若不匹配的话,则xijp=0。

jaccard系数用来比较两个有限集合之间相似度,越大相关性越高。

置信度损失lconf(confidenceloss)是softmaxloss,输入为每一类的置信度c。

定位损失lloc(localizationloss)是smoothl1loss,用在预测框(l)与真实框(g)参数(即中心坐标位置(cx,cy),宽度w、高度h)中,回归boundingboxes的中心位置以及宽度和高度。

结合分类损失和回归损失,网络微调阶段总的损失函数为:

其中,n是与真实框相匹配的默认框个数。权重项α默认设置为1。根据该损失函数利用随机梯度下降法训练网络,直至l收敛。

图5是路面交通标志的检测结果示意图,可见在一般的路面条件下检测和识别效果良好。

综上,本发明提出了一种基于ssd的交通标志检测与识别方法。该方法通过深度学习从样本中学习特征,能够提取到反映数据本质的隐性特征,具有更高的学习效率和识别精度,提高了检测算法的鲁棒性,有效提高了路面交通标志检测的准确性。能够很大程度缓解路面交通标志遮挡严重、磨损严重、形变严重、光照变化严重等因素带来的检测困难的问题。本文中的部分方法步骤和流程可能需要由计算机执行,从而以硬件、软件、固件及其任何组合的方式来实施。

上述仅为本发明的优选实施例,不是用来限制发明的实施与权利范围,凡依据本发明申请专利保护范围所述的内容做出的等效变化、修饰、替换等,均应包括在本发明申请专利范围内。本领域技术人员将认识到在不脱离本发明的范围和精神的情况下,可在更广阔的各方面中进行改变和修改。

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