混凝土护栏坑洼路面沙土检测数据集 智慧交通道路 智慧城市、市政管理、AI竞赛 YOLO模型如何训练道路缺陷病害检测数据集 市道路视觉污染自动巡检 - 智慧环卫系统(识别路面异常物) - 交通
2026/9/17 23:44:10 网站建设 项目流程

visual pollution 数据集信息总结表

项目内容
数据集名称visual pollution Dataset
任务类型目标检测 (Object Detection)
图片总数约3570 张
类别数量3 类
具体类别1. Concrete barriers(混凝土护栏)
2. potholes(坑洼)
3. sand on road(路面沙土)
模型YOLOv8、YOLOv8s、YOLOv5
数据格式图像 + 标注文件(目标检测标准格式)


1

1

1

1
以下是针对Visual Pollution Dataset(视觉污染检测数据集)的完整 YOLO 训练方案,包含3 类目标

  1. Concrete barriers(混凝土护栏)
  2. potholes(坑洼)
  3. sand on road(路面沙土)

支持YOLOv5 / YOLOv8 / YOLOv8s,提供可直接运行的训练代码。


✅ 一、数据集配置文件data.yaml

# data.yamlpath:./datasetstrain:images/trainval:images/valnc:3names:['concrete_barriers','potholes','sand_on_road']

📌 注意:

  • 类别名使用下划线命名(避免空格),与标注文件中的类别 ID 对应
  • 标注格式为标准 YOLO 格式(每行:class_id x_center y_center width height,归一化)

✅ 二、目录结构要求

VisualPollutionDetection/ ├── datasets/ │ ├── images/ │ │ ├── train/ # ~2856 张(80%) │ │ └── val/ # ~714 张(20%) │ └── labels/ │ ├── train/ │ └── val/ ├── data.yaml ├── train_yolov8.py # YOLOv8 训练脚本 └── requirements.txt

✅ 三、YOLOv8 训练代码(推荐)

# train_yolov8.pyfromultralyticsimportYOLOimportargparsedefmain(model_name='yolov8s.pt',epochs=100,imgsz=640,batch=16,name='visual_pollution_yolo8'):model=YOLO(model_name)results=model.train(data='data.yaml',epochs=epochs,imgsz=imgsz,batch=batch,name=name,cache=False,device=0,workers=8,patience=20,save=True,exist_ok=False,# 增强策略(适合道路场景)hsv_h=0.015,hsv_s=0.7,hsv_v=0.4,degrees=5.0,translate=0.1,scale=0.3,mosaic=0.8,flipud=0.0,fliplr=0.5)print(f"✅ 训练完成!最佳模型保存在: runs/detect/{name}/weights/best.pt")if__name__=='__main__':parser=argparse.ArgumentParser()parser.add_argument('--model',type=str,default='yolov8s.pt')parser.add_argument('--epochs',type=int,default=100)parser.add_argument('--imgsz',type=int,default=640)parser.add_argument('--batch',type=int,default=16)parser.add_argument('--name',type=str,default='visual_pollution_exp')args=parser.parse_args()main(**vars(args))

✅ 四、YOLOv5 训练代码(兼容旧项目)

需先克隆 YOLOv5 仓库:git clone https://github.com/ultralytics/yolov5

# train_yolov5.pyimportosimportargparsedefmain(weights='yolov5s.pt',epochs=100,imgsz=640,batch=16,name='visual_pollution_yolov5'):cmd=f""" python yolov5/train.py \ --img{imgsz}\ --batch{batch}\ --epochs{epochs}\ --data data.yaml \ --weights{weights}\ --name{name}\ --cache ram \ --workers 8 """os.system(cmd)if__name__=='__main__':parser=argparse.ArgumentParser()parser.add_argument('--weights',type=str,default='yolov5s.pt')parser.add_argument('--epochs',type=int,default=100)parser.add_argument('--imgsz',type=int,default=640)parser.add_argument('--batch',type=int,default=16)parser.add_argument('--name',type=str,default='visual_pollution_yolov5')args=parser.parse_args()main(**vars(args))

✅ 五、依赖安装

# requirements.txt (YOLOv8) ultralytics>=8.3.0 opencv-python numpy torch>=2.0.0

若使用 YOLOv5,需额外安装:

pipinstall-r yolov5/requirements.txt

✅ 六、启动训练

YOLOv8(推荐)

python train_yolov8.py --model yolov8s.pt --epochs100--batch16--name vp_yolo8s

YOLOv5

python train_yolov5.py --weights yolov5s.pt --epochs100--batch16--name vp_yolov5s

✅ 七、推理示例(YOLOv8)

fromultralyticsimportYOLO model=YOLO('runs/detect/vp_yolo8s/weights/best.pt')results=model('road_image.jpg')# 可视化results[0].show()# 获取检测结果forboxinresults[0].boxes:cls_id=int(box.cls.item())label=model.names[cls_id]conf=float(box.conf.item())print(f"检测到:{label}, 置信度:{conf:.2f}")

✅ 八、应用场景

  • 城市道路视觉污染自动巡检
  • 智慧环卫系统(识别路面异常物)
  • 交通养护决策支持
  • 无人机/车载实时监测

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询