BIOS并行口模式设置详解:解决老旧设备通信故障的终极指南
2026/6/6 22:51:13
道路落石及障碍物检测数据集【共2套】
第一套:
智慧化道路落石检测数据集
nc一类:shitou
1
第二套:6类 道路障碍物检测数据集 落石 滑坡检测数据集
6 names: [‘Car’, ‘Motorcycle’, ‘People’, ‘shitou’, ‘Warning-Crash’, ‘landslide’]
1
1
1
1
1
1
1
1
完整 YOLOv8 训练与检测系统方案,包含:
✅ 数据集说明
✅dataset.yaml配置
✅ YOLOv8 训练代码(支持自定义参数)
✅ 推理与可视化脚本
✅ 类别中文对照表
train/valid/test三部分.jpg对应一个.txt)| 英文标签 | 中文含义 | 说明 |
|---|---|---|
Car | 汽车 | 正常行驶车辆 |
Motorcycle | 摩托车 | 两轮机动车 |
People | 行人 | 路面人员 |
shitou | 落石 | 公路上的散落石块(⚠️建议统一为英文如fallen_rock) |
Warning-Crash | 碰撞/事故预警 | 可能表示事故车辆或危险状态 |
landslide | 山体滑坡 | 大规模地质灾害区域 |
💡 建议:将
shitou改为fallen_rock以符合命名规范,避免非 ASCII 字符问题。
请确保您的数据组织如下:
road_hazard_dataset/ ├── train/ │ ├── images/# .jpg│ └── labels/# .txt├── valid/ │ ├── images/ │ └── labels/ ├── test/ │ ├── images/ │ └── labels/ └── dataset.yamldataset.yaml配置文件# dataset.yamltrain:../train/imagesval:../valid/imagestest:../test/imagesnc:6names:['Car','Motorcycle','People','shitou','Warning-Crash','landslide']⚠️ 注意:YOLO 要求
labels/文件夹与images/同级且同名。
若当前只有images/而无labels/,需确保.txt文件放在对应labels/目录中。
train.py)# train.pyfromultralyticsimportYOLOdefmain():# 选择模型大小(n/s/m/l/x)model=YOLO('yolov8s.pt')# 推荐从 yolov8s 开始# 开始训练results=model.train(data='dataset.yaml',# 数据配置文件路径epochs=100,# 训练轮数(可设为 150)imgsz=640,# 输入图像尺寸batch=16,# 批次大小(根据 GPU 显存调整)name='road_hazard_yolov8s',optimizer='AdamW',lr0=0.001,weight_decay=0.0005,mosaic=0.5,# Mosaic 数据增强mixup=0.2,hsv_h=0.015,# 色调增强hsv_s=0.7,hsv_v=0.4,degrees=10.0,# 旋转增强translate=0.1,scale=0.5,flipud=0.0,fliplr=0.5,# 左右翻转device=0,# 使用 GPU 0;多卡用 [0,1]workers=4,save=True,save_period=10,# 每10轮保存一次exist_ok=False# 是否覆盖已有实验)if__name__=='__main__':main()detect.py)# detect.pyfromultralyticsimportYOLOimportcv2# 加载训练好的最佳模型model=YOLO('runs/detect/road_hazard_yolov8s/weights/best.pt')defdetect_image(img_path,conf_thres=0.3):results=model(img_path,conf=conf_thres)annotated=results[0].plot()# 自动绘制框和标签cv2.imshow("Road Hazard Detection",annotated)cv2.waitKey(0)cv2.destroyAllWindows()# 或保存# cv2.imwrite("output.jpg", annotated)# 示例detect_image("test_image.jpg")# evaluate.pyfromultralyticsimportYOLO model=YOLO('runs/detect/road_hazard_yolov8s/weights/best.pt')metrics=model.val(data='dataset.yaml',split='test')print(f"mAP50:{metrics.box.map50:.3f}")print(f"mAP50-95:{metrics.box.map:.3f}")导出 ONNX 模型(用于边缘设备):
model.export(format='onnx',imgsz=640,opset=12)部署到无人机/路侧摄像头:
Web 系统集成:
类别命名问题:shitou和Warning-Crash包含中文拼音和连字符,虽 YOLOv8 支持,但建议统一为英文下划线格式,例如:
names:['car','motorcycle','people','fallen_rock','crash_warning','landslide']数据平衡:
检查fallen_rock和landslide是否样本较少?若少于 500 张,建议使用过采样或CutMix增强。
小目标优化:
落石通常较小,可:
imgsz=1280close_mosaic=10(最后10轮关闭 Mosaic)该系统可用于智慧交通、山区公路监控、应急预警平台,有效提升道路安全水平。