车辆检测+yolov5训练UA-DETRAC车辆数据集

由于涉及图像识别算法,我们这次使用YOLO V5(You Only Look Once)来作为我们的图像识别框架。YOLO V5是目前准确度与检测速度最高的图像识别算法。同时,YOLO V5基于PyTorch框架,能够在日后很方便的移植到各种边缘化设备中(开发板,微型计算机,终端设备)。关于YOLO V5的算法原理,请参照原作者论文《You Only Look Once: Unified, Real-Time Object Detection》[6]。

YOLO V5有不同版本的预训练模型,分别是Nano版本,Small版本,Medium版本,Large版本与Extreme版本,各个版本的检测准确度与检测速度都不相同,大致如下:

 

ea447a3c398812b9291fc6456a1a935d.png

「YOLO V5预训练模型准确度、速度比较」

基于检测速度与检测准确度的考虑,我们选择了各项指标都很突出的YOLO V5L模型作为我们的预训练模型,并使用UA-DETRAC车辆数据集进行训练。UA-DETRAC数据集是车辆检测和跟踪的大规模数据集,数据集主要拍摄于北京和天津的道路过街天桥(京津冀场景),并手动标注了 8250 个车辆 和 121万目标对象外框,共82050张图片。车辆分为四类,即轿车、公共汽车、厢式货车和其他车辆。天气情况分为四类,即多云、夜间、晴天和雨天。我们训练使用90%的照片作为训练集,10%的照片作为验证集,训练200回合。

训练时模型收敛速度非常快,在第20个回合的时候就BOX_LOSS就已经收敛到了0.0161,CLASS_LOSS收敛到了9.28 E-4,准确度则为98.47%。在第200回合时,BOX_LOSS收敛到了0.01281,CLASS_LOSS收敛到了6.0252 E-4的级别,而准确度则是达到了99.22%。

 

406e09132b7578d20c7a7a3f81e3ee31.jpeg

「训练识别效果」

UA-DETRAC车辆数据集:

UA-DETRAC
├── Annotations
│   ├── DETRAC-Test-Annotations-XML.zip
│   └── DETRAC-Train-Annotations-XML.zip
└── Images
    ├── DETRAC-test-data.zip(3.94GB, 40 sequences)
    └── DETRAC-train-data.zip(5.22GB, 60 sequences)

链接:https://pan.baidu.com/s/130w_33XEnwTjP3OOqdkfHA
提取码:4rgd

网上相关资源链接:

  1. 基于UA-DETRAC车辆数据集在windows10系统下yolov3模型训练_uadetrac车辆检测数据集-CSDN博客
  2. 使用yolov5训练UA-DETRAC车辆数据集 - 知乎 (zhihu.com)
  3. yolov5_UA_DETRAC/yolov5_UA_DETRAC at main · zigangzhao-ai/yolov5_UA_DETRAC (github.com)
  4. wy17646051/UA-DETRAC-Format-Converter: Convert UA-DETRAC dataset to the dataset format supported by YOLOv5 (github.com)
  5. ggyybb/UA_DETRAC-VOC-YOLO: car detection (github.com)
  6. MRNOBODY-ZST/YOLOV5-UA-DETRAC: Run Dataset UA-DETRAC On YOLOV5 (github.com)
  7. ultralytics/yolov5: YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite (github.com)
  8. 深度学习目标检测:YOLOv5实现车辆检测(含车辆检测数据集+训练代码)_yolov5车辆检测-CSDN博客

这里比较坑的点在于怎么把UA-DETRAC车辆数据集转成yolo那种格式进行训练(之前没用过yolo训练所有对这方面很不熟悉),经过多次尝试后,用的链接5的方法,但是记得生成后要把图片和标签移动到同一个文件夹,而且命名要改成JPEGImages

最终数据集目录如下:

3b6d97a357db4b609b674f647741fc31.png

8cba1d3527464f3d8142dab51aec1fdf.png

训练用的yolov5

ff9f569698e04bda833000d1c01422c0.png

处理数据集代码

93bba6796e114314a36509a6c7a5a58e.png

对应问题:AssertionError: train: No labels in tmp\train.cache. Can not train without labels.

See https://github.com/ultralytics/yolov5/wiki/Train-Custom-Data 打开dataset.py文件,使用快捷键Ctrl+F使用搜索框搜索define label,按照正常的VOC标注之后图片应该时保存在JPEGImages文件夹下的,但是根据源码则是读取的images里的图片,因此需要将images改为JPEGImages,这样就能正常读取了。

 

 

 

 

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值