当前位置: 首页 > 专利查询>淮阴工学院专利>正文

一种基于YOLOv3的交通标志检测与识别方法技术

技术编号:21399904 阅读:14 留言:0更新日期:2019-06-19 07:14
本发明专利技术公开了一种基于YOLOv3的交通标志检测与识别方法,该方法首先按照VOC格式制作交通标志数据集;然后对VGG16网络进行改进,修改第一层全连接层节点数目,删去第二层全连接层,在网络中添加残差层,将激活函数ReLU换为PReLU,将网络中所有的Max pooling改为stochastic pooling,并用改进后的网络替换YOLOv3中的darknet53网络;最后使用改进后的YOLOv3对数据集进行训练,并用训练好的模型检测交通标志。本发明专利技术可以根据需求制作数据集,检测图片视频及摄像头中的交通标志,并且检测速度快,准确率高,改善了小目标交通标志检测效果不好的问题。

【技术实现步骤摘要】
一种基于YOLOv3的交通标志检测与识别方法
本专利技术涉及计算机视觉、深度学习
,尤其涉及一种基于YOLOv3的交通标志检测与识别方法。
技术介绍
交通标志检测与识别作为高级驾驶辅助系统(ADAS)中重要的组成部分,在自动驾驶和辅助驾驶中起着很大作用。交通标志检测与识别需要做到准确检测出图片、视频和摄像头中的所有交通标志,为驾驶员及ADAS提供正确的信息,以便两者做出正确的反应。但是目前的检测算法的检测精度和速度都无法达到要求。传统的交通标志检测基于交通标志的形状和颜色进行对目标检测与识别或者使用传统的机器学习方法提取特征进行识别,尽管都可以做到检测交通标志的效果,但是由于道路环境复杂多变,在不同光照、干扰物遮挡、小目标检测和物体本身扭曲等情况,这两种方法漏检率极高。深度学习的出现尤其是卷积神经网络的出现,相较于几何结构和子空间布局特征,极大地改善了物体检测与识别的效果。目前主流的深度学习检测算法有FasterRCNN(fasterregionwithCNNfeatures)、SSD(SingleShotMultiBoxDetector)和YOLO(YouOnlyLookOnce)。最新的YOLOv3版本有着相对其他算法最快的检测速度和高检测识别率。YOLOv3的基础网络darknet53在上一代darknet19的基础上加了大量的卷积层以及残差网络,牺牲了一定的检测速度提高了检测准确率,但是显然对于检测交通标志来说该网络过于复杂。
技术实现思路
专利技术目的:本专利技术提供一种基于YOLOv3的交通标志检测与识别方法,在保证检测的高准确率的前提下,提高了检测速度。技术方案:本专利技术所述的一种基于YOLOv3的交通标志检测与识别方法,包括以下步骤:(1)制作交通标志数据集;(2)对VGG网络进行改进:删去第二层全连接层,修改第一层全连接层的结点数目,在每一层的池化之前都加入残差网络;将VGG网络中的激活函数替换为PReLU函数;使用stochasticpooling代替VGG16中的Maxpooling;(3)将YOLOv3中的darknet53网络换成改进后的VGG网络作为基础网络;(4)使用改进后的模型对数据进行训练,直至训练过程中模型输出日志中loss变量不再降低;(5)使用训练好的模型对交通标志进行检测。步骤(1)所述的数据集为VOC格式。步骤(2)所述的第一层全连接层的结点数目为512。步骤(2)所述的残差网络为两层卷积核为3x3的残差网络。步骤(2)所述的PRelu函数的数学表达式为:式中,xi表示输入的值,下标i表示输入的值的不同通道,α由训练自学习得到。有益效果:与现有技术相比,本专利技术的有益效果:相比原YOLOv3,本专利技术检测准确率更高、检测速度更快,也改善了小目标交通标志的检测效果。附图说明图1为本专利技术实施例的方法总体流程图;图2为本专利技术实施例中残差网络结构图。具体实施方式下面结合附图和具体实施例对本专利技术作进一步说明。如图1所示,本专利技术实施例公开的一种基于YOLOv3的交通标志检测与识别方法,包括以下步骤:(1)制作VOC格式的交通标志数据集。建立存放VOC格式的交通标志数据集文件夹trafficSigns,文件夹中包括三个子文件夹分别为Annotation、ImageSets和JPEGImages,其中用于训练的交通标志图片放入JPEGImage文件夹中根据PASCALVOC官方格式以从000001.jpg开始的命名排序并存放。对放入其中的图片进行标注,对图片里的目标的类别还有位置信息进行标出,并保存为和对应图片同名的xml文件放入Annotation文件夹里。在ImageSets文件夹中建立子文件夹,命名为Main,对已有的交通标志图片数据按比例生成训练样本集和测试样本集,训练样本集命名为train.txt,测试样本集命名为test.txt,里面存放的都是JPEGImage中的图片的绝对路径,将两个.txt文件放入Main文件夹中。使用YOLO框架中自带的代码将VOC格式文件转换成YOLO自定义格式的文件。(2)对VGG网络进行改进。具体方法如下:原VGG网络结构表如表1所示:表1原VGG网络结构表改进后的VGG网络结构如表2所示:表2改进后的VGG网络结构上表中,Convolutional表示卷积层,Residual表示残差层,Pooling表示池化层,FC1、FC2分别表示全连接层1和全连接层2。对VGG16结构的最后两层全连接层进行改进,删去第二层全连接层FC2,同时将第一层全连接层的结点数目由4096改为512。同时将最后一层的类别数改为本交通标志数据集对应的类别数12。修改后,第一层全连接层的参数数目为12845568,第二层的参数为6156。参数数量共减少了8026588。在每一层的池化之前都加入了两层卷积核为3x3的残差网络,残差网络结构如图2所示。如果深层网络的后面层是恒等映射,则模型退化为一个浅层网络。把激活函数设计为:H(x)=F(x)+x式中F(x)表示求和前两个网络映射,x表示两层网络前输入的值,H(x)是从输入到求和后的网络映射。则F(x)=H(x)-x。若F(x)=0,则构成一个恒等映射H(x)=x,跳过后面的网络层;否则执行后面的网络层,继续优化网络。将激活函数由原本的ReLU函数替换为PReLU函数。ReLU函数数学表达式如下:式中x表示输入的值,当x≤0时,输出为0,梯度也为0,当x>0时,输出为x。PRelu函数数学表达式如下:式中,xi表示输入的值,下标i表示输入的值的不同通道,α由训练自学习得到。使用stochasticpooling代替VGG16中的Maxpooling。Stochastic-pooling通过按照像素点数值大小赋予概率,再按照概率进行亚采样。Stochasticpooling的具体过程如下:假设pooling区域元素值如下:式中a、b、c、d、e、f、g、h、i均为实数。元素和为:sum=a+b+c+d+e+f+g+h+i所有元素除以sum所得的概率矩阵为:将其看作是9个变量的多项式分布,然后对该多项式分布采样。如若随机采样后的矩阵为:则Stochasticpooling所得值为a。(3)使用改进后的模型对数据进行训练。对网络模型参数进行初始化,修改迭代次数为50000,修改学习率为0.01,根据TrafficSigns数据集中的交通标志类别数目将模型中的类别数改为对应的数字。设定结束后使用GPU进行训练。(4)使用训练好的的模型进行检测交通标志,检测出交通标志的位置信息和类别。将含有交通标志的图片或者视频输入训练好的YOLOv3模型,就可以直接检测出图片中的交通标志的位置信息和交通标志的类别。经测试证明本专利技术提高了交通标志的检测速度,同时也保持较高的检测准确率,改善了小目标交通标志检测效果不好的问题。本文档来自技高网...

