道路落石及障碍物检测数据集【共2套】第一套智慧化道路落石检测数据集nc一类:shitou1第二套6类 道路障碍物检测数据集 落石 滑坡检测数据集6 names: [‘Car’, ‘Motorcycle’, ‘People’, ‘shitou’, ‘Warning-Crash’, ‘landslide’]11111111完整 YOLOv8 训练与检测系统方案包含✅ 数据集说明✅dataset.yaml配置✅ YOLOv8 训练代码支持自定义参数✅ 推理与可视化脚本✅ 类别中文对照表 一、数据集信息图像总数未明确给出但已划分train/valid/test三部分标注格式YOLO 格式每张.jpg对应一个.txt类别数量6 类类别名称英文 → 中文英文标签中文含义说明Car汽车正常行驶车辆Motorcycle摩托车两轮机动车People行人路面人员shitou落石公路上的散落石块⚠️建议统一为英文如fallen_rockWarning-Crash碰撞/事故预警可能表示事故车辆或危险状态landslide山体滑坡大规模地质灾害区域 建议将shitou改为fallen_rock以符合命名规范避免非 ASCII 字符问题。 二、数据集目录结构请确保您的数据组织如下road_hazard_dataset/ ├── train/ │ ├── images/# .jpg│ └── labels/# .txt├── valid/ │ ├── images/ │ └── labels/ ├── test/ │ ├── images/ │ └── labels/ └── dataset.yaml 三、dataset.yaml配置文件# dataset.yamltrain:../train/imagesval:../valid/imagestest:../test/imagesnc:6names:[Car,Motorcycle,People,shitou,Warning-Crash,landslide]⚠️ 注意YOLO 要求labels/文件夹与images/同级且同名。若当前只有images/而无labels/需确保.txt文件放在对应labels/目录中。 四、YOLOv8 训练代码train.py# train.pyfromultralyticsimportYOLOdefmain():# 选择模型大小n/s/m/l/xmodelYOLO(yolov8s.pt)# 推荐从 yolov8s 开始# 开始训练resultsmodel.train(datadataset.yaml,# 数据配置文件路径epochs100,# 训练轮数可设为 150imgsz640,# 输入图像尺寸batch16,# 批次大小根据 GPU 显存调整nameroad_hazard_yolov8s,optimizerAdamW,lr00.001,weight_decay0.0005,mosaic0.5,# Mosaic 数据增强mixup0.2,hsv_h0.015,# 色调增强hsv_s0.7,hsv_v0.4,degrees10.0,# 旋转增强translate0.1,scale0.5,flipud0.0,fliplr0.5,# 左右翻转device0,# 使用 GPU 0多卡用 [0,1]workers4,saveTrue,save_period10,# 每10轮保存一次exist_okFalse# 是否覆盖已有实验)if__name____main__:main() 五、推理与可视化detect.py# detect.pyfromultralyticsimportYOLOimportcv2# 加载训练好的最佳模型modelYOLO(runs/detect/road_hazard_yolov8s/weights/best.pt)defdetect_image(img_path,conf_thres0.3):resultsmodel(img_path,confconf_thres)annotatedresults[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 modelYOLO(runs/detect/road_hazard_yolov8s/weights/best.pt)metricsmodel.val(datadataset.yaml,splittest)print(fmAP50:{metrics.box.map50:.3f})print(fmAP50-95:{metrics.box.map:.3f})✅ 七、部署建议导出 ONNX 模型用于边缘设备model.export(formatonnx,imgsz640,opset12)部署到无人机/路侧摄像头使用 NVIDIA Jetson TensorRT 加速或 OpenVINOIntel 设备Web 系统集成Flask/FastAPI 提供 API前端上传图像 → 返回检测结果 JSON⚠️ 八、注意事项类别命名问题shitou和Warning-Crash包含中文拼音和连字符虽 YOLOv8 支持但建议统一为英文下划线格式例如names:[car,motorcycle,people,fallen_rock,crash_warning,landslide]数据平衡检查fallen_rock和landslide是否样本较少若少于 500 张建议使用过采样或CutMix增强。小目标优化落石通常较小可使用imgsz1280添加 P2 检测头需修改模型结构启用close_mosaic10最后10轮关闭 Mosaic该系统可用于智慧交通、山区公路监控、应急预警平台有效提升道路安全水平。