版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于Yolov3的车辆标检测算法设计案例目录TOC\o"1-3"\h\u7983基于Yolov3的车辆标检测算法设计案例 1101901.1单级目标检测算法原理 1245291.2yolov3检测原理 129011.2.1候选区域产生 2293261.2.2特征提取网络 446761.2.3损失函数建立 5150861.3本章小结 7209232实验及结果分析 788042.1实验环境与模型训练 7232782.1.1使用深度学习框架介绍 7134902.1.2数据集介绍 8216092.1.3实验环境配置介绍 922172.2车辆检测结果分析 988122.2.1改进特征提取网络分析 980752.2.2锚框重新设置性能分析 12161672.2.3两算法对比分析 141.1单级目标检测算法原理基于单级目标检测的车辆检测方法是基于锚框直接进行分类以及调整边界框。其优点是检测速度快,缺点是检测精度低,特别是在小目标检测中检测效果差。1.2yolov3检测原理JosephRedmon等人在2015年提出YOLO算法,通常也被称为YOLOv1;2016年,他们又提出YOLOv2版本;2018年发展出YOLOv3版本ADDINEN.CITE<EndNote><Cite><Author>Redmon</Author><Year>2018</Year><RecNum>7</RecNum><DisplayText><styleface="superscript">[14]</style></DisplayText><record><rec-number>7</rec-number><foreign-keys><keyapp="EN"db-id="5t9pfd9xkppsfyep0zsx9etkdzzrtvvx2vtt"timestamp="1615392690">7</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Redmon,Joseph</author><author>Farhadi,Ali</author></authors></contributors><titles><title>YOLOv3:AnIncrementalImprovement</title><secondary-title>arXive-prints</secondary-title></titles><periodical><full-title>arXive-prints</full-title></periodical><dates><year>2018</year></dates><urls></urls></record></Cite></EndNote>[14]。YOLOv3算法思想可分为两个部分:(1)按一定规则在图片上产生一系列的候选区域,然后根据这些候选区域与图片上物体真实框之间的位置关系对候选区域进行标注。跟真实框足够接近的那些候选区域会被标注为正样本,同时将真实框的位置作为正样本的位置目标。偏离真实框较大的那些候选区域则会被标注为负样本,负样本不需要预测位置或者类别。(2)使用卷积神经网络提取图片特征并对候选区域的位置和类别进行预测。这样每个预测框就可以看成一个样本,根据真实框相对它的位置和类别进行了标注而获得标签值,通过网络模型预测其位置和类别,将网络预测值和标签值进行比较,就可以建立起损失函数。而预测时直接通过特征提取网络与预测框比较,通过NMS输出分类以及回归结果。YOLOv3训练以及检测模型见4-1。图4-1YOLOv3训练以及检测1.2.1候选区域产生对输入图片(H*W)进行下采样(采样数为k,一般为大中小三个采样),将图片分割成H/k,W/k形式。在每个区域中心(这里的区域中心是一个点,下面以C表示),生成一系列对应于大中小感受野不同的锚框。见图4-2所示。图4-2划分网络不同的锚框基本上不可能刚好与物体边界框重合,所以需要在锚框的基础上进行位置的微调以生成预测框。通过中心点偏移:宽高拉伸:实现从锚框到预测框的过程。其中由将点按真实框位置带入求解所得。见图4-3所示。图4-3锚框到预测框调整在完成上述后,需要对候选区域进行标注。首先是标注锚框是否含有物体。每个区域可以产生3种不同形状的锚框,每个锚框都是一个可能的候选区域,对这些候选区域首先计算锚框与真实框的IOU,从一组9个锚框中选出IoU最大的锚框,将它所对应的预测框的Pobj标签设置为1,其所包括的物体类别就是真实框里面的物体所属类别。由于每个真实框只对应一个Pobj标签为正的预测框,如果有些预测框跟真实框之间的IoU很大,但并不是最大的那个,那么直接将其Pobj标签设置为0当作负样本,可能并不妥当。为了避免这种情况,YOLOv3算法设置了一个IoU阈值iou_threshold,当预测框的Pobj不为1,但是其与某个真实框的IoU大于iou_threshold时,就将其Pobj标签设置为-1,不参与损失函数的计算。所有其他的预测框,其Pobj标签均设置为0,表示负类。对于Pobj=1的预测框,需要进一步确定其位置和包含物体的具体分类标签,但是对于Pobj=0或者-1的预测框,则不用管他们的位置和类别。其次是标注预测框的位置坐标标签,当锚框objectness=1时,需要确定预测框位置相对于它微调的幅度,也就是锚框的位置标签。同时还需要判断出锚框所属物体类别,YOLOv3使用one-hot向量来表示类别标签label。比如一共有10个分类,而真实框里面包含的物体类别是第2类,则label为(0,1,0,0,0,0,0,0,0,0)。由此,真实框信息得以标注。所以,每个区域中心C含有多个信息:具体见图4-4所示。图4-4特征图中的信息数1.2.2特征提取网络整个特征提取网络见图4-5。其中YOLOv3采用了Darknet53网络作为其主要特征提取部分。该网络有两个特点。一是参考了残差网络的理念,使用了许多尺寸为3*3和1*1的卷积层,去掉了池化层和全连接层,因此在网络前向传播的过程中,特征的尺寸变化是通过改变卷积核的卷积步长实现的。ADDINEN.CITE<EndNote><Cite><Author>郑佳卉</Author><Year>2019</Year><RecNum>6</RecNum><DisplayText><styleface="superscript">[15]</style></DisplayText><record><rec-number>6</rec-number><foreign-keys><keyapp="EN"db-id="5t9pfd9xkppsfyep0zsx9etkdzzrtvvx2vtt"timestamp="1615392271">6</key></foreign-keys><ref-typename="Thesis">32</ref-type><contributors><authors><author><styleface="normal"font="default"charset="134"size="100%">郑佳卉</style></author></authors><tertiary-authors><author><styleface="normal"font="default"charset="134"size="100%">郭杰</style><styleface="normal"font="default"size="100%">,</style></author><author><styleface="normal"font="default"charset="134"size="100%">李郜伟</style><styleface="normal"font="default"size="100%">,</style></author></tertiary-authors></contributors><titles><title><styleface="normal"font="default"charset="134"size="100%">基于</style><styleface="normal"font="default"size="100%">YOLOv3</style><styleface="normal"font="default"charset="134"size="100%">的行人视频目标检测方法</style></title></titles><keywords><keyword>行人检测</keyword><keyword>YOLOv3</keyword><keyword>k-means</keyword><keyword>多尺度检测</keyword><keyword>视频标注</keyword></keywords><dates><year>2019</year></dates><publisher><styleface="normal"font="default"charset="134"size="100%">西安电子科技大学</style></publisher><work-type><styleface="normal"font="default"charset="134"size="100%">硕士</style></work-type><urls></urls><remote-database-provider>Cnki</remote-database-provider></record></Cite></EndNote>[15]二是网络不再使用softmax进行分类,而是使用逻辑分类,这使得每个候选框中可以用多标记分类来预测其中含有的物体类别。如果仅仅使用softmax来分类,只会预测加强一种物体的推论,这显然是有缺陷的。同时,在Darknet53之外的其他网络,还采用了多尺度预测,也就是几个上采样后产生的特征图。如果只产生一个32采样特征图,这个特征图的尺寸比较小,像素点数目比较少,每个像素点的感受野很大,具有非常丰富的高层级语义信息,可能比较容易检测到较大的目标。但为了检测尺寸较小的目标,就需要在尺寸较大的特征图上面建立预测输出。通过将高层级的特征图尺寸放大之后(上采样)跟低层级的特征图进行融合,得到的新特征图既能包含丰富的语义信息,又具有较多的像素点,能够描述更加精细的结构。图4-5YOLOv3网络结构示意图1.2.3损失函数建立以32采样图为例,其他16采样、8采样过程与之一样。经过多次卷积核池化之后,特征图变为大小(H/k,W/k),这恰好与通过32采样分割成的小方块数目(H/k)*(W/k)一一对应,也就是说特征图上每个像素点分别跟原图上一个小方块区域对应。见图4-6所示。图4-6特征图与小方块区域形状对比为了将像素点(i,j)与第i行第j列的小方块区域所需要的预测值关联起来,每个小方块区域产生K个预测框,每个预测框需要(5+C)个实数预测值,则每个像素点相对应的要有K(5+C)个实数。为了解决这一问题,对特征图进行多次卷积,并将最终地输出通道数设置为K(5+C),即可将生成的特征图与每个预测框所需要的预测值巧妙的对应起来。之后将生成的特征图输出通道数数据与真实标注框的数据进行计算,得到损失函数。其中损失函数由置信度损失、分类损失与定位损失之和组成。首先通过计算K个置信度损失,将其中计算得到的置信度最大的一组实数保留,作为最后得到的损失函数。具体损失函数为:1.3本章小结本章首先介绍了单阶段目标检测的过程。然后详细介绍了YOLOv3候选区域产生网络、特征提取网络与损失函数。同时也提到了候选区域产生网络以及特征提取网络的一些不足。在第五章中,将对这些不足做出改进2实验及结果分析2.1实验环境与模型训练2.1.1使用深度学习框架介绍深度学习框架最初主要用于深度学习的科研工作,代表性开源深度学习框架包括谷歌于2015年提出的TensorFlow框架,脸书于2017年提出的PyTorch框架。百度从2012年开始研发完全具备自主知识产权的深度学习框架,并在2016年度开源了国内首个功能完备的开源深度学习平台飞桨(PaddlePaddle)ADDINEN.CITE<EndNote><Cite><Author>马艳军</Author><Year>2019</Year><RecNum>35</RecNum><DisplayText><styleface="superscript">[16]</style></DisplayText><record><rec-number>35</rec-number><foreign-keys><keyapp="EN"db-id="5t9pfd9xkppsfyep0zsx9etkdzzrtvvx2vtt"timestamp="1621429955">35</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author><styleface="normal"font="default"charset="134"size="100%">马艳军</style></author><author><styleface="normal"font="default"charset="134"size="100%">于佃海</style></author><author><styleface="normal"font="default"charset="134"size="100%">吴甜</style></author><author><styleface="normal"font="default"charset="134"size="100%">王海峰</style></author></authors></contributors><auth-address><styleface="normal"font="default"charset="134"size="100%">百度公司</style><styleface="normal"font="default"size="100%">;</style></auth-address><titles><title><styleface="normal"font="default"charset="134"size="100%">飞桨:源于产业实践的开源深度学习平台</style><styleface="normal"font="default"size="100%"></style></title><secondary-title><styleface="normal"font="default"charset="134"size="100%">数据与计算发展前沿</style></secondary-title></titles><periodical><full-title>数据与计算发展前沿</full-title></periodical><pages>105-115</pages><volume>1</volume><number>05</number><keywords><keyword>飞桨</keyword><keyword>人工智能</keyword><keyword>深度学习</keyword><keyword>深度学习框架</keyword></keywords><dates><year>2019</year></dates><isbn>2096-742X</isbn><call-num>10-1649/TP</call-num><urls></urls><remote-database-provider>Cnki</remote-database-provider></record></Cite></EndNote>[16]。飞桨是集深度学习核心框架、工具组件和服务平台于一体的技术领先、功能完备的开源深度学习平台,拥有完善的飞桨学习生态、活跃的开发者社区。飞桨深度学习框架前端语言使用Python语言,并提供丰富的编程API接口。而底层使用C++语言,保持框架执行率。同时飞桨提供技术领先、简单易用、兼顾显存回收与复用的显存优化策略,在很多模型上的表现优于其他开源框架。图5-1飞桨logo飞桨目标检测框架(PaddleDetection)是基于飞桨深度学习框架的端到端对象检测套件,其旨在帮助开发人员在整体开发中,以更快更好的方式构建,培训,优化和部署检测模型。PaddleDentection在模块化设计中实现各类主流目标检测算法,提供富裕的数据增强方法,网络组件(如backbone),损失函数功能等,并集成模型压缩和跨平台高性能部署的能力。见图5-2所示。PaddleDetection具有模型丰富(含有100+个预训练模型,涵盖多种全球竞赛冠军方案)、使用简洁(模块化设计、解耦各个网络组件,开发者轻松搭建、试用各种检测模型及优化策略)端到端打通(从数据增强、组网、训练、压缩、部署端到端打通,并完备支持云端/边缘端多架构、多设备部署)、高性能(基于高性能内核、训练速度上有优势)。图5-2PaddleDetection端到端开发套件其中,网络模型模块存储在yaml配置文件中,所有网络模型是以组件的形式进行定义与组合,网络模型模块的主要构成如下架构所示:ppdet/modeling/├──architectures#│├──faster_rcnn.py#FasterRcnn模型│├──ssd.py#SSD模型│├──yolov3.py#YOLOv3模型││...├──anchor_heads#anchor生成检测头模块│├──xxx_head.py#定义各类anchor生成检测头├──backbones#基干网络模块│├──resnet.py#ResNet网络│├──mobilenet.py#MobileNet网络││...├──losses#损失函数模块│├──xxx_loss.py#定义注册各类loss函数├──roi_extractors#检测感兴趣区域提取│├──roi_extractor.py#FPNRoIAlign等实现├──roi_heads#两阶段检测器检测头│├──bbox_head.py#Faster-Rcnn系列检测头│├──cascade_head.py#cascade-Rcnn系列检测头│├──mask_head.py#Mask-Rcnn系列检测头├──tests#单元测试模块│├──test_architectures.py#对网络结构进行单元测试├──ops.py#封装及注册各类PaddlePaddle物体检测相关公共检测组件/算子├──target_assigners.py#封装bbox/mask等最终结果的公共检测组件2.1.2数据集介绍本毕业设计基于深度学习的汽车目标检测,选择了UA-DETRAC汽车数据集。该数据集发表于2020年,是车辆检测和跟踪的大规模数据集,其数据主要拍摄于北京和天津的24个不同地点的道路过街天桥,并手动标注了8250个车辆和121万目标对象框。其图像分辨率为960×540像素。ADDINEN.CITE<EndNote><Cite><Author>Wen</Author><Year>2015</Year><RecNum>36</RecNum><DisplayText><styleface="superscript">[17]</style></DisplayText><record><rec-number>36</rec-number><foreign-keys><keyapp="EN"db-id="5t9pfd9xkppsfyep0zsx9etkdzzrtvvx2vtt"timestamp="1621434852">36</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Wen,L.</author><author>Du,D.</author><author>Cai,Z.</author><author>Lei,Z.</author><author>Chang,M.C.</author><author>Qi,H.</author><author>Lim,J.</author><author>Yang,M.H.</author><author>Lyu,S.</author></authors></contributors><titles><title>UA-DETRAC:ANewBenchmarkandProtocolforMulti-ObjectDetectionandTracking</title><secondary-title>ComputerScience</secondary-title></titles><periodical><full-title>ComputerScience</full-title></periodical><dates><year>2015</year></dates><urls></urls></record></Cite></EndNote>[17]数据集地址为/。2.1.3实验环境配置介绍百度aistudio在线平台运行。PaddlePaddle=2.02,python3=3.7.4,CPU=4core,RAM=32GB,GPU=v100,显存32GB,磁盘=100GB。2.2车辆检测结果分析2.2.1改进特征提取网络分析无论是FasterRCNN目标检测网络还是YOLOv3目标检测网络,卷积神经网络对于图像的特征提取起到了至关重要的作用。一般来说,随着卷积神经网络卷积池化层的进一步增多,网络获得的特征便越详细,整个网络的学习效果也就越好,当然其中也可能出现过拟合等情况。同时,随着卷积池化层的进一步增多,参数数量也进一步加深,整个网络地运算时间会自然而然的上升,反映在实际的应用时,就是单位时间内处理图片能力的下降。为了相对应提升两个目标网络的速度或是精度,这里特意选取了几种常用的卷积神经网络替代与原生的特征提取网络。首先是FasterRCNN部分,其原生的特征提取网络为ZF网络和VGG16网络。选择这些网络源于论文作者刚提出只有这些网络,但是随着卷积神经网络的发展,学术界早已有了更加不错的网络,见表5-1所示。从表中可以看出,Resnet网络的FLOPs(处理单位图像时所需花费的加法与乘法运算次数之和)明显低于VGG16和ZF,这说明运算量小,运算速度快,耗时少。同时,其Top-1error与Top-5error(图像分类时最大概率与前五个最大概率的错误百分率)的错误率也低于上述两个网络,这说明目标检测精度高。因此,在FasterRCNN中选择Resnet34网络作为它的特征提取网络。表5-1常用卷积网络参数量(图像分类类别为1000)网络模型参数量FLOPs(×109)Top-1errorTop-5errorVGG161.38×10812.528.419.62ZF2.56×1072.8736.011.70Resnet181.17×1071.8230.2410.92Resnet342.18×1073.6826.708.58Resnet101--19.871.60先介绍下Resnet特征提取网络。深度残差网络(Deepresidualnetwork,ResNet)由何凯明等人在2015年的CVPR大会上提出,一经提出,便在ILSVRC和COCO2015上的五项类别中取得了冠军,刷新了卷积神经网络模型在各项活动上的历史。可以说,深度残差网络的提出,在深度学习历史上,是一件里程碑事件。作者何凯明博士也由此摘得CVPR2016年最佳论文奖。何凯明博士也是真正意义上的在深度学习学界有着举足轻重起到至关重要作用的人物。从问题角度出发,深度残差网络的提出解决了当时困扰学界很久的卷积神经网络模型训练不容易的问题。在当时,2014年提出的VGG19模型在深度学界使用十分普遍,但也存在着性能不佳的问题。随着深度残差网络的提出,性能得到了巨大的提升,具体数据表5-1已给出。那么,是什么让此网络由如此强的性能呢,主要是解决了深度网络的退化问题。只要对深度学习有所了解,具备一些训练经验,就清楚,网络层数越多,深度越大,整个网络就可以进行更加复杂的图像特征提取,模型效果从理论上讲就会越好。但是,研究人员发现,随着网络深度的提升,网络精度会出现饱和的趋势,然后迅速下降。同时,这种问题并不是由过拟合引起的,甚至会出现56层的卷积网络效果不如20层的情况。见图5-3所示。图5-320层与56层网络效果ADDINEN.CITE<EndNote><Cite><Author>He</Author><Year>2016</Year><RecNum>37</RecNum><DisplayText><styleface="superscript">[18]</style></DisplayText><record><rec-number>37</rec-number><foreign-keys><keyapp="EN"db-id="5t9pfd9xkppsfyep0zsx9etkdzzrtvvx2vtt"timestamp="1621508885">37</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>He,K.</author><author>Zhang,X.</author><author>Ren,S.</author><author>Sun,J.</author></authors></contributors><titles><title>DeepResidualLearningforImageRecognition</title><secondary-title>IEEEConferenceonComputerVisionPatternRecognition</secondary-title></titles><periodical><full-title>IEEEConferenceonComputerVisionPatternRecognition</full-title></periodical><dates><year>2016</year></dates><urls></urls></record></Cite></EndNote>[18]为此,何凯明博士等人引入了残差学习的概念来解决上述问题。对于一个卷积神经网络结构,将输入设为x,则可以设得到的特征结果是H(x),为了避免出现卷积多层过后饱和甚至下降现象,令其可以学习到残差为F(x)=H(x)-x,那么原始的特征结果是F(x)+x。这样做,可以比优化原始的卷积神经网络更加容易。那么,在极端情况下,也就是当残差为0时,此时特征网络仅仅做了恒等变化,网络性能并不会下降。实际上残差不会为0,这也会使得卷积神经网络在输入特征基础上学习到新的特征,从而拥有更好的性能。残差学习的结构如图5-4所示。残差网络对整个卷积神经网络起到了深远的影响。现下使用最多地在yolo中的Darknet网络以及接下来要介绍的mobilenet网络都参考了这一设计。图5-4残差学习下面是采用了resnet34以及resnet101卷积神经网络的FasterRCNN目标检测网络。见表5-2所示。从数据中可以看出,随着网络深度的提高,精度只是上升了0.6个百分点,而处理速度却下降了将近一半,从实际情况出发,选择Resnet34作为特征提取网络较为合适。表5-2FasterRCNN目标检测网络卷积神经网络处理图像速度处理图像准确率FasterRCNN+Resnet347.38fps93.2%FasterRCNN+Resnet1011.84fps93.8%其次是YOLOv3部分,其原生的Darknet53网络是比较新的一款卷积神经网络,其运行效果也十分不错,但是随着YOLOv3网络的普及,一方面有着将模型迁移上我们小型SOC,如树莓派,嵌入式设备等,这对YOLOv3提出了模型体积要小这一要求,但是现有的Darknet53卷积神经网络并不能很好地满足体积小这一要求,所以更加需要一款模型较小,但检测能力不能下降太多的卷积神经网络,这便是mobilenet卷积神经网络。另一方面,对一个系统的评判,还需要对其兼容性有很大的要求,所以需要对其他卷积网络对其的影响进行测试,这便选择了Resnet34卷积神经网络。先介绍下mobilenet卷积神经网络。2017年4月,谷歌公司提出了mobilenet卷积神经网络。当时,随着深度学习的发展,卷积神经网络朝着建立更加深入、更加复杂的网络,其目的便是提高精度。但随着移动互联网的发展,基于现实场景的需要以及设备有限的算例运行,出现了越来越多关于将神经网络在移动设备上或者嵌入式设备运行的呼声。这对卷积神经网络提出了新要求,构建一个快且小的模型。谷歌的科学家们通奸使用深度可分离卷积(depthwiseseparableconvolutions)替代传统卷积与在网络中引入两个收缩超参数(shrinkinghyperparameters):宽度乘子(widthmultiplier)和分辨率乘子(resolutionmultiplier),ADDINEN.CITE<EndNote><Cite><Author>Howard</Author><Year>2017</Year><RecNum>38</RecNum><DisplayText><styleface="superscript">[19]</style></DisplayText><record><rec-number>38</rec-number><foreign-keys><keyapp="EN"db-id="5t9pfd9xkppsfyep0zsx9etkdzzrtvvx2vtt"timestamp="1621514860">38</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Howard,A.G.</author><author>Zhu,M.</author><author>Chen,B.</author><author>Kalenichenko,D.</author><author>Wang,W.</author><author>Weyand,T.</author><author>Andreetto,M.</author><author>Adam,H.</author></authors></contributors><titles><title>MobileNets:EfficientConvolutionalNeuralNetworksforMobileVisionApplications</title></titles><dates><year>2017</year></dates><urls></urls></record></Cite></EndNote>[19]解决了这一问题。深度可分离卷积实质上是将标准卷积分解成了两步,分别是深度卷积(depthwiseconvolution)和逐点卷积(pointwiseconvolution)。这里以具体例子为例,在标准卷积中,输入一个10×10×3的特征图,在经过4×4×3的卷积核后得到一个7×7×1的输出特征图。当特征图数量为256时,就得到7×7×256的输出特征图。而在深度卷积中,4×4×3的卷积核独立成3个4×4×1,并独立对每一通道进行卷积操作,得到7×7×3的输出特征图。在逐点卷积中,用深度卷积得到的7×7×3输出特征图与1×1×3的卷积核进行卷积,得到7×7×1的输出特征图。因为特征图数量为256时,所以就得到7×7×256的输出特征图,与标准卷积一致。通过这样的计算方式,深度卷积网络大幅降低了参数量和计算量,节省了算力,降低了模型大小。而宽度引子a(a在0,1之间),通过控制输入和输出的通道数,将模型计算量和参数降低了约a2倍。分辨率因子p通过控制输入的分辨率,将模型计算量和参数降低了约p2倍。总的来说,通过上述几种方法,成功让整个网络的算力要求降低、模型体积下降。下面是采用了resnet34以及mobilenet_v1卷积神经网络的YOLOv3目标检测网络。见表5-3所示。从表中可以看出,使用resnet34卷积神经网络的YOLOv3算法精度最高,但和使用Darknet53卷积神经网络的YOLOv3相差并不是很大,只有0.14个百分点。不过Darknet53其速度达到了46.20fps,远远超过Resnet34网络。我们又可以发现,采用Mobilenet卷积神经网络的YOLOv3在准确率上与上述两者相差较大,这也符合Mobilenet论文作者所说的,对于网络的追求,不过多追求准确率,而是在体积以及速度上有所追求。这也是为了减小模型体积所付出的必要代价。表5-3YOLOv3目标检测网络卷积神经网络处理图像速度处理图像准确率YOLOv3+Darknet5346.20fps99.18%YOLOv3+Resnet3432.18fps99.32%YOLOv3+Mobilenet_v137.55fps96.86%2.2.2锚框重新设置性能分析无论是FasterRCNN目标检测网络还是YOLOv3目标检测网络,其中的锚框部分,对物体的目标检测起到了重要作用。我们可以推论锚框生成地对物体的检测框与符合图片的特征,整个网络的效果会越好,那么整个网络的运算速度会加快、运算时间会减少甚至与整个网络的预测精度会得到提升。因此提升锚框对整个数据集的适配性,是十分必要的。可以说,锚框设置的合理与否,极大地影响了最终模型检测性能的好坏。其中,FasterRCNN中RPN网络部分的锚框的选择为三个尺度{128,256,512},三个比例{1:1,1:2,2:1},一共九组锚框,针对VOC、COCO等数据集的所有类别。YOLOv3则是{[10,13],[16,30],[33,23],[30,61],[62,45],[59,119],[116,90],[156,198],[373,326]},对应于小中大三种尺寸。其来源于作者通过kmeans聚类COCO数据集中的目标物。ADDINEN.CITE<EndNote><Cite><Author>Redmon</Author><Year>2018</Year><RecNum>7</RecNum><DisplayText><styleface="superscript">[14]</style></DisplayText><record><rec-number>7</rec-number><foreign-keys><keyapp="EN"db-id="5t9pfd9xkppsfyep0zsx9etkdzzrtvvx2vtt"timestamp="1615392690">7</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author>Redmon,Joseph</author><author>Farhadi,Ali</author></authors></contributors><titles><title>YOLOv3:AnIncrementalImprovement</title><secondary-title>arXive-prints</secondary-title></titles><periodical><full-title>arXive-prints</full-title></periodical><dates><year>2018</year></dates><urls></urls></record></Cite></EndNote>[14]显然,上述两个网络的锚框设置来源于通用数据集的所有类别,没有专门的适配我们当下训练的数据集。从比如说我们数据集照片的像素是960*540,汽车数量较多且大小偏小,上述默认的设置就不符合实际情况。因此,需要重新设置锚框尺寸。我们选择最通用的K-means均值聚类算法,K-means算法是一种迭代求解的聚类分析方法。我们通过它对数据集重新聚类来设计两算法的锚框尺寸。K-means算法的计算过程如下:从任意个样本中随机选择Q个样本,并把这Q个样本作为聚类中心。计算每个样本中所有样本与Q个聚类中心的距离,将这个样本中的所有样本归到离其距离最近的聚类中心的类中。重新计算已得到的各个类的聚类中心。迭代2,3步,直到新的聚类中心与原来的聚类中心相等或小于设定阈值。结束算法。也就说明样本聚类中心不在变化,算法收敛。ADDINEN.CITE<EndNote><Cite><Author>吴夙慧</Author><Year>2011</Year><RecNum>39</RecNum><DisplayText><styleface="superscript">[20]</style></DisplayText><record><rec-number>39</rec-number><foreign-keys><keyapp="EN"db-id="5t9pfd9xkppsfyep0zsx9etkdzzrtvvx2vtt"timestamp="1621520304">39</key></foreign-keys><ref-typename="JournalArticle">17</ref-type><contributors><authors><author><styleface="normal"font="default"charset="134"size="100%">吴夙慧</style></author><author><styleface="normal"font="default"charset="134"size="100%">成颖</style></author><author><styleface="normal"font="default"charset="134"size="100%">郑彦宁</style></author><author><styleface="normal"font="default"charset="134"size="100%">潘云涛</style><styleface="normal"font="default"size="100%"></style></author></authors></contributors><titles><title><styleface="normal"font="default"size="100%">K-means</style><styleface="normal"font="default"charset="134"size="100%">算法研究综述</style></title><secondary-title><styleface="normal"font="default"charset="134"size="100%">现代图书情报技术</style></secondary-title></titles><periodical><full-title>现代图书情报技术</full-title></periodical><pages>28-35</pages><volume>27</volume><number>5</number><dates><year>2011</year></dates><urls></urls></record></Cite></EndNote>[20]得到的锚框质量标准本文采用IOU这一相似度标准来进行计算。通过计算预测锚框与实际锚框的IOU大小来评判最后结果。由此得到了FasterRCNN目标检测网络和YOLOv3目标检测网络重新聚类后的锚框。见表5-4,表5-5所示。表5-4FasterRCNN聚类前后锚框对比锚点尺寸锚点比例生成候选区域尺寸原有尺寸重新尺寸原有尺寸重新尺寸原有尺寸重新尺寸128×12829×292:12:1181×90.541×21128×12829×291:11:1128×12829×29128×12829×291:21:290.5×18121×41256×25654×542:12:1362×18179×38256×25654×541:11:1256×25654×54256×25654×541:21:2181×36238×79512×512108×1082:12:1724×362153×76512×512108×1081:11:1512×512108×108512×512108×1081:21:2362×72476×153在只改变锚框情况下,IOU从22.95%上升到68.05%,map从原来的93.2%上升到91.3%,速度从7.38fps上升到8.26fps。虽然因为只是单纯只检测一类物体汽车,所以提升效果没有十分显著。但也可以从IOU中看出,如果种类增多的,效果会很好。表5-5YOLOv3聚类前后锚框对比锚框类型锚框IOU原有锚框[[10.13.],[16.30.],[33.23.],[30.61.],[62.42.],[59.119],[116.90.],[156.198.],[373.326.]]68.24%重新聚类锚框1[[17.21.],[22.33.],[31.41.],[38.56.],[51.53.],[76.61.],[57.93.],[98.110.],[142.177.]]77.44%重新聚类锚框2[[17.22.],[21.32.],[32.46.],[41.51.],[50.73.],[59.62.],[78.78.],[92.119.],[141.162.]]77.39%重新聚类锚框3[[17.22.],[21.31.],[31.42.],[42.51.],[48.62.],[60.72.],[76.
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 适合中考英语培训的课件
- 色彩肌肤护理的美丽提升技巧
- 苏教版必修一《回旋舞》共30张宣讲
- 美容护肤成分解析
- 护理质量与患者满意度提升策略
- 色彩肌肤护理的个性化护理方案
- 胎儿电子监护与医患沟通
- 生理学核心概念:系统功能恢复技术课件
- 生理学核心概念:运动技能学习生理课件
- 美容美体中的艺术创作
- 国考题库文件下载及答案详解(历年真题)
- 军采协议供货合同范本
- 临时开梯协议合同模板
- 职工代表知识培训内容课件
- 2025年医院年度应急演练计划表
- T-CISIA 010-2025 生物刺激素 微生物功能性代谢物通则
- 急性腹痛急救护理
- 2024年新高考Ⅰ卷英语真题(原卷+答案)
- 室外景观机电施工方案
- 机械安装安全培训课件
- 高标准农田项目冬季施工方案
评论
0/150
提交评论