【技术保护点】
1.一种基于YOLOv3的交通标志检测与识别方法,其特征在于,包括以下步骤:(1)制作交通标志数据集;(2)对VGG网络进行改进:删去第二层全连接层,修改第一层全连接层的结点数目,在每一层的池化之前都加入残差网络;将VGG网络中的激活函数替换为PReLU函数;使用stochastic pooling代替VGG16中的Max pooling;(3)将YOLOv3中的darknet53网络换成改进后的VGG网络作为基础网络;(4)使用改进后的模型对数据进行训练,直至训练过程中模型输出日志中loss变量不再降低;(5)使用训练好的模型对交通标志进行检测。

【技术特征摘要】
1.一种基于YOLOv3的交通标志检测与识别方法,其特征在于,包括以下步骤:(1)制作交通标志数据集;(2)对VGG网络进行改进:删去第二层全连接层,修改第一层全连接层的结点数目,在每一层的池化之前都加入残差网络;将VGG网络中的激活函数替换为PReLU函数;使用stochasticpooling代替VGG16中的Maxpooling;(3)将YOLOv3中的darknet53网络换成改进后的VGG网络作为基础网络;(4)使用改进后的模型对数据进行训练,直至训练过程中模型输出日志中loss变量不再降低;(5)使用训练好的模型对交通标志进行检测。2.根据权利要求1所...

【专利技术属性】
技术研发人员:高尚兵卢中鹤李新源郭若凡桂凯歌周君黄子赫朱全银蔡创新李文婷
申请(专利权)人:淮阴工学院
类型:发明
国别省市:江苏,32

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1