news 2026/4/16 15:45:06

深度学习框架YOLOV8模型如何训练 监控视角交通目标车辆行人检测数据集 YOLO格式|高清路口实时监控|行人/车辆/多目标

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
深度学习框架YOLOV8模型如何训练 监控视角交通目标车辆行人检测数据集 YOLO格式|高清路口实时监控|行人/车辆/多目标

监控视角交通目标车辆行人检测数据集 YOLO格式|高清路口实时监控|行人/车辆/多目标

✅ 直接来自路口监控摄像头,非网络爬取、非二次加工
✅ YOLO标准格式、

📊 数据集套餐价格表

等级数据量核心权益
【1】5,000 张适合快速验证数据质量与模型适配性。
【2】50,000 张满足课程设计、毕业设计或小型实验项目需求。

—1

基于 YOLOv8 + 车辆行人检测数据集(2类)的完整训练流程与代码,适用于您提供的YOLO格式数据集,包含车辆、行人两类目标。


📁 一、项目结构说明

VehiclePersonDetection/ ├── datasets/# 数据集目录(YOLO格式)│ ├── images/ │ │ ├── train/# 训练图像│ │ └── val/# 验证图像│ └── labels/ │ ├── train/# 训练标签(.txt)│ └── val/# 验证标签(.txt)├── vehicle_person.yaml# 数据配置文件├── train.py# 模型训练脚本└── runs/# 训练输出目录(自动创建)

🔧 二、1. 安装依赖

pipinstallultralytics opencv-python numpy matplotlib tqdm

推荐使用 Python 3.8~3.11,PyTorch ≥ 1.8


🗃️ 三、2. 数据集格式要求(YOLO 标准)

每个图像对应一个.txt文件,例如:

  • datasets/images/train/001.jpg
  • datasets/labels/train/001.txt

.txt内容格式:

<class_id> <x_center> <y_center> <width> <height>
类别class_id示例
车辆00 0.45 0.6 0.2 0.1
行人11 0.7 0.5 0.1 0.2

✅ 所有坐标为归一化值([0,1]),由 LabelImg 自动转换
✅ 使用 LabelImg 进行标注并导出 YOLO 格式


📂 四、3. 创建vehicle_person.yaml配置文件

# vehicle_person.yamltrain:./datasets/images/trainval:./datasets/images/valnc:2names:['车辆','行人']

nc=2表示两个类别
names顺序必须与标注时的 class_id 对应(class_id=0 → 车辆,class_id=1 → 行人)


