基于yolov8的车牌检测训练全流程

YOLOv8 是Ultralytics的YOLO的最新版本。作为一种前沿、最先进(SOTA)的模型,YOLOv8在之前版本的成功基础上引入了新功能和改进,以提高性能、灵活性和效率。YOLOv8支持全范围的视觉AI任务,包括检测, 分割, 姿态估计, 跟踪, 和分类。这种多功能性使用户能够利用YOLOv8的功能应对多种应用和领域的需求。

代码地址:https://github.com/ultralytics/ultralytics

一、数据集预处理

yolov8的数据集格式处理可以参考我的这篇博客:yolo系列模型训练数据集全流程制作方法(附数据增强代码)

这里就不再详细讲述,处理完并划分训练集和验证集后格式为下:

python 复制代码
- mydata
  |- train
  |  |- images
  |  |- labels
  |
  |- val
  |  |- images
  |  |- labels

处理完以后,自己创建一个mydata.yaml文件,文件内容如下:

python 复制代码
train: mydata/train/images
val: mydata/val/images
#如果按照上述方式建立文件夹,则上面train、test和val地址可以不变

nc: 8         #标签类别个数
names: ['0', '1', '2', '3', '4', '5', '6', '7']    #标签名
#上面nc和names可以根据自己的数据集进行修改

然后将mydata.yaml直接放到yolov8代码的主目录下即可,即./ultralytics-main下。

二、训练

使用yolov8的小伙伴可以发现,yolov8同v5、v7不太一样,里面的文件代码路径什么的都发生了很大的变化,所以刚上手可能会觉得非常的不知所措。但是,其实v8训练起来同前面的版本相比更加简单,可以直接用yolo命令进行训练。

首先,我们需要安装 ultralytics 这个库。

python 复制代码
pip install ultralytics

然后直接使用下面的指令在命令行进行单卡训练即可:

python 复制代码
yolo task=detect mode=train model=yolov8n.pt data=mydata.yaml batch=32 epochs=100 imgsz=640 workers=16 device=0

注意:
1. 如果是在windows系统中训练yolov8的话,worker设置成0,如果是Linux或服务器的话,就可以设置成8或16等。
2. 如果训练过程中报了路径的错误,那么就将mydata.yaml改为绝对路径。

训练成功如下图所示:

如果你有服务器,想要进行多卡训练,则使用下面的命令:

python 复制代码
yolo task=detect mode=train model=yolov8n.pt data=mydata.yaml batch=32 epochs=100 imgsz=640 workers=16 device=\'0,1,2,3\'

三、验证

在训练完以后,我们可以使用验证集对模型的性能进行一个验证,具体命令如下:

python 复制代码
yolo task=detect mode=val model=runs/detect/train/weights/best.pt data=mydata.yaml device=0

四、预测

对图片进行预测的代码如下:

python 复制代码
yolo task=detect mode=predict model=runs/detect/train/weights/best.pt source=inferdata device=0

如果想要将检测的结果导出labels的txt文件的话,命令如下:

python 复制代码
yolo task=detect mode=predict model=runs/detect/train/weights/best.pt source=inferdata save_txt=True device=0

对模糊图片的检测结果如下:

五、导出ONNX模型

导出onnx的代码如下:

python 复制代码
yolo task=detect mode=export model=runs/detect/train/weights/best.pt format=onnx
相关推荐
Loacnasfhia93 小时前
面部表情识别与分类_YOLOv10n与MobileNetV4融合方案详解
yolo·分类·数据挖掘
Loacnasfhia95 小时前
贝类海产品物种识别与分类_---_基于YOLOv10n与特征金字塔共享卷积的改进方法
yolo·分类·数据挖掘
Coding茶水间6 小时前
基于深度学习的狗品种检测系统演示与介绍(YOLOv12/v11/v8/v5模型+Pyqt5界面+训练代码+数据集)
开发语言·人工智能·深度学习·yolo·目标检测·机器学习
Dev7z7 小时前
基于改进YOLOv5n与OpenVINO加速的课堂手机检测系统设计与实现
人工智能·yolo·openvino·手机检测·课堂手机检测
微尘hjx9 小时前
【数据集 02】车牌CCPD命名规则及下载地址
yolo·ccpd·ccpd2019·ccpd2020·车牌·车牌数据集
智驱力人工智能10 小时前
景区节假日车流实时预警平台 从拥堵治理到体验升级的工程实践 车流量检测 城市路口车流量信号优化方案 学校周边车流量安全分析方案
人工智能·opencv·算法·安全·yolo·边缘计算
Katecat9966311 小时前
YOLOV8-ReCalibrationFPN-P3456:沥青路面施工阶段自动识别与分类
yolo·分类·数据挖掘
wfeqhfxz258878212 小时前
【目标检测系列】:基于YOLOv10n的MAN卡车超载检测系统·结合FasterCGLU与WFU优化算法_1
算法·yolo·目标检测
zy_destiny1 天前
【工业场景】用YOLOv26实现桥梁检测
人工智能·深度学习·yolo·机器学习·计算机视觉·目标跟踪
Mark White1 天前
YOLOv3-tiny 网络结构浅析
yolo