电动车闯红灯检测数据集 建立基于深度学习Yolov5电动车闯红灯检测识别 pytorch 深度学习目标检测算法yolov5训练
pytorch 深度学习目标检测算法yolov5训练电动车闯红灯检测数据集 建立基于深度学习Yolov5电动车闯红灯检测识别文章目录pytorch 深度学习目标检测算法yolov5训练电动车闯红灯检测数据集 建立基于深度学习Yolov5电动车闯红灯检测识别1. 数据准备数据集结构数据标注数据划分2. 环境搭建安装依赖3. 数据配置4. 模型训练使用YOLOv5进行训练5. 配置超参数6. 模型推理单张图片推理7. 批量推理8. 性能评估mAP计算自定义评估脚本yolov5电动车闯红灯检测 可检测 红灯 绿灯 电动车三类1基于YOLOv5的电动车闯红灯检测系统涉及多个步骤包括数据准备、环境搭建、模型训练、超参数配置、模型推理、批量推理以及性能评估。以下是详细的实现步骤和代码示例。1. 数据准备数据集结构确保你的数据集结构如下traffic_dataset/ ├── images/ │ ├── train/ │ └── val/ └── labels/ ├── train/ └── val/数据标注每个图像文件对应一个.txt文件格式为YOLO适用的标注格式每行包含类别ID和边界框信息归一化后的中心点坐标和宽高。例如0 0.5 0.5 0.2 0.2 1 0.7 0.3 0.1 0.1数据划分将数据集按比例划分为训练集和验证集例如9:1。importosimportrandomfromshutilimportcopyfile# 定义数据集路径dataset_pathtraffic_datasetimages_pathos.path.join(dataset_path,images)labels_pathos.path.join(dataset_path,labels)# 创建目录os.makedirs(images_path,exist_okTrue)os.makedirs(labels_path,exist_okTrue)# 获取所有图像文件image_files[fforfinos.listdir(dataset_path)iff.endswith(.jpg)orf.endswith(.png)]random.shuffle(image_files)# 按比例划分训练集和验证集train_ratio0.9train_sizeint(len(image_files)*train_ratio)train_imagesimage_files[:train_size]val_imagesimage_files[train_size:]# 复制文件到对应的目录forimg_fileintrain_images:label_fileimg_file.replace(.jpg,.txt).replace(.png,.txt)copyfile(os.path.join(dataset_path,img_file),os.path.join(images_path,train,img_file))copyfile(os.path.join(dataset_path,label_file),os.path.join(labels_path,train,label_file))forimg_fileinval_images:label_fileimg_file.replace(.jpg,.txt).replace(.png,.txt)copyfile(os.path.join(dataset_path,img_file),os.path.join(images_path,val,img_file))copyfile(os.path.join(dataset_path,label_file),os.path.join(labels_path,val,label_file))2. 环境搭建安装依赖# 创建并激活虚拟环境conda create-ntraffic_detectionpython3.8conda activate traffic_detection# 安装YOLOv5和相关库pipinstalltorch torchvisiongitclone https://github.com/ultralytics/yolov5.gitcdyolov5 pipinstall-rrequirements.txt3. 数据配置在traffic_dataset/目录下创建一个名为data.yaml的数据配置文件内容如下train:./images/train/val:./images/val/nc:3names:[red_light,green_light,non_motor_vehicle]4. 模型训练使用YOLOv5进行训练cdyolov5 python train.py--img640--batch16--epochs100--data../traffic_dataset/data.yaml--weightsyolov5s.pt5. 配置超参数在训练过程中可以通过修改yolov5/data/hyps/hyp.scratch.yaml文件来设置超参数。以下是一些常见的超参数及其说明lr0: 初始学习率默认值通常为0.01。lrf: 最终学习率因子默认值通常为0.01。momentum: 动量默认值通常为0.937。weight_decay: 权重衰减默认值通常为0.0005。6. 模型推理单张图片推理fromyolov5.models.experimentalimportattempt_loadfromyolov5.utils.datasetsimportLoadImagesfromyolov5.utils.generalimportnon_max_suppression,scale_coordsfromyolov5.utils.torch_utilsimportselect_deviceimportcv2importtorchdefinfer_image(weights,img_path):deviceselect_device()modelattempt_load(weights,map_locationdevice)datasetLoadImages(img_path)forpath,img,im0s,vid_capindataset:imgtorch.from_numpy(img).to(device)imgimg.float()/255.0ifimg.ndimension()3:imgimg.unsqueeze(0)predmodel(img,augmentFalse)[0]prednon_max_suppression(pred,conf_thres0.25,iou_thres0.45)fordetinpred:iflen(det):det[:,:4]scale_coords(img.shape[2:],det[:,:4],im0s.shape).round()for*xyxy,conf,clsinreversed(det):labelf{model.names[int(cls)]}{conf:.2f}plot_one_box(xyxy,im0s,labellabel,color(0,255,0),line_thickness3)cv2.imshow(Traffic Detection,im0s)cv2.waitKey(0)cv2.destroyAllWindows()if__name____main__:weightsruns/train/exp/weights/best.ptimg_pathpath/to/test_image.jpginfer_image(weights,img_path)7. 批量推理importosdefbatch_infer_images(weights,directory):forfilenameinos.listdir(directory):iffilename.endswith(.jpg)orfilename.endswith(.png):image_pathos.path.join(directory,filename)annotated_frameinfer_image(weights,image_path)cv2.imwrite(foutput_{filename},annotated_frame)if__name____main__:weightsruns/train/exp/weights/best.ptdirectorypath/to/imagesbatch_infer_images(weights,directory)8. 性能评估mAP计算YOLOv5自带评估功能可以在验证集上计算mAP。cdyolov5 python val.py--img640--batch16--data../traffic_dataset/data.yaml--weightsruns/train/exp/weights/best.pt自定义评估脚本如果你想要更详细的评估指标比如针对特定类别的准确率和召回率可以编写自定义脚本。fromsklearn.metricsimportprecision_recall_fscore_supportdefevaluate_model(model,dataset):all_preds[]all_labels[]forimages,labelsindataset:predsmodel(images)pred_classes[int(pred.cls[0])forpredinpreds]true_classeslabels.numpy().flatten()all_preds.extend(pred_classes)all_labels.extend(true_classes)precision,recall,f1,_precision_recall_fscore_support(all_labels,all_preds,averageweighted)print(fPrecision:{precision:.2f}, Recall:{recall:.2f}, F1 Score:{f1:.2f})# 示例评估模型性能evaluate_model(model,val_dataset)以上就是关于如何在YOLOv5基础上构建电动车闯红灯检测系统的完整指南包括数据准备、环境搭建、模型训练、超参数配置、模型推理、批量推理以及性能评估代码。根据实际需求调整上述代码段关键代码示例仅供参考。

