news 2026/2/13 14:51:01

非机动车头盔佩戴检测数据集 电动车头盔佩戴检测数据集 智慧交通管理 自动识别未戴头盔、违规载人、无牌电动车等违法行为 城市安防监控 在重点路口部署 AI 摄像头,实时预警高风险行为 交管执法辅助

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
非机动车头盔佩戴检测数据集 电动车头盔佩戴检测数据集 智慧交通管理 自动识别未戴头盔、违规载人、无牌电动车等违法行为 城市安防监控 在重点路口部署 AI 摄像头,实时预警高风险行为 交管执法辅助

非机动车车牌数据集(可识别车牌区域)、

电动车、头盔、车牌、骑行人员数据集
已标注标签为电动车,头盔,未戴头盔,车牌及骑行人
可用于训练yolo模型
已划分训练集验证集
有多人和单人,类别齐全,角度多样化,清晰度高
数据集数量足够用于yolo训练 亲测有效
注:训练后可以识别电动车 头盔(戴头盔 未带头盔) 车牌区域(只能提取出车牌的区域 不能直接识别车牌号码) 骑行人员 乘坐人员


1

1

以下是非机动车场景多目标检测数据集


📊 非机动车场景多目标检测数据集概览表

项目内容
数据集名称非机动车场景多目标检测数据集(含电动车、头盔、车牌、骑行人员)
总图像数量足量(具体数量未公开,但“足够用于 YOLO 训练”,通常 ≥ 5,000 张)
图像格式JPG / PNG(高清晰度,分辨率适配目标检测)
标注格式YOLO 格式(.txt文件,归一化坐标:class x_center y_center width height
数据划分已科学划分为训练集(train)验证集(val)(比例通常为 8:2 或 9:1)
兼容框架YOLOv5 / YOLOv6 /YOLOv8/ YOLO11 等全系列通用
采集场景城市道路、路口、小区、校园等真实交通环境
图像特点- 多角度(正面、侧面、斜视)- 多人/单人场景- 光照多样(白天、傍晚、阴天)- 高清晰度,目标清晰可辨

🗂️ 类别定义与说明表

类别ID类别名称(英文标签)中文含义功能说明
0electric_bike电动车检测非机动车主体(含车体)
1helmet戴头盔骑行人员佩戴头盔的头部区域
2no_helmet未戴头盔骑行人员未佩戴头盔的头部区域
3license_plate车牌区域仅定位车牌位置,不识别字符内容(需配合 OCR 模型)
4rider骑行人员驾驶电动车的人员(主骑手)
5passenger乘坐人员电动车上的乘客(如后座儿童、成人)

共 6 个类别,覆盖非机动车交通监管核心要素
“头盔”与“未戴头盔”分开标注,便于安全合规判断
车牌仅作区域检测,输出 bounding box,不包含 OCR 功能


📁 推荐目录结构(标准 YOLO 格式)

non_motor_vehicle_dataset/ ├── images/ │ ├── train/ # 训练图像 │ └── val/ # 验证图像 ├── labels/ │ ├── train/ # 训练标签(.txt) │ └── val/ # 验证标签(.txt) └── data.yaml # YOLO 配置文件

📄 示例data.yaml配置文件

# non_motor_vehicle_dataset/data.yamltrain:./images/trainval:./images/valnc:6names:['electric_bike','helmet','no_helmet','license_plate','rider','passenger']

🌐 典型应用场景

应用领域具体用途
智慧交通管理自动识别未戴头盔、违规载人、无牌电动车等违法行为
城市安防监控在重点路口部署 AI 摄像头,实时预警高风险行为
交管执法辅助为交警提供违章证据(如截图+车牌区域定位)
保险风控分析骑行安全行为,用于电动自行车保险定价
科研与竞赛多目标、多状态(戴/未戴头盔)检测 benchmark


以下是针对非机动车场景多目标检测数据集(含电动车、头盔、车牌区域、骑行人员等 6 类)的完整 YOLOv8 训练代码,特别优化了车牌区域定位精度,包含数据配置、训练脚本、增强策略、评估与推理示例,可直接运行。


✅ 一、环境准备

# 安装依赖(Python ≥ 3.8)pipinstallultralytics opencv-python numpy matplotlib tqdm# 可选:升级 PyTorch(GPU 用户)pipinstalltorch torchvision --index-url https://download.pytorch.org/whl/cu118

✅ 二、数据集目录结构(YOLO 格式)

确保你的数据组织如下:

non_motor_vehicle_dataset/ ├── images/ │ ├── train/ # 训练图像(JPG/PNG) │ └── val/ # 验证图像 ├── labels/ │ ├── train/ # 对应 .txt 标签 │ └── val/ └── data.yaml # 配置文件

✅ 三、data.yaml配置文件

# non_motor_vehicle_dataset/data.yamltrain:./images/trainval:./images/valnc:6names:['electric_bike','helmet','no_helmet','license_plate','rider','passenger']

⚠️ 路径使用相对路径,与训练脚本同级。


✅ 四、YOLOv8 完整训练脚本(重点优化车牌定位)

保存为train_non_motor_vehicle.py

# train_non_motor_vehicle.pyfromultralyticsimportYOLOimporttorchimportos# 检查数据路径dataset_path="non_motor_vehicle_dataset"ifnotos.path.exists(dataset_path):raiseFileNotFoundError(f"数据集路径{dataset_path}不存在!")device='cuda'iftorch.cuda.is_available()else'cpu'print(f"🚀 使用设备:{device}")# 加载模型(推荐 yolov8s,平衡精度与速度;若追求车牌精度可用 yolov8m)model=YOLO('yolov8s.pt')# 开始训练 —— 特别优化小目标(车牌)检测results=model.train(data=os.path.join(dataset_path,'data.yaml'),epochs=150,# 建议 120~200 轮(小目标收敛慢)imgsz=1280,# ✅ 关键!提升小目标(车牌)分辨率batch=16,# 1280 输入下显存占用高,RTX 3060 建议 batch=16name='non_motor_yolov8s_1280',# 实验名称device=device,# 🔍 针对车牌(小目标)的数据增强策略hsv_h=0.015,hsv_s=0.7,hsv_v=0.5,degrees=10.0,# 小角度旋转(模拟视角变化)translate=0.2,# 更大平移(让车牌出现在不同位置)scale=0.8,# 缩放范围更大mosaic=1.0,# ✅ 强烈启用!将小车牌拼接到新背景mixup=0.1,# 辅助提升泛化flipud=0.0,# 不上下翻转fliplr=0.5,# 左右翻转(合理)# 训练策略patience=30,# 早停:30 轮无提升save_period=10,workers=8,cache=False# 若内存充足可设 True)print("✅ 训练完成!")print(f"最佳模型: runs/detect/non_motor_yolov8s_1280/weights/best.pt")

✅ 五、关键优化点说明(提升车牌定位精度)

策略作用
imgsz=1280提高输入分辨率,使小车牌在特征图中占据更多像素,避免被忽略
mosaic=1.0将 4 张图拼接,增加小目标出现频率和上下文多样性
更大的translatescale模拟车牌在图像中不同位置和尺度
使用 YOLOv8s/m 而非 n更深的网络对小目标特征提取更强
避免过度裁剪确保原始标注中车牌未被截断(数据质量是前提)

💡实测建议

  • 若 GPU 显存不足,可先用imgsz=640训练,再用best.pt作为预训练权重,在imgsz=1280下微调(fine-tune)。

✅ 六、模型评估

# 在验证集上评估yolo detect val\model=runs/detect/non_motor_yolov8s_1280/weights/best.pt\data=non_motor_vehicle_dataset/data.yaml

关注license_plate类别的 AP@0.5,高质量数据集通常可达90%+


✅ 七、推理示例(提取车牌区域)

# infer_license_plate.pyfromultralyticsimportYOLOimportcv2 model=YOLO('runs/detect/non_motor_yolov8s_1280/weights/best.pt')# 推理图像results=model.predict(source='test_ebike.jpg',conf=0.4,# 车牌可适当降低置信度(如 0.3~0.4)iou=0.45,# NMS IoU,避免重叠框save=True)# 提取车牌区域并保存forrinresults:boxes=r.boxes img=r.orig_img# 原始图像 (H, W, C)fori,boxinenumerate(boxes):cls=int(box.cls[0])ifmodel.names[cls]=='license_plate':xyxy=box.xyxy[0].cpu().numpy().astype(int)x1,y1,x2,y2=xyxy plate_crop=img[y1:y2,x1:x2]cv2.imwrite(f'plate_{i}.jpg',plate_crop)print(f"✅ 车牌区域已保存: plate_{i}.jpg")

✅ 八、后续 OCR 集成建议(完整车牌识别系统)

  1. 车牌区域检测→ 本模型输出
  2. 字符识别→ 接入 OCR 模型:
    • 开源方案:EasyOCRPaddleOCRMMOCR
    • 示例:
      importeasyocr reader=easyocr.Reader(['en'])# 中文可加 'ch_sim'result=reader.readtext('plate_0.jpg')print("识别结果:",result)

📌 注意:非机动车车牌格式与机动车不同(如“京·A12345”),需确保 OCR 模型支持相应字符集。


✅ 九、部署建议

场景方案
边缘设备(Jetson)导出 TensorRT:yolo export model=best.pt format=engine imgsz=1280
Web API用 FastAPI 封装检测 + OCR
批量处理遍历视频帧,提取所有车牌区域用于归档

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/6 6:01:50

持续交付与持续部署的区别

博主正在参加CSDN博客之星评选,需要您的支持! 投票链接:https://www.csdn.net/blogstar2025/detail/056 在软件开发的敏捷世界里,CI/CD(持续集成/持续交付或持续部署)管道已成为现代工程团队的标配。许多从…

作者头像 李华
网站建设 2026/2/11 23:45:40

深度测评2026本科生AI论文平台TOP10:开题报告与文献综述全解析

深度测评2026本科生AI论文平台TOP10:开题报告与文献综述全解析 2026年本科生AI论文平台测评:如何选到最适合自己的写作助手 随着人工智能技术在学术领域的深入应用,越来越多的本科生开始借助AI论文平台完成开题报告与文献综述等关键环节。然…

作者头像 李华
网站建设 2026/2/6 18:53:22

拆解 TCP 协议:头部结构、序号机制与滑动窗口实战

一、 TCP 协议本质:数据的组织形式 所谓的“协议”,本质上就是通信双方约定好的一种数据组织格式。这就好比写信,信封上哪里写邮编、哪里写地址,必须按规定来,邮局才能识别。 在 C 语言中,TCP 头部其实就是一个结构体。虽然 PC 机内存默认采用小端存储(Little-Endian)…

作者头像 李华
网站建设 2026/2/4 8:15:46

大数据毕设项目推荐-基于机器学习的房子价值预测系统的设计与实现python房价预测系统的设计与实现【附源码+文档,调试定制服务】

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

作者头像 李华
网站建设 2026/2/3 10:09:25

大数据毕设项目:基于机器学习的房子价值预测系统的设计与实现(源码+文档,讲解、调试运行,定制等)

java毕业设计-基于springboot的(源码LW部署文档全bao远程调试代码讲解等) 博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、…

作者头像 李华