电动车闯红灯检测数据集 建立基于深度学习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基础上构建电动车闯红灯检测系统的完整指南包括数据准备、环境搭建、模型训练、超参数配置、模型推理、批量推理以及性能评估代码。根据实际需求调整上述代码段关键代码示例仅供参考。

相关新闻

群体遗传学中的Tajima‘s D:原理、计算与生物学解读全解析

群体遗传学中的Tajima‘s D:原理、计算与生物学解读全解析

1. 项目概述:从“一个统计量”到理解群体历史的钥匙如果你在群体遗传学领域摸爬滚打过一阵子,肯定对Fst、Pi这些衡量遗传多样性的指标如数家珍。但当你第一次看到“Tajima‘s D”这个名词时,可能会有点懵——它不像前面那些指标那么直观&…

2026/8/1 5:42:04阅读更多 →
抖音直播人气提升实战:6大技巧破解流量密码,从0到1引爆直播间

抖音直播人气提升实战:6大技巧破解流量密码,从0到1引爆直播间

1. 项目概述:为什么直播间人气是门技术活做抖音直播的朋友,最头疼也最关心的,就是直播间那点人气和流量。看着别人直播间在线人数几千上万,弹幕刷得飞起,自己这边却冷冷清清,个位数在线,那种感觉…

2026/8/1 5:42:04阅读更多 →
高达模型进阶指南:ADVANCED HI-ZACK Fully Build 深度解析与实战

高达模型进阶指南:ADVANCED HI-ZACK Fully Build 深度解析与实战

1. 这篇文章真正要解决的问题如果你是一位刚入坑《高达》模型(GUNPLA)的玩家,面对琳琅满目的套件,尤其是那些标注着“Fully Build”、“ADVANCED”的进阶产品,是否感到既兴奋又困惑?兴奋的是,它…

2026/8/1 5:42:04阅读更多 →
5.从零开发 SAP 销售订单报表!自动字段目录、斑马纹布局、无数据容错处理

5.从零开发 SAP 销售订单报表!自动字段目录、斑马纹布局、无数据容错处理

摘要 SAP系统作为企业资源计划(ERP)领域的工业标准,其技术栈以ABAP语言为核心,覆盖数据字典、业务对象、接口通信、报表开发等全链路能力。本文不讨论SAP操作界面,而是从工程化视角,系统拆解ABAP开发的核心原理,并提供一个可直接运行于SAP NetWeaver环境的完整代码示例…

2026/8/1 6:56:31阅读更多 →
微信自动化操作中的分布式多账号防封与IP代理池调度策略

微信自动化操作中的分布式多账号防封与IP代理池调度策略

在进行微信营销自动化、智能客服机器人矩阵搭建时,多账号集中管理最常面临的瓶颈是平台风控。当多个微信账号在同一台服务器、同一个公网IP地址下频繁登录、加好友或发送消息时,极易触发腾讯的风控策略,导致账号被限制功能或永久封号。因此&a…

2026/8/1 6:56:31阅读更多 →
AI浏览器内置Skill实测:英文文章怎么变成小红书图文草稿

AI浏览器内置Skill实测:英文文章怎么变成小红书图文草稿

上一篇写“已经有 Agent 了,为什么还需要 AI 浏览器”时,我把重点放在了 workflow:有些网页任务不是做一次就结束,而是会反复经过同一套步骤。在 Aye(https://okaapps.com/product/6760281977) 里&#xff…

2026/8/1 6:56:31阅读更多 →
中小场地游乐投资指南 沙盘赛车运营增收全维度解析

中小场地游乐投资指南 沙盘赛车运营增收全维度解析

行业背景(为什么越来越多项目布局该业态)越来越多中小场馆经营者意识到,盲目堆砌游乐设备无法提升收益。大型游乐项目投入门槛高、回本周期漫长,小型网红玩具生命周期短暂。游客需求从简单消遣转向沉浸式社交体验,能够…

2026/8/1 6:56:31阅读更多 →
LangChain vs LangGraph:LLM 应用开发中的链式与图式编排,一文搞懂它们的关系与选型!

LangChain vs LangGraph:LLM 应用开发中的链式与图式编排,一文搞懂它们的关系与选型!

一、LangChain:把组件串成链 LangChain 是构建 LLM 应用的开源框架(Python / JS 双版本),核心做两件事:一是提供一套标准接口把 LLM、提示词、检索器、工具、输出解析等组件统一起来;二是攒起一个庞大组件生…

2026/8/1 6:56:31阅读更多 →
前端导出 Excel 支持图片功能

前端导出 Excel 支持图片功能

前端导出 Excel 支持签名图片功能记录 背景 体检报告管理页面有一个"报告领取人签名"列,数据以 base64 图片格式存储在数据库中。最初导出 Excel 时使用了 xlsx 库,签名列只能输出 [签名图片] 占位文本,无法渲染为真实的图片。本…

2026/8/1 6:54:30阅读更多 →
覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

覆盖国产 + 海外 + 开源模型,OpenClaw 2.7.9 Windows/Mac 双端部署详解

🔹 工具基础介绍 OpenClaw 是开源生态中一款实用性较强的本地智能工具,凭借本地离线运行、可视化图形操作和任务自动化三大核心特性,赢得了众多用户的青睐。与普通在线对话AI工具不同,它属于能够直接操控本机软硬件的智能数字员工…

2026/7/31 20:44:05阅读更多 →
伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

伺服阀焊完微漏毁整机?精密激光焊接三关锁住高压

所谓液压伺服阀体的精密激光焊接,是用激光束对阀座壳体(通常为不锈钢或铝合金)进行密封焊接,使阀体在21-35MPa的高压液压油或压缩气体中长期运行而不发生介质泄漏。液压伺服阀是高端液压系统的"大脑"。从航空航天飞行控…

2026/7/31 17:41:43阅读更多 →
D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南

D2DX:三步实现《暗黑破坏神2》高清宽屏体验的终极指南 【免费下载链接】d2dx D2DX is a complete solution to make Diablo II run well on modern PCs, with high fps and better resolutions. 项目地址: https://gitcode.com/gh_mirrors/d2/d2dx 你是否还在…

2026/7/31 20:44:05阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

2026/8/1 0:00:10阅读更多 →
无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理

无损视频剪辑终极指南:如何实现快速高效的多媒体处理 【免费下载链接】lossless-cut The swiss army knife of lossless video/audio editing 项目地址: https://gitcode.com/gh_mirrors/lo/lossless-cut 在数字媒体创作领域,视频编辑处理的质量损…

2026/8/1 0:00:10阅读更多 →
AI辅助本科论文写作:8大工具评测与高效使用指南

AI辅助本科论文写作:8大工具评测与高效使用指南

1. 本科生论文写作的AI辅助现状本科毕业论文是每个大学生必须跨越的一道坎。记得我当年写论文时,光是文献检索就花了整整两周时间,打印的参考文献堆满了半个书桌。如今AI技术的发展为学术写作带来了革命性变化,合理使用这些工具可以节省80%以…

2026/8/1 0:00:10阅读更多 →
如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手

如何快速配置大麦自动抢票系统:从零开始搭建Python抢票助手 【免费下载链接】ticket-purchase 大麦自动抢票,支持人员、城市、日期场次、价格选择 项目地址: https://gitcode.com/GitHub_Trending/ti/ticket-purchase 还在为抢不到热门演唱会门票…

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