相关新闻

职业技能培训机构如何利用QClaw+Skills做豆包GEO:知识库搭建×内容创作×效果监测的完整实操手册

职业技能培训机构如何利用QClaw+Skills做豆包GEO:知识库搭建×内容创作×效果监测的完整实操手册

2026年,一个想学技能的年轻人,不再去街头找培训班了。他们打开豆包,打一行字:”30岁转行学什么好?”或者”学挖掘机多少钱、包就业吗?”或者”电工证在哪里考、多久能下证?”然后等AI给出答案。…

2026/8/1 5:42:55 阅读更多 →
Windows 上同时安装多个 node 版本

Windows 上同时安装多个 node 版本

一、实践步骤 1.1 卸载已安装的 node,然后安装 nvm-windows nvm 版本选择问题: nvm 版本 适用场景 原因与建议 1.1.12 需要安装 Node.js 18 及以下版本 这是 1.1 系列的最终版,非常稳定。强烈建议使用此版本,因为它没有 1.2 系列存…

2026/8/1 5:42:55 阅读更多 →
MatrixOne Git4Data 技术详解(十)·深度学习篇:训练数据怎么管——lakeFS 管文件,MatrixOne 管元数据

MatrixOne Git4Data 技术详解(十)·深度学习篇:训练数据怎么管——lakeFS 管文件,MatrixOne 管元数据

