0


毕业设计-基于深度学习的交通标识识别-opencv

前言

 📅大四是整个大学期间最忙碌的时光,一边要忙着备考或实习为毕业后面临的就业升学做准备,一边要为毕业设计耗费大量精力。近几年各个学校要求的毕设项目越来越难,有不少课题是研究生级别难度的,对本科同学来说是充满挑战。为帮助大家顺利通过和节省时间与精力投入到更重要的就业和考试中去,学长分享优质的选题经验和毕设项目与技术思路。

🚀对毕设有任何疑问都可以问学长哦!

选题指导: https://blog.csdn.net/qq_37340229/article/details/128243277

大家好,这里是海浪学长毕设专题,本次分享的课题是

🎯基于深度学习的交通标识识别

课题背景和意义

随着汽车的普及率的提高,公路路况也变得复杂。因疏忽交通标识和错判 交通信号等因素造成了社会上交通事故许多不可逆的重大的人身伤害和严重财 产损失,交通标识在道路秩序和安全中起着重要作用。交通标识的作用包含丰 富的道路信息,可以及时将重要的交通信息传达给驾驶员(例如,禁止超车,限 速,减少交通事故),指导驾驶员做出合理的反应,减少交通事故,有利于道路 交通安全。无人驾驶车辆的社会道路行驶试点已经展开,新基建的发展,带动着 无人驾驶迅速发展。城市道路的无人驾驶技术其中的关键技术是交通信号灯识别 和交通标识识别。由于路面情况瞬息万变,人流车流情况复杂,目前阶段的无人 驾驶还停留在驾驶系统的辅助层面,并不能完全摆脱人为操控实现真正意义的 “无人”驾驶,因而交通标识识别技术突破,是实现无人驾驶方面的重要一环, 目的在于车辆实时感知实际路况自我调整交通行驶策略。随着深度学习图像识别 方向在社会上的广泛应用以及深度学习模型的不断更迭和优化,基于深度学习的 交通标识识别系统论题也受到各个组织和科研单位的高度关注。交通标识识别系 统能够高效分类外部自然环境下的交通标识,并能及时反馈给车辆和驾驶员进而 合理的对车辆进行操控,也为全面实现无人驾驶系统,创造了坚实的相关理论基 础。因此,交通标识识别系统在保障交通安全、建设智慧交通等方面具有重要的 实际研究价值。

实现技术思路

卷积神经网络

CNN 网络是应用最多的的深度学习模型之一,广泛应用于自然语言处理、 人脸识别和自动驾驶。对网格结构类型的数据处理具有突出能力,对目标检测与 轨迹跟踪处理都有很好的效果。卷积神经网络受模仿人类大脑的特点,学者提出 卷积神经网络结构是因为参考了细胞内部结构中特征在某一位置不改变的特性 。直至目前,深度学习历经多年的发展,随着硬件技术的进步,研究者们取得 了很多优秀的成果。LeCun 团队研究一种用于高效的手写数字图像检测识别的反 向传播模型,几乎不对数据进行预处理,把归一化完成的样本数据发送到已经构 建好的网络模型,训练并优化模型。最终把模型用来识别美国邮政编码数字,正 确率达到了惊人的 99%。典型的 CNN 网络模型中,卷积层擅长获取样本的中的局部特征值,并采用对卷积核进行滤波来获取图像中的局部特征;池化层主要 用于降低网络模型的参数的阶数。与卷积层相比,它能有效降低数据维数,不仅 能大大减少计算量,而且能有效避免过拟合;全连接层类似于传统神经网络的一 部分,用于输出期望的结果。

交通标识检测方法

根据交通标识特有的特征,如交通标识字符的长宽比,确定真实的交通标识区域。这种方法对边缘或纹理等信息有很强的依赖性,经常导致交通标识的缺失 和误检。基于边缘检测的方法利用了交通标识字符区域的像素灰度具有阶跃变化 的特点,即字符两侧的区域属于不同的区域,每个区域的灰度相同,但不同区域 的灰度特征不同。根据这一特点,根据不同的环境和要求,选择合适的边缘算子, 取得后,进行检查每个像素的邻域状态以及量化灰度变化情况。通过边缘检测出 中间结果,然后把图像进行二值化,进而通过投影变换或数学形态学确定交通标 识和字符区域。本方法在比较简单普通场景下的图像有很突出的定位准确率,响 应快,还能有效的降噪。然而,较为复杂的场景例如交通标识褪色污损,并且由 于无法获得字符边缘信息,就降低了定位准确率。而基于样本形态特征的方法关 键在于采用交通标识的纵向纹理数据。对已经灰度处理完成的样本执行边缘检测, 再采用基于形态学膨胀方法得到闭合区域。在此基础上,对这些区域进行填充和 腐蚀,以消除复杂因素对交通标识检测的影响,从而获得候选区域。根据交通标 识的长宽比和垂直投影特征值的规则选择正确的交通标识位置。该算法在进行图 像二值化和形态学运算时,参数设置依赖于人的经验,不能实现自适应参数调整。 如果场景发生变化,利用固定的参数进行二值化很容易降低交通标识的检测率。 基于纹理特征的检测算法依据交通标识字符样本数据具有足够的角点分布显著 的特点,并且结合样本数据灰度跳变算法,利用哈里斯角点检测算子获取样本数 据特征,通过角点强度以及交通标识颜色空间方位来断定检测的候选区域,然后 采用获取灰度跳变以及记录跳变等因素检测交通标识的具体位置。这种方法对交通标识角度的歪斜、缺失、背光的强度以及均匀性的依赖程度很小,交通标识边 界以及字符噪声对图像的准确率有比较大的决定作用。对于基于彩色图像特征的 检测识别模型根据交通标识的颜色实现颜色分割操作。完全从原始的 RGB 颜色 空间转换至其他颜色空间(如 HSV 和 HIS)后,根据中国交通标识规定的底部颜色 信息识别颜色区域。依据分割尺度大小与颜色分量的参数分割图像,确定了封闭 区域。根据交通标识的外观特征对交通标识进行初步判断,最后利用纹理或交通 标识以及背景信息等特征进一步确定交通标识。该方法通过对图像进行多尺度分 割,可以进一步降低图像中交通标识的缺失率。然而,交通标识图像的颜色信息 容易受到外部环境变化的干扰。例如,当交通标识图像的光线较暗时,交通标识 区域的颜色与周围环境的差异不明显,影响了交通标识特征的提取,降低了准确率。

