基于YOLOv8行人车辆检测系统
本项目面向道路交通场景中的行人与车辆目标检测任务完成 YOLOv8 与 Faster R-CNN 两类检测模型的训练、评估、可视化对比并集成 PyQt5 桌面端检测系统。系统支持图片检测、视频检测、摄像头实时检测、检测数量统计、历史记录保存以及 CSV / JSON 数据导出。项目概述项目以行人和车辆两类目标为检测对象围绕模型训练、效果评估、模型对比和桌面端应用四个部分展开使用 YOLOv8s 完成单阶段目标检测训练默认作为桌面端系统的推理模型。使用 Faster R-CNN ResNet50 FPN 完成两阶段检测模型训练用于和 YOLOv8 进行性能对比。保存训练日志、指标 CSV、训练曲线、混淆矩阵、PR 曲线、F1 曲线等结果文件。基于 PyQt5 构建图形界面提供图片、视频、摄像头三种检测入口。检测结果包含目标框、类别、置信度、行人数、车辆数和总目标数。默认桌面端入口为detection_ui.py默认加载权重为runs/detect/person_car_detect/weights/best.pt数据集说明本项目使用 YOLO 标注格式的数据集检测类别为person和car。当前交付目录主要包含训练产物、模型权重和系统代码若需要重新训练需要准备或补齐data数据集目录。数据集结构Faster R-CNN 训练脚本默认读取如下目录结构YOLOv8 训练也可按相同数据划分准备data.yamldata/ ├── images/ │ ├── train/ # 训练集图片 │ └── val/ # 验证集图片 └── labels/ ├── train/ # 训练集标注 └── val/ # 验证集标注标注格式标注文件为 YOLO 格式每张图片对应一个同名.txt文件每行表示一个目标class_id x_center y_center width height字段说明字段说明class_id类别编号0表示行人1表示车辆x_center目标框中心点横坐标按图片宽度归一化y_center目标框中心点纵坐标按图片高度归一化width目标框宽度按图片宽度归一化height目标框高度按图片高度归一化数据统计根据当前项目中的 YOLOv8 训练日志验证阶段数据统计如下统计项数值检测类别2 类person、car验证集图片数4,959 张验证集目标实例数60,875 个行人实例数6,999 个车辆实例数53,876 个标注格式YOLO 归一化框格式输入尺寸640 x 640说明当前 README 只记录训练日志和项目文件中能够确认的数据。若后续替换数据集请以实际data/目录和data.yaml为准同步更新本节。模型方案YOLOv8 检测模型YOLOv8 是本项目桌面端默认使用的检测模型适合实时检测场景。其整体流程如下输入图像 │ ▼ YOLOv8 Backbone 特征提取 │ ▼ Neck 多尺度特征融合 │ ▼ Detect Head 输出目标框、类别和置信度 │ ▼ NMS 后处理 │ ▼ 行人 / 车辆检测结果本项目中 YOLOv8 的主要作用训练person、car两类目标检测权重。提供桌面端图片、视频和摄像头实时检测能力。输出检测框、类别标签、置信度和数量统计。生成混淆矩阵、PR 曲线、F1 曲线、训练结果曲线等可视化文件。Faster R-CNN 检测模型Faster R-CNN 用于模型对比实验和批量图片检测。项目采用 TorchVision 中的 Faster R-CNN ResNet50 FPN并将分类头替换为 3 类输出输入图像 │ ▼ ResNet50 FPN 特征提取 │ ▼ RPN 候选框生成 │ ▼ RoI Align 特征对齐 │ ▼ 分类分支 边界框回归分支 │ ▼ 置信度过滤与结果输出Faster R-CNN 训练时会将 YOLO 标注转换为x_min, y_min, x_max, y_max格式并将类别编号转换为 TorchVision 检测模型所需的标签编号其中0作为背景类1表示行人2表示车辆。训练过程YOLOv8 训练流程读取数据集配置文件data.yaml。加载yolov8s.pt预训练权重。按 640 x 640 输入尺寸进行训练。使用 YOLOv8 默认检测损失包括边界框损失、分类损失和 DFL 损失。训练过程中保存best.pt和last.pt。训练结束后在验证集上评估 Precision、Recall、mAP50、mAP50-95。当前训练配置记录在runs/detect/person_car_detect/args.yamlFaster R-CNN 训练流程读取data/images/train、data/labels/train作为训练集。读取data/images/val、data/labels/val作为验证集。加载 COCO 预训练权重fasterrcnn/fasterrcnn_resnet50_fpn_coco-258fb6c6.pth替换检测头使模型输出背景、行人、车辆 3 类。使用 SGD 优化器和 StepLR 学习率衰减策略训练 100 轮。每轮训练后计算 Precision、Recall、F1。按 F1 分数保存最优模型best.pth同时保存最后一轮模型last.pth。输出训练日志、CSV 指标、JSON 历史记录和可视化曲线。训练参数YOLOv8 参数参数值说明模型yolov8s.ptYOLOv8s 检测模型训练轮数100总训练 Epoch输入尺寸640训练和验证输入尺寸批大小16每批图片数量优化器autoUltralytics 自动选择初始学习率0.01lr0最终学习率比例0.01lrf动量0.937SGD 动量参数权重衰减0.0005正则化参数预热轮数3warmup_epochsAMP开启混合精度训练训练设备CUDA:0训练日志记录为 RTX 3060 Laptop GPU输出目录runs/detect/person_car_detectYOLOv8 训练结果目录Faster R-CNN 参数参数值说明模型Faster R-CNN ResNet50 FPNTorchVision 检测模型类别数3背景、行人、车辆训练轮数100总训练 Epoch批大小4每批图片数量优化器SGD随机梯度下降初始学习率0.005主学习率动量0.9SGD 动量权重衰减0.0005正则化参数学习率调度StepLR每 10 轮衰减衰减系数0.1gamma置信度阈值0.5评估和推理过滤阈值IoU 阈值0.5匹配阈值输出目录runs/fasterrcnn/person_car_detectFaster R-CNN 训练结果目录训练结果YOLOv8 验证结果YOLOv8 最优权重为runs/detect/person_car_detect/weights/best.pt整体结果指标数值Precision0.82942Recall0.65837mAP500.74918mAP50-950.45874推理速度约 1.9 ms / image训练耗时约 5.172 小时分类别结果类别ImagesInstancesPrecisionRecallmAP50mAP50-95person1,7126,9990.7920.5530.6510.346car4,95453,8760.8490.7480.8240.550Faster R-CNN 训练结果Faster R-CNN 最优权重为runs/fasterrcnn/person_car_detect/weights/best.pth最佳性能出现在第 78 轮指标数值Best Epoch78F1 Score0.7074Precision0.7112Recall0.7036最终第 100 轮结果指标数值F1 Score0.7046Precision0.7089Recall0.7004Total Loss0.2504Classifier Loss0.0663Box Regression Loss0.1427Objectness Loss0.0042RPN Box Loss0.0371模型对比对比项YOLOv8Faster R-CNN结论整体指标mAP50 0.7492F1 0.7074YOLOv8 整体得分更高Precision0.82940.7112YOLOv8 误检更少Recall0.65840.7036Faster R-CNN 漏检更少应用倾向实时检测、桌面端推理离线评估、召回优先场景按场景选择综合当前训练结果YOLOv8 更适合作为桌面端实时检测模型Faster R-CNN 在召回率上更高适合对漏检更敏感的离线检测或对比实验。可视化结果说明YOLOv8 可视化文件目录runs/detect/person_car_detect/文件说明results.png训练损失、验证损失、Precision、Recall、mAP 等指标曲线results.csv每个 Epoch 的完整训练指标confusion_matrix.png混淆矩阵confusion_matrix_normalized.png归一化混淆矩阵PR_curve.pngPrecision-Recall 曲线P_curve.pngPrecision 随置信度变化曲线R_curve.pngRecall 随置信度变化曲线F1_curve.pngF1 分数随置信度变化曲线labels.jpg标注分布可视化labels_correlogram.jpg标注框相关性可视化train_batch*.jpg训练批次与数据增强可视化val_batch*_labels.jpg验证集真实标签可视化val_batch*_pred.jpg验证集预测结果可视化Faster R-CNN 可视化文件目录runs/fasterrcnn/person_car_detect/文件说明training_results.png总损失、分类损失、回归损失、目标性损失、RPN 损失、Precision、Recall、F1 和学习率曲线f1_curve.pngF1 分数变化曲线并标注最佳轮次results.csv每轮训练指标training_history.json完整训练历史training_log.txt训练日志summary_report.txt训练结果摘要模型对比文件目录runs/comparison/文件说明model_comparison.pngYOLOv8 与 Faster R-CNN 指标对比图comparison_report.txt模型对比文字报告comparison_data.json模型对比结构化数据桌面端系统功能桌面端系统入口detection_ui.py图片检测支持选择本地单张图片进行目标检测。显示带检测框的结果图。统计行人数量、车辆数量和总目标数量。展示每个检测目标的类别和置信度。图片检测结果会写入detection_history.json。视频检测支持选择本地视频文件。对视频帧逐帧执行 YOLOv8 检测。实时刷新检测画面和数量统计。可在界面中停止当前检测任务。摄像头检测支持选择摄像头编号 0、1、2。调用本机摄像头进行实时行人车辆检测。实时显示检测框、类别、置信度和数量统计。历史记录历史记录保存在detection_history.json。支持在界面中查看检测时间、输入来源、行人数、车辆数和总数。支持导出为 CSV。支持导出为 JSON。技术栈类别技术编程语言Python 3.9深度学习框架PyTorch、TorchVisionYOLO 框架Ultralytics YOLOv8桌面端框架PyQt5图像处理OpenCV、Pillow数据处理NumPy、Pandas、CSV、JSON可视化Matplotlib模型类型YOLOv8s、Faster R-CNN ResNet50 FPN项目结构c88/ ├── detection_ui.py # PyQt5 桌面端主程序默认加载 YOLOv8 best.pt ├── detection_history.json # 图片检测历史记录 ├── train_fasterrcnn.py # Faster R-CNN 训练脚本 ├── detect_fasterrcnn.py # Faster R-CNN 批量检测脚本 ├── fasterrcnn_config.py # Faster R-CNN 训练配置 ├── visualize_fasterrcnn_results.py # Faster R-CNN 训练曲线和摘要生成脚本 ├── compare_models.py # YOLOv8 与 Faster R-CNN 指标对比脚本 ├── redraw_epoch_plots.py # 根据 CSV 重新绘制训练图表 ├── requirements_fasterrcnn.txt # Faster R-CNN 训练相关依赖 ├── 训练日志.txt # YOLOv8 训练日志 ├── yolov8s.pt # YOLOv8s 预训练权重 ├── yolov8s-cls.pt # YOLOv8 分类权重文件 ├── yolo11n.pt # YOLO 系列权重文件 ├── yolo11m.pt # YOLO 系列权重文件 ├── fasterrcnn/ │ └── fasterrcnn_resnet50_fpn_coco-258fb6c6.pth │ # Faster R-CNN COCO 预训练权重 ├── runs/ │ ├── detect/person_car_detect/ │ │ ├── weights/ │ │ │ ├── best.pt # YOLOv8 最优权重桌面端默认加载 │ │ │ └── last.pt # YOLOv8 最后一轮权重 │ │ ├── results.csv # YOLOv8 每轮训练指标 │ │ └── *.png / *.jpg # YOLOv8 训练与验证可视化结果 │ ├── fasterrcnn/person_car_detect/ │ │ ├── weights/ │ │ │ └── best.pth # Faster R-CNN 最优权重 │ │ ├── results.csv # Faster R-CNN 每轮训练指标 │ │ ├── training_history.json # Faster R-CNN 训练历史 │ │ ├── training_results.png # Faster R-CNN 训练曲线 │ │ └── summary_report.txt # Faster R-CNN 训练摘要 │ └── comparison/ │ ├── model_comparison.png # 两类模型对比图 │ ├── comparison_report.txt # 两类模型对比报告 │ └── comparison_data.json # 两类模型对比数据 ├── vis_output/ # 检测可视化输出图片 └── data/ # 重新训练时需要准备的数据集目录环境准备与启动1. 创建 Python 环境建议使用 Python 3.9并优先使用独立虚拟环境。cd 项目根目录2. 安装依赖先安装 Faster R-CNN 训练依赖python -m pip install -r requirements_fasterrcnn.txt再安装桌面端和 YOLOv8 推理所需依赖python -m pip install ultralytics PyQt5 opencv-python如需使用 GPU请确保本机 PyTorch、CUDA 和显卡驱动版本匹配。3. 启动桌面端系统python .\detection_ui.py启动后可在界面中选择图片检测视频检测摄像头检测历史记录查看与导出4. 重新训练 YOLOv8如果需要重新训练 YOLOv8请先准备数据集和data.yaml再执行yolo detect train modelyolov8s.pt data数据集目录\data.yaml epochs100 batch16 imgsz640 projectruns/detect nameperson_car_detect训练完成后桌面端默认读取runs/detect/person_car_detect/weights/best.pt5. 训练 Faster R-CNN请先按 数据集结构 准备data/目录然后执行python .\train_fasterrcnn.py训练输出目录runs/fasterrcnn/person_car_detect/6. Faster R-CNN 批量检测python .\detect_fasterrcnn.py --weights runs/fasterrcnn/person_car_detect/weights/best.pth --source data/images/val --output runs/fasterrcnn/detect --conf 0.5参数说明参数说明--weightsFaster R-CNN 权重路径--source待检测图片文件或图片目录--output检测结果输出目录--conf置信度阈值7. 生成可视化和对比结果生成 Faster R-CNN 训练图表和摘要python .\visualize_fasterrcnn_results.py生成 YOLOv8 与 Faster R-CNN 对比图表python .\compare_models.py根据现有 CSV 重新绘制训练图python .\redraw_epoch_plots.py本项目为个人原创结构清晰功能完整适合计算机视觉方向课程设计、毕业设计和项目演示使用。有定制化需求可以评论或私信作者。作者原创项目地址michael-jay.pages.dev/projects.html

