基于SSD神经网络目标检测的交通标志牌检测(附代码)
使用目标检测中流行的SSD算法,智能识别中国马路上的交通标志牌。文档末端附开源代码连接目录引言相关工作交通标志牌检测过程任务分析及数据准各图像数据增强神经网终原理层网络的实现模型评价指标模型训练和结果分析优化方法训练环境训练过程分析结果分析与可视化参考文献代码说明引言交通标志牌的目标检测是一种在场景图像中指出交通标志牌目标的研究问题。它是人工智能应用领域中一个很重要的组成模块。近些年,在道路场景监控系统,无人驾驶系统中冇着广`泛的应用。所以,优化交通标志牌目标检测问题冇着重要的意义。最近,有很多关于在静态场景中进行交通标志牌目标检测的研宄工作。他们用不同的方式试图更好地解决问题。通常,会提取手工特征[1],组合特征,分类。或者将交通标志牌拆分成局部再进一步提取特征,以便得到更精确的检测结果。但是,手工设计特征进行提取,依赖于研究人员的经验,缺乏对问题的泛化能力,存储这些手工特征也需要一定的存储空间,再者,对分类器的选择也十分影响最后的检测效果.当问题变换检测目标,或者延伸到复杂场景中传统方式将面临更加严峻的挑战。为了达到更好的检测效果,整个系统框架将变得更加复杂。任何的场景目标发现问题,都可以看做是个和该目标相关的视觉任务。视觉任务定义为:在某一场景中对一类或几类目标进行目标检测的任务描述。视觉任务是由和检测目标强相关的场景样木图像构成。当希望检测某一场景中的某种类型日标时,可以通过收集一系列该场景下的日标图像样本,组成视觉任务木文视觉任务是:检测在城市道路背景下的交通标志牌。通过对视觉任务学习得刭一种稳定的,与仼务强相关的日标检测模型。将新的样本图像输入日标检测模型便可以得到检测结果。我使用了一种不依赖手工特征,在静态场景中进行交通标志牌检测的方法,我将利用深度学习思想解决祧觉任务的训练过程。通过卷积神经网络对样本进行计算得到卷积特征,利用SSD网络解决目标检测定位的问题。对交通标志牌检测的问题提供了更泛化和简洁的解决思路。相关工作在传统模型中,棊于手工设计特征[幻]的检测模型被广泛应用于交通标志检测问题。等人L3利用新型的颜色变换模型对颜色特征计算,快速找到重要的交通标志拍颜色,定位可能的候选区域。等人[4]在做视频流中的交通标志牌检测时,将临时的底层几何特征的时间信息与标志牌的动态信息结合,并利用攴持问量机模型从背景中区分出目标车辆。可以看岀,在传统检测模型中,提取图像的底层特征是至关重要的一步传统模型有以下的缺点1)需要针对不通的检测问题进行特征设计2)需要对特征进行组合,选定分类器进行训练,其过程较为复杂;3)需要存储空间对特征进行存储。近些年,深度卷积神经网络被成功地应用于物体识别与目标检测,其中以为代表。年等人在大规模视觉识别的挑戕赛中展现了显著提高的图像分类精确度的能力。受到在图像处理领域的显著效果的启发等人提出一种深度学习模型,命名为将运用于日标检测问尟,该模型首先使用选择性搜索算法来计算图像的侯选区域,然后将所有的候选区域输入到模型中提取特征,最后在中完成分类。该模型设计了包围盒回归算法回归计算候选区域坐标,在的目标检测集上进行测试,平均正确率比非神经网络的算法高出大约。该模型提岀了一种模型预处珒的思路,首先在小数据集上初始化网终的权重,然后在数据集上微调网络,训练效果会更好。虽然的正确率有了很大提升,但也存在着缺点,即由于每张图像有大约个候选区域,导致计算量很大。微软亚洲研究院工作者将 SPIne七[7的思想运用与目标检测中,它首先做了一种映射,计算出候选区域映射刭最高卷积层的特征图上的位置,然后用基于算法的池化层进行降维操作,最终会获取一个特定大小的特征层,其过程和样,在测试,准确率和相近,但运行时间大大减少。2015年进一步将 SPInet的思想和RCN结合提出卷积神经网络模型8],再用so'tmax[9]回归替代SW分类器降低空间和时间的开销。整个训练过程不需要分级进行,检测过程更加高效,准确度更高。经过在GPU上的训练与测试,实验结果表明提取候选区域的时间明显缩短,检测的时间也缩短为1/10,分类精度也有所増加。2016年, Liu Wei[10等人将YoL0网络[11的结构与的 Faster rCNNL12」相结合,提出了目标检测算法,SSD网络它的速度比 Faster R-CN要快很多,但其工作方式却和 Faster r-CNN存在显著不同。 Faster r-cnn采用区域推测来生成候选区域,然后在各个候选区域内使用分类算法生成目标框;而SSD算法直接在整幅图像上生成各种大大小小的目标边界框,然后使用非极大值抑制技术将高度重叠的边界框整合成一个。将处理候选区域的问题转化为线性回归的问题,利用线性回归思想找出与目标最为接近的预测框,该算法提高了计算速度,准确率也有一定的保证。采用这种方式的优点就是极大地提升了运算速度,适合用于计算力较低的硬件环境。交通标志牌检测过程本文方法过程分为两个阶段,训练阶段和测试阶段。训练阶段,用课程给予的5000张附有标签(∏标检测框)数据的图片对SSD卷积神经网络进行训练,得到目标检测模型测试阶段,将新样本输入目标检测模型得到检测结果,即在图像上画岀预测框并与原有标签做对比。如图所示,整个计算流程包含以下几个步骤1)分析交通标志牌检测任务,得到结论,该项目的目的是利用已有图像以及标签数据,将不带有标签的2)对样本图像和标签数据进行预处理,以达到符合神经网络输入条件。具体的操作是将课程提供的标签数据(4225个ⅫM文件)使用 pythoη进行读取并合并成一个长列表,并图像的编号一一对应,方便模型读取。3)分辨率调整和图像数据增强,使用 opencν的υ y thon接口,先将图片分辨率由原图的1200×1600调整为300×400,降低分辨率可以在硬件条件不足的情况下完成既定的训练任务;再使用图像增强的方法,加强在视角转动的情况下日标检测的鲁棒性4)选定神经网络结构。将训练集及其对应的标定列表作为输入,通过SSD网终对模型进行反复迭代训练,得到最终的交通标志检测模型;5)利用测试集新样本对交通标忐检测模型进行测试,得到新样本的检测结果数据预处理图像数据增强定义SSD网络结构设定初始网络权重反向传播训练迭代训练图像样本目不检测结可视化图1基于SSD网络的交通标志牌检测流程21任务分析及数据准备本次课程作业的视觉任务是在城市道路场景中检测正面交通标志。视觉任务确定之后需要采集示例图像枃建训练集,采集被测图像构建测试集。被检测的场景图像和目标是与视觉任务强相关的,所以在采集示例图像和被测图像应在相同环境下以相同的方式进行采集。在木课程作业的图像数据集中,图像采集者驾车在不同时间不同光照条件下,在上海市内行驶使用行车记录仪将行驶的图像存储。图像数据样木的典型场景如所示。图2数据样本再拿到数据样木之后,我们应该对样木进行标定,标定交通标志牌的左上和右下角的标值,形成一个矩形框,确定目标在图像上的位置在本次课程作业中,所有图像数据已经准备好,对应的标签数据xm1文件也己准备好,我们需要做得是人为地划定测试集和训练集,并将分散的4225个xml标签文件整合到一起。如表所示,表格的第一列 image name是图像的名称;第二列到第四列代表在目标检测框的坐标; class id的值设为1,1代表着标志牌类,如果值设为0,则代表背景类。最终,我采取了将图像编号为4的倍数的图像作为测试集,其他的图像作为训练集的方案。这样很具有代表意义表1整合后的数据标签示例image name lxmin ymin xmax ymax class id00000jp4505045460000034569547300000ipg7370000078753783257300001pg50232667800001jpQ33972947200001pg00001pq78053382657200002jpg48131466545500002jpg67033446300002pg6253500002pq77453082056900003jpg4632986584482.2图像数据增强在图像的深度学习中,为了丰富图像训练集,更好的提取图像特征,泛化模型(防止模型过拟合),一般都会对数据图像进行薮据增强,数据增强,常用的方式就是随机裁剪随机镜像随机尺度变换颜色抖动随机旋转视角变换,扭曲图像特征,增强图像噪音本文同时对训练数据做了数据增强和数据增广[15]。每一张训练图像,随机的进行如下一种或几种变换:使用原始的图像采样一个候选区域( patch),与区域之间最小的重叠为:0.1,0.3,0.5,0.7与0.9●随机的采样一个候选区域( patch),并进行视角转换采样的是原始图像大小比例是,视角转换比例1与之间。当日标检测框的中心( center)在采样的候选区域( patch)中时,保留重叠部分。在这些釆样步骤之后,每一个采样的候选区域( patch)被拉伸到固定的大小,并且以0.5的概率随机的水平翻转( horizontally flipped)。在本课程项目中,以上的图像操作使用了中的接口集成库。在某些角度上相当于我将原来的张图片数量变为几万张,增强了数据的广泛性和普遍性,使模型更加具有鲁棒性和泛化能力23SSD神经网络原理模型来源于发表在的一篇文章,是(北卡罗来纳大学教堂山分校)的教授的新作。也是最近在目标检测领域炙手可热的方法之模型的特点就在既保证了目标检测的速度,乂保证了精度过去老旧的目标检测模型通常是将候选区域寻找和在区域内进行分类检测分为两个较为独立的网络结构,这种网络训练较为困难,且实吋监测性不好;与这种传统网络结构不同,模型将整个检测过程整合成了一个相对简单的深度神经网络。现今流行的效果较出色的检测系统大致都是如下步骤,先生成一些假设的边界框,然后在这些边界框中提取特征,之后再经过一个分类器,来判断里面是不是物体,是什么物体。从年等人的开始,年发表的基于这类方法的特点就是检测过程按部就班,导致检测精度很高,其中在数
用户评论
你好,能发一下数据集下载链接吗?
没有代码,就一篇毕业论文
可以分享一下数据集吗
数据集用下哥们
厉害厉害!!
希望能公开个数据集
汪博士,学生党自己学习 非常想求一下本算法的数据集 我的邮箱 895651388@qq.com 真的非常非常感谢尼
很好的资源,学习用。
可以分享一下数据集嘛
发现不能识别禁止、警告灯交通标志,能不能给个数据集的链接呢?