交通标识识别方法

支持向量机(SVM)是常用机器学习方法的一种,往往用来解决线性分类和多 分类问题,也适用于回归分析。面向线性分类问题,支持向量机的主要思想是在 多维空间中寻找离超平面最近的点,并通过约束得到最优解。该超平面将数据分 成了不同类别的两部分,不同部分数据对应着不同的分类。如果是多种分类情况, 就常常采用使用一对一分类器,或者采用一对多分类器以及采用有向无环图等算 法完成。支持向量机擅长完成线性不可分和高维数样本数据集状态下的分类问题, 它对测试集合拥有很好的泛化力。然而,支持向量机模型在识别手写数字位图的 时候不考虑相邻空间像素的相关性,以至于准确率并不高。 在研究了生物神经网络和模拟了生物神经网络的机理后,学者们提出了人工 神经网络的概念,即由多个输入和单个输出相连的神经元组成的网络结构。使用 分布式思想并行计算方法,高速地处理模式分类相关问题。该模型不仅具有记忆 功能,还可以判断神经网络的稳定性,而且存在一部分存储容量。这种网络里最 经典的是 BP 网络模型,该模型依据实际真值和预测值之间的误差作为尺度,来 调整调整网络和学习参数,改变不同层的权重参数,使实际真值和预测值之间的 差距越来越小。BP 算法的结构总体上包括输入层相关部分,隐藏层相关部分以 及输出层部分。首先,将向量输入到输入层,并使用 Sigmoid 和其他函数来转换 隐藏层中的模式,从而把输出值应用到输出层。本网络模型训练的时候,流程包 括了前向传播时期和后向传播时期。首先在前向传播阶段,各个层级的神经元数 据传输到下一层级,网络间以此类推传输至输出层。一旦输出值较为不同于期望 值,神经网络模型会根据样本中的数据持续更新网络中的参数,直至网络预测结 果逼近到训练效果的期望值。BP 模型的优点是拥有良好的自适应和泛化能力,不过权重不宜过大,会造成很难收敛,识别准确率很低。

创建数据目录

存放前期拍摄制作的含有交通标识的照片,所有的照片里囊括了正常拍摄方 向和光照,还有阴天等情况下不均匀照明,背光或过度曝光,斜拍摄角度,交通 标识污损等。交通标识图像数据集编制完成后,按照 00001.jpg 格式的命名规则 修改数据集所有图像的名称,将 JPEGImages 文件夹中的图像进行整理。

图像数据标注

对样本图像数据进行标注,数据集包 括正常视角、背光、污染破损和昏暗等外部环境下的样本图像。

选择将已建好的 Annotations 目录作为标注文件默认存放位置,根据 PASCAL VOC 数据集的标准,我们标记完和保存图片的时候,自动生成一个标注文件。 Xml 标签文件由图像路径,图像名称,类别名称,图像像素尺度和注释框尺度等 内容组成,xml 文件。

训练检测网络模型

为了实现多尺度 特征的融合,提升网络检测的精确度,把 convfl_1 层,convfl_2 层,convfl_3 层, convfl_4 层以及 convfl_5 层等五个特征层与 pool11 池化层共同设为检测模型的 输入结构,在特征层 convfl_1 层整体上是通过 384 个特征图组合而成,里面包括 的 128 个特征图采用 Atrous 算法卷积在 conv3_2 层上,卷积核大小为 3×3。rate 设成 2,stride 设成 2,padding 设成 2。那么通过这个方式把 conv3_2 卷积层的特 征图转成 38×38 尺寸。其余 256 个 feature map 将依据 conv4_2 layer 通过 size 为 3×3 的 convolution kernel 来操作,step 设置为 1,padding 设置为 1,从而保证了 这一层 feature map size 不变。convfl_2、convfl_3、convfl_4、convfl_5 的 feature layer 都由 512 个 feature map 组成。但是对多层的 feature map 经过 concat 计算, 需要提前采用批量归一化的算法来做归一化操作并采用 SeLU 函数来激活,这样 为了解决多层 feature map 的分辨率差异问题。交通标识检测网络首先 pre-trained PASCAL 数据集,然后在特制的交通标识数据集上训练和优化,以获得最终的交 通标识检测网络模型。把正则化的参数衰减设成 0.0005,把学习率基础值设成 0.001,把学习率衰减率设成 0.99,把模型最大迭代次数设成 10000。交通标识数 据集输入模型进行训练。

实现效果图样例

我是海浪学长,创作不易,欢迎点赞、关注、收藏、留言。

毕设帮助,疑难解答,欢迎打扰!

最后


本文转载自: https://blog.csdn.net/qq_37340229/article/details/128347638
版权归原作者 HaiLang_IT 所有, 如有侵权,请联系我们删除。

“毕业设计-基于深度学习的交通标识识别-opencv”的评论:

还没有评论