🚀 五、4. 训练代码(train.py

# train.pyfromultralyticsimportYOLOimportosdefmain():# 确保输出目录存在os.makedirs("runs",exist_ok=True)# 加载预训练模型(YOLOv8s)model=YOLO('yolov8s.pt')# 支持 yolov8n, yolov8m, yolov8l 等# 开始训练results=model.train(data='vehicle_person.yaml',# 数据配置文件epochs=100,# 训练轮数imgsz=640,# 输入图像尺寸batch=16,# 批大小(根据显存调整:8/16/32)name='vehicle_person_train',# 实验名称optimizer='AdamW',# 优化器lr0=0.001,# 初始学习率lrf=0.01,# 最终学习率 = lr0 * lrfpatience=15,# 早停:若15轮无提升则停止save=True,# 保存最佳和最后模型save_period=10,# 每10轮保存一次device=0,# GPU设备ID(0,1,... 或 'cpu')workers=4,# 数据加载线程数project='runs',# 输出根目录exist_ok=False,# 若实验名已存在是否覆盖verbose=True# 打印详细日志)print("✅ 训练完成!最佳模型路径:",results.save_dir/"weights/best.pt")if__name__=='__main__':main()

▶️ 六、5. 启动训练

在终端执行:

python train.py

⏱️ 训练时间参考(RTX 3060):

  • batch=16, imgsz=640 → 约 1.0 小时(100 epochs)

📈 七、6. 训练过程监控

  • 日志自动保存在:runs/detect/vehicle_person_train/
  • 可视化指标:
    • results.png:loss、mAP@0.5、precision、recall 曲线
    • confusion_matrix.png:混淆矩阵
    • labels.jpg:标签分布热力图
  • 使用 TensorBoard(可选):
    tensorboard --logdir runs

✅ 八、7. 验证与测试(可选)

训练完成后,可单独验证:

fromultralyticsimportYOLO model=YOLO('runs/detect/vehicle_person_train/weights/best.pt')metrics=model.val(data='vehicle_person.yaml')print(metrics.box.map)# mAP@0.5print(metrics.box.map50)# mAP@0.5print(metrics.box.precision)# Precisionprint(metrics.box.recall)# Recall

📤 九、8. 导出模型(用于部署)

model=YOLO('best.pt')model.export(format='onnx')# 导出 ONNXmodel.export(format='engine')# 导出 TensorRT(需 CUDA)model.export(format='openvino')# 导出 OpenVINO

💡 十、调优建议(针对车辆行人检测)

问题解决方案
车辆小目标漏检增加imgsz=1280、使用yolov8myolov8l
行人遮挡误检降低conf_threshold=0.3、增加数据增强
类别不平衡train.py中添加class_weights=[1.0, 2.0]
显存不足减小batch(如 8)、使用yolov8n、设置imgsz=416

📎 附:快速检查数据集是否合规

# check_dataset.pyimportosdefcheck_dataset(root='datasets'):forsplitin['train','val']:img_dir=os.path.join(root,'images',split)lbl_dir=os.path.join(root,'labels',split)imgs=set(os.listdir(img_dir))lbls=set(f.replace('.txt','.jpg')forfinos.listdir(lbl_dir))missing=imgs-lbls extra=lbls-imgsifmissing:print(f"⚠️{split}: 缺少标签的图片:{missing}")ifextra:print(f"⚠️{split}: 多余的标签:{extra}")print("✅ 数据集结构校验完成!")if__name__=='__main__':check_dataset()

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/16 8:43:11

计算机毕设java脱口秀表演网站 基于Java的脱口秀表演信息管理平台设计与实现 Java语言构建的脱口秀表演管理系统开发

计算机毕设java脱口秀表演网站c69619&#xff08;配套有源码 程序 mysql数据库 论文&#xff09; 本套源码可以在文本联xi,先看具体系统功能演示视频领取&#xff0c;可分享源码参考。随着互联网的飞速发展&#xff0c;人们获取信息的渠道越来越多样化&#xff0c;但信息的真实…

作者头像 李华
网站建设 2026/4/16 9:06:31

TensorFlow中的批归一化(BatchNorm)作用机制剖析

TensorFlow中的批归一化&#xff08;BatchNorm&#xff09;作用机制剖析 在构建深度神经网络时&#xff0c;你是否遇到过这样的情况&#xff1a;模型刚开始训练就出现梯度爆炸&#xff0c;损失值直接“飞”出屏幕&#xff1b;或者训练过程抖动剧烈&#xff0c;收敛极其缓慢&am…

作者头像 李华
网站建设 2026/4/16 9:06:06

Open-AutoGLM下载即用指南:5分钟完成本地部署的终极方法

第一章&#xff1a;Open-AutoGLM下载即用指南概述Open-AutoGLM 是一款基于开源大语言模型技术构建的自动化代码生成工具&#xff0c;旨在为开发者提供开箱即用的智能编程辅助体验。通过集成预训练模型与本地化部署方案&#xff0c;用户可在无需联网的情况下完成代码补全、函数生…

作者头像 李华
网站建设 2026/4/16 10:18:16

基于TensorFlow的新闻主题分类系统搭建

基于TensorFlow的新闻主题分类系统搭建 在每天产生数百万条新闻内容的今天&#xff0c;如何从海量文本中快速、准确地识别出每篇文章的主题&#xff0c;已经成为媒体平台、社交网络和舆情监控系统的“刚需”。人工分类不仅成本高昂&#xff0c;还容易因主观判断导致标准不一&am…

作者头像 李华
网站建设 2026/4/16 12:05:46

收藏!AI大模型全景解读:发展历程、技术本质与应用前景(小白程序员入门必备)

本文将系统拆解AI大模型的发展脉络、核心技术逻辑与产业应用价值。作为人类获取知识的全新范式&#xff0c;AI大模型凭借涌现性与泛化性两大核心特性&#xff0c;遵循规模定律持续进化。中美在该领域形成差异化竞争格局&#xff0c;中国凭借丰富的应用场景构建独特优势。无论个…

作者头像 李华