交通违法行为检测数据集 无人机智能交通监控 城市安防 自动驾驶辅助等场景。深度学习YOLOV11模型如何训练交通违规检测数据集 横穿马路车辆闯红灯检测数据集
无人机智能交通监控、城市安防、自动驾驶辅助等场景。深度学习YOLOV11模型如何训练交通违规检测数据集 识别检测电动车头盔佩戴 行人闯红灯 横穿马路车辆闯红灯检测数据集文章目录无人机智能交通监控、城市安防、自动驾驶辅助等场景。深度学习YOLOV11模型如何训练交通违规检测数据集 识别检测电动车头盔佩戴 行人闯红灯 横穿马路车辆闯红灯检测数据集 数据集总体统计️ 类别定义与说明 数据集划分情况✅ YOLO 训练配置文件示例data.yaml 使用建议 交通违规检测数据集 YOLOv11 训练方案 数据集概览 类别含义详解️ 推荐目录结构️ YOLO 配置文件traffic.yaml YOLOv11 完整训练代码train.py 推理示例代码inference.py 应用场景建议⚠️ 注意事项与优化建议交通违规检测数据集Yolo算法进行车辆、行人的交通违规检测任务txt格式7类分别为[Crossing_Violation, Crosswalk_Violation, Helmet_Violation, Normal, Passenger_Violation, Pedestrian_Violation, Trafficlight_Violation]训练集4742张验证集390张 数据集总体统计项目数值总图像数量5,132 张训练集 4,742 验证集 390图像尺寸可变常见为 1920×1080 或 1280×720适用于监控与车载视角类别数量7 类标注格式.txtYOLO 格式归一化坐标适用任务车辆与行人交通违规行为识别可直接用于YOLOv5 / YOLOv8 / YOLOv11 等系列模型训练—️ 类别定义与说明类别编号类别名称英文中文含义备注0Crossing_Violation横穿马路违规行人或非机动车闯入禁止区域1Crosswalk_Violation不走斑马线行人未在斑马线上通行2Helmet_Violation未戴头盔骑电动车/摩托车未佩戴头盔3Normal正常行为无违规行为作为负样本基准4Passenger_Violation乘客违规如副驾未系安全带、车窗探头等5Pedestrian_Violation行人其他违规如翻护栏、逆行等综合行为6Trafficlight_Violation闯红灯车辆或行人违反交通信号灯— 数据集划分情况数据集类型图像数量占比用途训练集train4,742 张~92.4%模型学习特征与规则验证集val390 张~7.6%超参数调优与性能评估⚠️ 注意测试集未提供建议从训练集中划分出独立测试集如 5%用于最终评估。✅ YOLO 训练配置文件示例data.yaml# data.yamltrain:./dataset/images/trainval:./dataset/images/val# 类别数量nc:7# 类别名称按索引顺序names:[Crossing_Violation,Crosswalk_Violation,Helmet_Violation,Normal,Passenger_Violation,Pedestrian_Violation,Trafficlight_Violation] 使用建议应用场景智能交通监控、城市安防、自动驾驶辅助系统。 交通违规检测数据集 YOLOv11 训练方案✅ 支持车辆 行人 违规行为识别✅ 标签格式txtYOLO 格式✅ 类别数7✅ 可直接用于 YOLO 系列模型训练✅ 提供完整Python训练脚本 数据集概览项目内容总类别数7 类类别名称[Crossing_Violation, Crosswalk_Violation, Helmet_Violation, Normal, Passenger_Violation, Pedestrian_Violation, Trafficlight_Violation]图像总数5132 张- 训练集4742 张- 验证集390 张标签格式.txt文件每行class_id center_x center_y width height归一化应用方向智能交通监管、AI 视频分析、违章自动抓拍 类别含义详解类别英文名中文解释典型场景Crossing_Violation跨越道路中心线/双黄线机动车压线变道、逆行Crosswalk_Violation不礼让斑马线车辆在行人过街时未停车让行Helmet_Violation未佩戴头盔电动车骑乘人员无头盔Normal正常状态合规通行作为背景参考Passenger_Violation乘客违规副驾未系安全带、车窗探头等Pedestrian_Violation行人违规闯红灯、翻护栏、非斑马线横穿Trafficlight_Violation闯红灯机动车或非机动车红灯通行⚠️ 注意该数据集可能是以“图像级分类目标定位”形式标注也可能为“逐目标检测框类别”请确认是否每个对象都有独立边界框。以下按标准目标检测任务设计。️ 推荐目录结构traffic_violation_dataset/ ├── images/ │ ├── train/# 4742 张│ └── val/# 390 张├── labels/ │ ├── train/# 对应的 .txt 标签文件│ └── val/ ├── traffic.yaml# YOLO 配置文件└── train.py# 训练主程序️ YOLO 配置文件traffic.yaml# traffic.yamltrain:./traffic_violation_dataset/images/trainval:./traffic_violation_dataset/images/valnc:7names:[Crossing_Violation,Crosswalk_Violation,Helmet_Violation,Normal,Passenger_Violation,Pedestrian_Violation,Trafficlight_Violation]✅ 将此文件保存在项目根目录下。 YOLOv11 完整训练代码train.py# train.pyfromultralyticsimportYOLOimportosimporttime# 参数配置 MODEL_NAMEyolov11s.pt# 推荐使用 yolov11n/s/m小显存选 n精度高选 m/lCONFIG_FILEtraffic.yaml# 数据集配置路径EPOCHS100BATCH_SIZE16# 若显存不足可设为 8 或 4IMG_SIZE640# 输入尺寸可调整为 1280 提升小目标检测能力PROJECT_NAMEtraffic_violation_detectionEXPERIMENT_NAMEexp_traffic_yolo11DEVICE0ifos.environ.get(CUDA_AVAILABLE)elsecpu# 自动选择 GPU/CPU# 检查配置文件是否存在ifnotos.path.exists(CONFIG_FILE):raiseFileNotFoundError(f[ERROR] 找不到配置文件:{CONFIG_FILE})# 加载模型 print( 加载 YOLOv11 模型...)modelYOLO(MODEL_NAME)# 自动下载预训练权重# 开始训练 print( 开始训练交通违规检测模型...)start_timetime.time()resultsmodel.train(dataCONFIG_FILE,epochsEPOCHS,batchBATCH_SIZE,imgszIMG_SIZE,deviceDEVICE,projectPROJECT_NAME,nameEXPERIMENT_NAME,exist_okTrue,patience30,# 早停机制验证损失连续30轮不降则停止saveTrue,save_period10,# 每10轮保存一次检查点cacheFalse,# 设置为 True 可加快加载速度需足够内存workers4,# 优化器设置optimizerAdamW,lr00.001,# 初始学习率lrf0.01,# 最终学习率 lr0 * lrfmomentum0.937,weight_decay0.0005,# 数据增强策略适合交通场景hsv_h0.015,# 色调扰动hsv_s0.7,hsv_v0.4,degrees10.0,# 轻微旋转模拟摄像头角度变化translate0.2,scale0.5,shear2.0,flipud0.0,# 上下翻转不合理天空/地面不对称fliplr0.5,# 左右翻转增强mosaic1.0,# Mosaic 增强提升小目标和遮挡鲁棒性mixup0.1,# MixUp 缓解过拟合copy_paste0.1,# 对 Helmet_Violation 等稀疏类有帮助)# 输出训练耗时 training_time(time.time()-start_time)/60print(f✅ 训练完成总耗时:{training_time:.2f}分钟)print(f 模型保存路径:{results.save_dir})# 验证模型性能 print( 开始验证...)metricsmodel.val()print(fmAP0.5:{metrics.box.map50:.4f})print(fmAP0.5:0.95:{metrics.box.map:.4f})print(fPrecision:{metrics.box.p:.4f})print(fRecall:{metrics.box.r:.4f})# 显示各类别 AP 0.5print(\n 各类别 mAP0.5:)fori,cls_nameinenumerate(model.names):print(f{cls_name}:{metrics.box.maps[i]:.4f})# 导出 ONNX 模型便于部署 print( 导出 ONNX 模型...)onnx_pathmodel.export(formatonnx,dynamicTrue,simplifyTrue)print(fONNX 模型已保存至:{onnx_path}) 推理示例代码inference.py# inference.pyfromultralyticsimportYOLOimportcv2# 加载训练好的模型modelYOLO(traffic_violation_detection/exp_traffic_yolo11/weights/best.pt)# 单张图片推理image_pathtest.jpgresultsmodel(image_path,conf0.4,iou0.5,imgsz640)# 可视化结果forrinresults:im_arrayr.plot()# 绘制检测框和标签imcv2.cvtColor(im_array,cv2.COLOR_RGB2BGR)cv2.imshow(Traffic Violation Detection,im)cv2.waitKey(0)cv2.imwrite(result_detected.jpg,im)# 打印检测详情forrinresults:boxesr.boxesforboxinboxes:cls_idint(box.cls[0])conffloat(box.conf[0])class_namemodel.names[cls_id]print(f检测到违规行为:{class_name}(置信度:{conf:.2f})) 应用场景建议场景实现方式电子警察系统升级替代传统触发式抓拍实现全天候 AI 主动识别️智慧路口管理平台接入多个摄像头统计违规类型分布与热点区域电动车头盔佩戴监管重点识别Helmet_Violation联动广播提醒行人闯红灯预警检测Pedestrian_ViolationTrafficlight_Violation联合判断交通治理数据分析导出 CSV 报表辅助交管部门制定政策⚠️ 注意事项与优化建议问题解决方案Normal类干扰检测在推理阶段可只关注前6个“违规”类或将Normal视为负样本小目标难检如远处头盔使用更高分辨率输入如imgsz1280或添加超分模块类别不平衡对Helmet_Violation、Passenger_Violation使用 Copy-Paste 增强标注模糊检查.txt文件是否为每辆车/人单独标注避免整图打标实时性要求高导出为 TensorRT在 Jetson 设备上运行