前面九篇一直在结构化数据上打转:前四篇讲清了 Git4Data 是什么、怎么用、和其他方案分别站在哪一层;第五到第七篇是数据运维;第八、九篇进入 AI 训练,用一个风控模型走通了全流程总图和数据集发布与泄漏。 这一篇,我…

2026/8/1 5:42:55 阅读更多 →

最新新闻

除了WPS自带的模板,还有没有别的插件能提供更多好看的PPT模板?

除了WPS自带的模板,还有没有别的插件能提供更多好看的PPT模板?

周三下午组长过来说:明早客户到,把方案做成 PPT。内容我有,Word 里写得明白,可要把一堆文字变成能见人的 PPT,我只剩大半个下午。WPS 自带那几套模板翻来翻去,要么太花、要么套进去不搭。那天是靠不坑盒子救…

2026/8/1 6:28:10 阅读更多 →
换季鼻炎难受,别硬扛 科学营养养护改善反复发作

换季鼻炎难受,别硬扛 科学营养养护改善反复发作

换季鼻炎难受,别硬扛,很多人每到春秋换季都会被鼻痒、阵发性打喷嚏、流清涕、鼻塞等问题反复折磨,不少人要么选择硬扛发作期,要么只依赖药物临时缓解症状,却忽略了从鼻腔黏膜修护和机体免疫调节层面进行长期养护&#…

2026/8/1 6:28:10 阅读更多 →
深入解析Adafruit_NeoPixel库:从时序原理到实战避坑指南

深入解析Adafruit_NeoPixel库:从时序原理到实战避坑指南

1. 从点亮第一颗灯珠到玩转灯带:为什么你需要吃透Adafruit_NeoPixel库 如果你玩过WS2812B、SK6812这类智能RGB灯带或灯环,那你大概率听说过Adafruit_NeoPixel这个库。它几乎是Arduino生态下控制这类可寻址LED的“标准答案”。很多新手拿到灯带&#xff0…

2026/8/1 6:28:10 阅读更多 →
若依前后端分离部署Nginx代理配置详解:解决401认证失败与验证码加载问题

若依前后端分离部署Nginx代理配置详解:解决401认证失败与验证码加载问题

1. 问题现象与根源初探最近在部署若依前后端分离系统时,踩了一个典型的坑:前端页面能打开,但验证码图片死活加载不出来,浏览器开发者工具里报一个/prod-api/captchaImage接口401认证失败的错误。当你硬着头皮输入账号密码点登录&a…

2026/8/1 6:28:09 阅读更多 →
FPGA时序收敛实战:从VIVADO时序违例到稳定设计的系统方法

FPGA时序收敛实战:从VIVADO时序违例到稳定设计的系统方法

1. 项目概述:当VIVADO告诉你“时序不满足” 刚接触FPGA设计的朋友,可能都经历过这个让人心头一紧的时刻:在VIVADO里跑完综合(Synthesis),看着逻辑资源占用率还不错,满心欢喜地点下“Run Impleme…

2026/8/1 6:27:09 阅读更多 →
FOC核心公式工程实践:从Clarke变换到SVPWM的代码实现

FOC核心公式工程实践:从Clarke变换到SVPWM的代码实现

1. 项目概述:从零到一,拆解FOC核心公式的工程实践搞电机控制,尤其是永磁同步电机(PMSM)和直流无刷电机(BLDC),FOC(磁场定向控制)是绕不开的一道坎。很多朋友&…

2026/8/1 6:27:09 阅读更多 →

日新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →

周新闻

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

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

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

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

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

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

2026/8/1 5:19:34 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

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

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

2026/7/31 4:19:39 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/1 0:00:48 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/1 0:00:48 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/1 0:00:48 阅读更多 →