【《基于YOLOv5的电动车头盔检测算法案例分析》2700字】_第1页
【《基于YOLOv5的电动车头盔检测算法案例分析》2700字】_第2页
【《基于YOLOv5的电动车头盔检测算法案例分析》2700字】_第3页
【《基于YOLOv5的电动车头盔检测算法案例分析》2700字】_第4页
【《基于YOLOv5的电动车头盔检测算法案例分析》2700字】_第5页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

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

文档简介

基于YOLOv5的电动车头盔检测算法案例分析目录TOC\o"1-3"\h\u8422基于YOLOv5的电动车头盔检测算法案例分析 1149361.1搭建图像识别开发环境 1325481.1.1Anaconda和Conda 1201031.1.2Pytorch的安装 1213671.2YOLOv5实战 1179371.2.1数据预处理 166421.2.2数据集训练 3193151.2.3结果分析 6243051.2.4小结 8搭建图像识别开发环境Anaconda和Conda显卡为GeForceGTX960M,arriob环境CUDA版本为10.2,安装CONDNN和ANNACONDA。Pytorch的安装创建pytorch环境,环境名字可以自己确定,这里airrob使用pytorch1.7作为环境名:condacreate-npytorch1.7python=3.8激活pytorch1.7的环境:condaactivatepytroch1.7/activatepytorch1.7在创建的pytorch环境下安装pytorch的1.7版本,执行命令:condainstallpytorchtorchvisioncudatoolkit=10.2-cpytorchYOLOv5实战数据预处理搜集的数据大部分来源于网络,激活环境后,在Annaconda下执行pythonlabelImg.py打开Labelimg,使用Labelimg标注软件对输入图像进行标注,标注类别为佩戴安全头盔,电动(摩托)车两类,由于考虑到电动车和摩托车等在非机动车道行驶的驾驶工具对道路安全事故均有影响,在数据集中穿插了除自行车以外的二轮车、三轮车,自行车的速度不高在道路上流量不高故未进行标注,包含不同角度,不同环境下的安全头盔及电动车的搜集图片。Labelimg是一个可视化的图像标注工具,FasterR-CNN,YOLO,SDD等目标检测网络所需要的数据集,均需要借此工具标定图像中的目标,生成XML文件是遵循PASCALVOC格式的,在第二章YOLOv5的目标框回归中提到YOLOLables文件,是人工标注框的另一种表达形式,可以相互转化,的打开第一张输入图片的txt文件,如图3-1所示,在本文中,0表示标注对象为图STYLEREF1\s图STYLEREF1\s3SEQ图\*ARABIC\s12第一张数据的YOLO格式在Labelimg文件中的data文件下生成txt文件,分行写入需要标注的类别分别是:helmet、electricmotorcycle。设置文件夹层次为:yolov5/VOCdevkit-helmet/VOC2007;VOC2007下面建立两个文件夹:Annotations和JPEGImages,文件命名时不宜出现空格将影响训练;JPEGImages放所有的训练和测试图片,Annotations放所有的xml标记文件。本文共收集相应jpg图片共476张,经过执行python脚本pythonprepare_data.py之后自动划分为训练集371张,测试集105张。图STYLEREF1\s3图STYLEREF1\s3SEQ图\*ARABIC\s13修改后的voc.yaml文件数据集训练首先是对可供参考的COCO2017数据集中的COCO128训练集进行了预训练,将COCO128和YOLOv5放在同一目录下,COCO128文件夹下有两个子文件分别是images和labels,用来放置图片和标签。coco128.yaml在date文件夹下,打开可以看到该训练集有80个类,从person到toothbrush,由于本计算机性能有限,但时间充足,设batch=1,epochs=64,还是使用v5x模型。图STYLEREF1\s图STYLEREF1\s3SEQ图\*ARABIC\s14batch1的训练效果接下来对自己处理好的数据集进行训练,训练时根据电脑配置设计各项参数如下表,第一步训练模型,在yolov5路径下执行命令,这个过程非常缓慢,由于运行内存较小,所以batch-size改为1,理论上是在线学习,优化性能较差,收敛速度很慢甚至可能不收敛,通常来说,batch-size大,越能够表征全体数据的特征,其确定的梯度方向越准确,且GPU对2的幂次batch可以发挥更佳的性能,而为了保证结果的优良,训练次数保持为100,训练结束后在runs/train中得到一个exp文件,exp目录中包含训练的权重文件。表格SEQ表格\*ARABIC1参数weightcfgdataepochbatch-sizedevice意义预训练权重需要训练模型文件数据文件夹神经网络遍历次数每批数据量大小CPU/GPU内容yolov5xyaml文件1001(默认8)GPU训练可视化,在yolov5路径下执行tensorboard--logdir=./runs,得到localhost:6006/#scalars网址。在YOLOv5文件夹下创建testfilms用来存放需要训练的图片及视频,这里要使用到模型的权重文件best.pt。配置参数conf设为0.1,而在性能统计训练时在进行性能统计时将batch-size大小调整回16。结果分析图STYLEREF1\s图STYLEREF1\s3SEQ图\*ARABIC\s15在带花坛的街道,大流量拥堵十字路口,也存在误检的情况如栅栏后的共享单车停放点区域被检测为electricmotorcycle,但对于遮挡问题还是处理的比较好,由于对安全头盔的检测最终还是要运用于动态场景,所以选择在红绿灯路口拍摄一段两分钟的视频进行测试,选取训练好的该视频截图,a是驾驶人背对镜头而过,行驶速度较快,b是驾驶人在与其他一些物体发生重叠、出现遮挡现象时,c是在骑行过程中,随着与镜头距离的变化,安全头盔在背景中的尺度逐渐变大的场景。d是三轮车重叠,及一处误检,公共汽车的轮胎被误检为是electricmotorcycle。(a)(b)图STYLEREF1\s3图STYLEREF1\s3SEQ图\*ARABIC\s16batch0的训练效果图STYLEREF1\s图STYLEREF1\s3SEQ图\*ARABIC\s17图STYLEREF1\s图STYLEREF1\s3SEQ图\*ARABIC\s18训练结果可视化从runs/train/exp目录下得到result.txt文件,解析后重要参数参考下表:GPUImg_sizePrecisionRecallmAP@0.5mAP@0.5:0,952.42G6400.99230.98220.99510.8669图STYLEREF1\s图STYLEREF1\s3SEQ图\*ARABIC\s19PR曲线小结对于本次训练结果,还有更多值得修正、完善的地方,在有条件的情况下可以再一步进行以下操作:制作/寻找更完善的数据集(1)数据集数量:一是图片的多少,本次训练的数据集只有四百多张,可以继续收集;二是图片中所含主要特征的样本数量的多少。还要注意用于训练的数据占总数据比例不能太小,防止在训练过程中出现过拟合的情况。(2)数据集质量:数据集图片中必须包含能够体现要识别物品的主要特征。例如安全头盔的样式繁杂,属于小目标,需要提供同种而不同样、同样而不同角度的样本图像;其次对于有些图片中车手服和车、安全头盔是一套或整体颜色相近,安全头盔带有装饰物的数据应当适度删减;再者是图片的像素要适宜,不能过大也不能过小,尽可能选择背景干净的图片。使用更好的硬件设备训练参数设置,受限于电脑配置,内存撑不住,将batch_size调值为1(极端),使得每次修正方向以各自梯度方向修正,处理相同数据量时的速度慢,使用更好的硬件设备,或Multi-CPU训练,可以适量调大batch_size值。使用训练技巧(1)训练预热:一是对于图像做预处理,做一些基本数据增强操作;二是训练小学习率[32],让模型慢慢趋于稳定,等模型相对稳定后再对预先设置的数据集进行训练。(2)超参数进化:YOLOv5中利用遗传算法,比较繁琐,参考[33]中使用的k超参数方法

温馨提示

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

评论

0/150

提交评论