相关新闻

户外产品电商主图怎么做?PS AI 替换产品光影融合教程

户外产品电商主图怎么做?PS AI 替换产品光影融合教程

电商美工日常经常需要做产品替换、主图排版、光影融合这类工作。传统依靠 PS 手动完成抠图、变形、调色、排版,不仅耗费时间,画面还容易出现穿帮。遇到频繁换款、反复修改的需求,工作压力会明显增加。本文整理一套 PS AI 插件实操工作流&…

2026/7/29 1:21:51 阅读更多 →
树状数组与线段树的区别、联系及应用场景

树状数组与线段树的区别、联系及应用场景

树状数组与线段树的区别 数据结构特性 树状数组(Binary Indexed Tree, BIT)基于二进制拆分思想,结构为隐式树形,仅支持前缀和操作。线段树(Segment Tree)为显式二叉树结构,支持区间查询与更新&a…

2026/7/29 1:21:51 阅读更多 →
使用PeaZip与AES-256/Twofish实现顶级文件加密安全实践

使用PeaZip与AES-256/Twofish实现顶级文件加密安全实践

1. 项目概述:为什么我们需要超越“压缩即加密”的思维定式在数字资产管理成为日常的今天,文件加密早已不是谍战片里的专属情节。我们每个人电脑里都躺着合同、照片、财务记录、项目源码,这些数据一旦泄露,轻则尴尬,重则…

