news 2026/4/23 17:16:57

深度学习框架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/23 13:43:29

如何在树莓派上运行TensorFlow Lite模型?

在树莓派上运行 TensorFlow Lite&#xff1a;构建轻量级边缘 AI 的实践指南 你有没有试过把一个深度学习模型部署到一块几十美元的开发板上&#xff1f;不是云端服务器&#xff0c;也不是高端 GPU 工作站——而是一块插着摄像头、连着小屏幕、功耗不到 5W 的树莓派。听起来像极…

作者头像 李华
网站建设 2026/4/23 12:25:25

TensorFlow模型集成学习实战:Bagging与Stacking

TensorFlow模型集成学习实战&#xff1a;Bagging与Stacking 在现代机器学习系统中&#xff0c;单个模型的性能往往受限于数据噪声、结构偏差或泛化能力不足。尤其在金融风控、医疗诊断等高可靠性场景下&#xff0c;哪怕0.5%的准确率提升都可能带来巨大的业务价值。这时&#xf…

作者头像 李华
网站建设 2026/4/23 14:01:48

掌握这7个技巧,轻松玩转智谱Open-AutoGLM自动化推理引擎

第一章&#xff1a;智谱Open-AutoGLM自动化推理引擎概述智谱Open-AutoGLM是一款面向大模型场景的自动化推理引擎&#xff0c;专为简化复杂任务的逻辑编排与高效执行而设计。该引擎融合了自然语言理解、任务分解、工具调用与结果聚合能力&#xff0c;支持开发者以声明式方式构建…

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

开源Open-AutoGLM实战指南(从入门到精通的3个关键步骤)

第一章&#xff1a;开源Open-AutoGLM概述Open-AutoGLM 是一个基于开源理念构建的自动化通用语言模型&#xff08;General Language Model&#xff09;开发框架&#xff0c;旨在降低大模型应用开发门槛&#xff0c;提升从数据预处理到模型部署的全流程效率。该项目由社区驱动&am…

作者头像 李华