【《基于优化YOLOv3算法的交通标志识别设计案例分析》3500字】_第1页
【《基于优化YOLOv3算法的交通标志识别设计案例分析》3500字】_第2页
【《基于优化YOLOv3算法的交通标志识别设计案例分析》3500字】_第3页
【《基于优化YOLOv3算法的交通标志识别设计案例分析》3500字】_第4页
【《基于优化YOLOv3算法的交通标志识别设计案例分析》3500字】_第5页
免费预览已结束,剩余2页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于优化YOLOv3算法的交通标志识别设计案例分析目录TOC\o"1-3"\h\u14797基于优化YOLOv3算法的交通标志识别设计案例分析 1263111.1引言 1247141.2K-means聚类算法的理论研究 145751.3优化思路与模型训练 2327561.3.1优化思路 2219301.3.2模型训练 3169221.4实验结果与分析 330111.4.1实验结果 3150511.4.2查全率、查准率、平均准确率 478971.4.3实验分析 71.1引言针对第四章中两种目标检测算法出现的识别率不高、平均检测时间较慢以及预测框偏移等问题,本章提出了一种优化的YOLOv3算法,将这种优化的算法叫做YOLOv3-new算法。YOLOv3-new算法采用K-means聚类算法对CCTSDB及补充数据集的坐标信息进行了聚类,结合实际的训练样本修改anchor尺寸,通过训练与测试,效果表明,本小节提出的YOLOv3-new算法具有更佳的目标识别检测性能。1.2K-means聚类算法的理论研究K-means聚类算法分别是由Steinhaus在1955年、Lloyd在1957年、Ball&Hall在1965年以及McQueen在1967年在各自的,不同的学科领域被独立的提出来的。在K-means聚类算法提出的多年后,人们仍然在此算法的基础上改进出了大量不同的算法,在许多的学科领域被广泛的应用和研究ADDINNE.Ref.{ED0E2DDF-548E-45C2-B55F-CFE2BD95C5F0}[53,54]。尽管K-means聚类算法已经被提出超过50年了,但是到目前为止,它依然是应用最普遍的划分聚类算法之一ADDINNE.Ref.{36BAF352-EF13-4E4C-8536-522508935578}[55]。K-means聚类算法被人们普遍应用的主要原因还是它的操作简易、性能高效,以及它的应用案例具有非常广泛的实战经验ADDINNE.Ref.{F6D3332B-22B4-4D57-AFA0-5F01F91C03BB}[56]。接下来将从K-means聚类算法的目标函数、算法流程开始阐述,后续将引进本文中关于K-means聚类算法的研究与应用ADDINNE.Ref.{A8106CA4-2437-43D1-8A89-A047C911000A}[57]。下面将K-means聚类算法进行理论的研究分析。K-means聚类算法的目标函数介绍如下:对于给定的一个包含n个d维数据点的数据集,其中,以及要生成的数据子集的数目K,K-means聚类算法将数据对象组织为K个划分。每个划分代表一个类,每个类有一个类别中心。选取欧氏距离作为相似性和距离判断准则,计算该类内各点到聚类中心的距离平方和。 (5-1)聚类目标是使各类总的距离平方和最小。 (5-2)其中,。 根据最小二乘法和拉格朗日原理,聚类中心μk应该取为类别ck类各数据点的平均值。K-means聚类算法从一个初始的K类别开始划分,然后将各数据点指派到各个类别中,用来减少总距离平方和。因为K-means聚类算法中总的距离平方和随着类别个数K的增加而趋向于减小(当K=n时,J(C)=0)。所以,总的距离平方和只能在某个确定的类别个数K下取得最小值。1.3优化思路与模型训练1.3.1优化思路针对第四章中YOLOv3目标检测算法的数据参数不理想、对小尺度目标识别率低的问题,本章对YOLOv3的anchor尺寸进行K-means聚类优化ADDINNE.Ref.{E037087E-3F3F-41D0-8ADE-283AA4BDABDA}[58]。Anchor尺寸的大小对于YOLOv3目标检测网络是十分重要的,合适的anchor尺寸能够加快神经网络的收敛速度,降低误差。直接使用开源YOLOv3中的部分anchor并不合理,训练好的模型也达不到更好的识别效果,如第四章中YOLOv3的检测识别效果。要想得到更好的识别效果,本文的思路就是在CCTSDB及其补充数据集上使用K-means重新聚类计算anchor的尺寸,提高Bbox的检出率。在本小节中,anchor尺寸是笔者通过聚类CCTSDB及其补充数据集(共有三大类)得到的。YOLOv3是在三个不同的尺度上的9个anchorboxes来预测边界框的,anchorbox的尺寸势必会对最终的模型准确度产生影响,因此需要对原本的anchorbox尺寸基于本文数据集进行训练,结合实际训练的样本对anchor进行重新聚类。本文依旧采用了K-means聚类算法对数据集的坐标信息进行聚类,因为YOLOv3是9个尺寸不同尺度的anchorbox,因此K取9更为合适,最后将聚类生成的9组尺寸信息替换原本的anchor值,再以同样的网络参数和训练样本重新训练。在本小节中,对CCTSDB及其补充数据集进行聚类计算,聚类使用的K-means聚类算法是一个反复迭代的过程,算法依旧包括了四个步骤ADDINNE.Ref.{6E657C76-886F-4B4D-9A9B-6BC26B0A57BB}[59]。第一步,首先随机的选择K个样本点作为初始的重心。第二步,遍历数据集中每个样本点,计算每一个样本点到重心的距离,将每个样本点分类到最近的重心,经过第二步的操作,现已形成了K个类别。第三步,重新计算每个簇的新重心。第四步,重复第二步和第三步,直到重心的位置以及类别的样式不发生变化,或已经达到了最大迭代次数,那么聚类就结束了。针对CCTSDB及其补充数据集计算出最适合训练集的anchor尺寸,网络更加容易学习。通过K-means聚类算法相关代码可以得到修改后的3个尺度的9组anchor尺寸信息,宽和高分别为(6.66,17.83)、(7.90,22.58)、(9.57,27.34)、(10.56,17.91)、(12.06,33.28)、(11.39,41.60)、(16.25,26.15)、(24.05,49.92)和(48.75,79.08)。1.3.2模型训练在本章的实验中,实验配置的平台操作系统同样为windows10,并使用GPU对模型进行训练,GPU类型NVIDIATeslaV100-PCIE-32GB显卡,使用python3.6编写脚本进行预数据数据处理以及得到最终结果,开发语言以python语言为主。模型实现为基于Keras的学习框架,搭建低复杂度的特征金字塔网络模型对交通标志进行检测。模型训练采用Adam梯度下降方法,利用梯度的一阶矩估计和二阶矩估计自适应调整每个参数的学习步长,Adam衰减系数为0.9,并设定批处理尺寸batch_size冷冻训练前为2,冷冻训练后的值为1,每次迭代(epoch)均随机排列数据集。将width与height都设为608。将最大迭代次数max_batches设定为34000,学习率变动步长steps设为max_batches的80%和90%,即steps=27200,30600。训练终止条件为损失函数值几乎保持不变,即当最大迭代次数达到34000次时终止学习。由于整个训练过程使用GPU进行,故修改configs文件的参数GPU=1和CUDNN=1。在整个实验中,对YOLOv3、FasterR-CNN以及优化后的模型YOLOv3-new在同一GPU服务器中进行训练。1.4实验结果与分析1.4.1实验结果本小节举例给出K-means聚类修改anchor尺寸后的YOLOv3交通标志检测识别的部分图像,如图5-1所示。根据识别效果来看,本文提出的优化算法可以精确的捕捉到各种复杂环境下的交通标志图像,对于目标遮挡、小目标或是多个目标同时存在的检测中,也具有较好的识别效果。(a)(b)(c)(d)图5-1K-means聚类修改anchor尺寸后YOLOv3的目标检测识别图像在图5-1的图(a)中,右侧的禁令标志目标明曝光过于充分,交通标志的特征也出现了不明显的情况,但是本章提出的目标检测算法能够准确的将预测框打在交通标志上面;在图5-1的图(c)中,中间的指示标志目标被道路两旁的树木部分遮挡,但是本章的目标检测算法也能够准确的将交通标志识别出来。通过给出的部分检测识别图像,可以看出本章提出的优化算法能够具有更好的抗干扰性。1.4.2查全率、查准率、平均准确率图5-2为K-means聚类算法修改anchor尺寸后的YOLOv3算法(即YOLOv3-new算法)在计算平均准确率、查全率、查准率过程的图像。在计算平均准确率的过程中,可以明显的看出K-means聚类修改anchor尺寸后的YOLOv3算法能够更加准确的遍历复杂环境中的交通标志图像,预测框也能准确的将目标交通标志框出来。无论是交通标志处于环境较为复杂,或是交通标志有部分遮挡、图片存在多个目标、交通标志目标较小等情况,都能准确的将其识别出来。图5-2的两幅图中,第一张图展现了计算交通标志指示标志的过程,第二张图展现了计算交通标志警告标志的过程。通过第二张图像的CMD命令提示符窗口可以看到,有已经计算出的两类交通标志的F1、Recall和Precision的数据,以及计算出的AP值。(a)(b)图5-2K-means聚类修改anchor尺寸后YOLOv3的平均准确率算法运行过程为了能够将K-means聚类修改anchor尺寸后的YOLOv3算法性能直观的表示出来,本章依旧使用了平均准确率、查全率和查准率的计算代码,将平均准确率、查全率和查准率利用可视化的方法展现了出来。图5-3为交通标志三个类别的查全率图像,图5-4为交通标志三个类别分别的查准率图像,图5-5为交通标志三个类别分别的平均准确率图像。优化后的YOLOv3-new算法查全率图像如图5-3所示。(a)(b)(c)图5-3YOLOv3-new查全率图像优化后的YOLOv3-new算法查准率图像如图5-4所示。(a)(b)(c)图5-4YOLOv3-new查准率图像优化后的YOLOv3-new算法平均准确率图像如图5-5所示。图5-5YOLOv3-new平均准确率mAP图像通过图5-5可以看出,YOLOv3-new关于复杂环境交通标志图像三个类别准确率AP和平均准确率mAP。警告标志的准确率AP达到了99%,指示标志的准确率AP达到了98%,禁止标志的准确率AP达到了96%。同时,对于复杂环境下的交通标志平均准确率也能达到了97.59%,识别效果有所提升。1.4.3实验分析在本节中,将针对第四章提出的FasterR-CNN目标检测算法、YOLOv3目标检测算法与本章提出的优化算法,YOLOv3-new进行检测性能上的对比与分析。性能方面主要针对平均准确率、查全率、查准率和平均检测时间等方面展开。表5-1在CCTSDB及补充数据集中不同模型上的检测效果对比模型名称查全率查准率平均准确率平均检测时间FasterR-CNN92.42%90.73%91.63%0.046sYOLOv393.52%93.86%91.53%0.033sYOLOv3-new97.85%97.38%97.59%0.028s由三个模型的检测效果对比可以得出,在CCTSDB数据集及补充数据集中,不使用任何优化策略的原始FasterR-CNN平均准确率mAP为91.63%,不使用任何优化策略的原始YOLOv3平均准确率mAP为91.53%,使用K-means聚类修改anchor尺寸加快训练损失函数的收敛,训练更加的稳定后,YOLOv3-new平均准确率mAP为97.59%。优化后的YOLOv3,相比较原来YOLOv3检测效果mAP提升了2.06%。通过实验可以得出结论,对原YOLOv3的anchor尺寸进行K-means聚类优化,不仅可以达到更好的识别效果,同

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论