2026/7/29 1:21:51 阅读更多 →

最新新闻

2026年Turnitin AI检测达标指南:Turnitin AI率超标4.8元完整处理方案

2026年Turnitin AI检测达标指南:Turnitin AI率超标4.8元完整处理方案

2026年Turnitin AI检测达标指南:Turnitin AI率超标4.8元完整处理方案 用嘎嘎降AI(www.aigcleaner.com)处理过Turnitin AI检测达标,4.8元,一次达标。完整方案和注意事项都在下面。 平台特点分析 不同AIGC检测平台&…

2026/7/29 1:29:53 阅读更多 →
Python 最易懂入门 | 从变量引用→列表拷贝→函数→判断循环,手把手实操代码

Python 最易懂入门 | 从变量引用→列表拷贝→函数→判断循环,手把手实操代码

一、前言本篇为纯上手实操向 Python 基础语法,所有代码均经过手写运行验证,新手跟着逐行执行即可掌握变量内存、列表复制、函数、条件判断、循环整套入门知识,避开 90% 新手踩坑点。二、第一阶段:变量本质 —— 变量是标签不是盒子…

2026/7/29 1:29:53 阅读更多 →
SQLCipher实战指南:为SQLite数据库穿上加密盔甲

SQLCipher实战指南:为SQLite数据库穿上加密盔甲

1. 项目概述:为什么我们需要SQLCipher?在移动应用和桌面软件开发的日常工作中,数据安全是一个绕不开的话题。尤其是当你的应用需要处理用户敏感信息,比如聊天记录、个人笔记、财务数据,甚至是简单的登录凭证缓存时&…

2026/7/29 1:29:53 阅读更多 →
GetQzonehistory:一键备份QQ空间说说,找回你的青春记忆!

GetQzonehistory:一键备份QQ空间说说,找回你的青春记忆!

GetQzonehistory:一键备份QQ空间说说,找回你的青春记忆! 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 还记得那些年你在QQ空间留下的青春足迹吗&am…

2026/7/29 1:29:53 阅读更多 →
2026年PaperPass AIGC检测达标指南:PaperPass AI率超标4.8元快速达标完整处理方案

2026年PaperPass AIGC检测达标指南:PaperPass AI率超标4.8元快速达标完整处理方案

2026年PaperPass AIGC检测达标指南:PaperPass AI率超标4.8元快速达标完整处理方案 针对PaperPass AIGC检测达标专门整理了一套方案——平台有差异,策略也要对应调整。 核心工具:嘎嘎降AI(www.aigcleaner.com)&#x…

2026/7/29 1:29:53 阅读更多 →
蓝速 AI 双屏翻译机:型材机身与高性价比实测避坑指南

蓝速 AI 双屏翻译机:型材机身与高性价比实测避坑指南

在涉外商务接待或跨国团队协作的场景中,沟通效率往往直接决定了合作的成败。很多从业者都遇到过这样的尴尬时刻:双方语言不通,只能依赖手机里的翻译 APP,或者手持一个廉价的塑料翻译棒,在两人之间来回传递。这种“接力…

2026/7/29 1:28:53 阅读更多 →

日新闻

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

【RT-DETR多模态创新改进】CVPR 2025 | 独家特征融合创新改进篇 | 引入RLAB残差线性注意力模块,有效融合并强调多尺度特征,多种改进点,适合红外与可见光融合目标检测任务,有效涨点

一、本文介绍 🔥本文在RT-DETR多模态融合目标检测中引入RLAB残差线性注意力模块,可在不同模态特征交互阶段进行多次残差细化,使可见光、红外等特征在尺度、语义和空间位置上更好对齐;随后将细化特征与解码器输出拼接并生成Q、K、V,通过线性注意力自适应强化关键通道、目…

2026/7/29 0:00:23 阅读更多 →
AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础

AI编程系列02:合并知识功能,给 AI 问数和 RAG 场景打基础 在上一期「AI编程系列」中,我们学习了如何构建一个基础的 AI 问答系统,通过简单的输入输出让模型回应问题。但现实世界中的 AI 应用往往需要处理更复杂的场景:…

2026/7/29 0:00:23 阅读更多 →
AI智能体开发实战:从工具调用到企业级部署

AI智能体开发实战:从工具调用到企业级部署

1. 从被动问答到主动执行:AI Agent的范式转变过去两年,大语言模型最显著的应用形态是聊天机器人——用户提问,AI回答。但真正的生产力革命发生在2023年下半年:当AI学会主动调用工具完成任务时,生产力工具的历史被彻底改…

2026/7/29 0:00:23 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/28 12:04:22 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/28 8:29:16 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/28 5:03:42 阅读更多 →

月新闻