当前位置: 首页 > news >正文

YOLOv11城市道路路面病害目标检测数据集-2722张-Pothole-detection-1

YOLOv11城市道路路面病害目标检测数据集

📊 数据集基本信息

  • 目标类别: [‘crocodile crack’, ‘longitudinal crack’, ‘pothole’]
  • 中文类别:[‘龟裂’, ‘纵向裂缝’, ‘坑洼’]
  • 训练集:1906 张
  • 验证集:542 张
  • 测试集:274 张
  • 总计:2722 张

📄 data.yaml 配置信息

该数据集提供了data.yaml文件,内容如下:

train:../train/imagesval:../valid/imagestest:../test/imagesnc:3names:['crocodile crack','longitudinal crack','pothole']

🖼️ 标注可视化

📝 数据集分析

YOLOv11城市道路路面病害目标检测数据集

该数据集专注于城市道路路面病害的检测与识别,通过车载摄像头采集了大量真实场景下的路面状况图像。数据集涵盖了多种常见路面病害类型,包括龟裂、纵向裂缝和坑洼等,为智能交通系统中的道路维护与安全评估提供了高质量的视觉数据支持。

从数据分布来看,该数据集包含2722张图像,其中训练集1906张、验证集542张、测试集274张,比例分配合理。这种划分方式能够有效支持模型的训练、调优与性能评估,确保模型在不同场景下的泛化能力。

该数据集的标注工作严谨规范,所有病害区域均采用精确的边界框进行标注,并配有清晰的类别标签。标注人员严格遵循统一的标注标准,确保了数据的一致性和可靠性,为后续的模型训练奠定了坚实基础。

该数据集可广泛应用于城市道路养护管理、智能交通监控系统以及自动驾驶车辆的道路感知模块。通过对路面病害的精准检测,能够及时发现并处理道路安全隐患,提升道路通行效率与安全性,具有重要的行业应用价值。

YOLOv11训练步骤

一、环境安装

pipinstallultralytics# 依赖要求:Python≥3.8,PyTorch≥1.8。安装完成后可通过 `yolo checks` 验证环境。

二、数据集准备(YOLO格式)

1. 目录结构

数据集必须严格按以下结构组织:

dataset/ ├── train/ │ ├── images/ # 训练图片(jpg/png) │ └── labels/ # YOLO格式标注(txt) ├── val/ │ ├── images/ │ └── labels/ └── data.yaml # 数据集配置文件
2. YOLO标注格式

每个*.txt文件对应一张图片,每行格式为:

class_id center_x center_y width height

所有数值均为相对于图片宽高的归一化值(0~1)。

3. data.yaml 配置文件
# data.yamlpath:../dataset# 数据集根目录(相对或绝对路径)train:train/images# 训练集图片路径val:val/images# 验证集图片路径test:test/images# 测试集图片路径(可选)# 类别信息nc:2# 类别数量names:['class1','class2']# 类别名称列表

三、模型选择

YOLO11 提供 5 种尺度,官方命名规则为yolo11{n/s/m/l/x}.pt

模型参数量适用场景
yolo11n2.6M边缘设备、速度优先
yolo11s9.4M平衡精度与速度
yolo11m20.1M常规GPU训练
yolo11l25.3M高精度需求
yolo11x56.9M极致精度、算力充足

四、模型训练

方式1:Python API(推荐)

创建train.py

fromultralyticsimportYOLOdefmain():# 加载预训练模型(推荐:基于COCO预训练权重微调)model=YOLO("yolo11m.pt")# 训练参数train_params={'data':'data.yaml',# 数据集配置文件'epochs':100,# 训练轮次'imgsz':640,# 输入图像尺寸'batch':16,# 批次大小(根据显存调整)'device':'0',# GPU设备号,'cpu'表示CPU训练'workers':8,# 数据加载线程数'optimizer':'SGD',# 优化器:SGD/Adam/AdamW'lr0':0.01,# 初始学习率'patience':50,# 早停耐心值'save':True,# 保存模型'project':'runs/train',# 项目保存路径'name':'exp',# 实验名称'single_cls':False,# 单类别检测设为True'close_mosaic':10,# 最后N轮关闭马赛克增强}# 开始训练results=model.train(**train_params)# 输出最佳模型路径print(f"Best model saved at:{results.best}")if__name__=='__main__':main()

三种模型加载方式对比:

# 方式A:从YAML构建全新模型(从头训练,适合网络结构改进)model=YOLO("yolo11m.yaml")# 方式B:加载预训练权重(最常用,推荐)model=YOLO("yolo11m.pt")# 方式C:构建新模型并迁移预训练权重(改进网络后使用)model=YOLO("yolo11m.yaml").load("yolo11m.pt")
方式2:命令行 CLI
# 基础训练yolo detect traindata=data.yamlmodel=yolo11m.ptepochs=100imgsz=640batch=16device=0# 多GPU训练yolo detect traindata=data.yamlmodel=yolo11m.ptepochs=100device=0,1# 从YAML+预训练权重训练yolo detect traindata=data.yamlmodel=yolo11m.yamlpretrained=yolo11m.ptepochs=100

五、关键训练参数说明

参数说明建议值
epochs训练总轮次100~300
imgsz输入尺寸640(标准)
batch批次大小8/16/32(根据显存)
device训练设备0(单GPU)、0,1(多GPU)、cpumps(Apple芯片)
workers数据加载线程8~16(Windows建议≤8)
optimizer优化器SGD(默认)、AdamAdamW
lr0/lrf初始/最终学习率0.01 / 0.01
momentumSGD动量0.937
weight_decay权重衰减0.0005
single_cls单类别模式True/False
resume恢复中断训练True(需指定last.pt)
amp自动混合精度True(默认开启,省显存)

六、模型验证

创建val.py

fromultralyticsimportYOLOdefmain():# 加载训练好的最佳权重model=YOLO('runs/train/exp/weights/best.pt')# 验证metrics=model.val(data='data.yaml',split='val',# 验证集:'val' 或 'test'imgsz=640,batch=16,iou=0.6,# NMS IoU阈值device='0',save_json=False,# 是否保存COCO格式JSON)# 输出关键指标print(f"mAP50-95:{metrics.box.map}")# mAP@0.5:0.95print(f"mAP50:{metrics.box.map50}")# mAP@0.5print(f"mAP75:{metrics.box.map75}")# mAP@0.75if__name__=='__main__':main()

CLI 方式:

yolo detect valmodel=runs/train/exp/weights/best.ptdata=data.yaml

七、模型推理/预测

创建predict.py

fromultralyticsimportYOLOimportcv2defmain():model=YOLO('runs/train/exp/weights/best.pt')# 单张图片推理results=model.predict(source='test_images/',# 图片路径、文件夹、URL或摄像头索引(0)imgsz=640,conf=0.25,# 置信度阈值iou=0.45,# NMS IoU阈值device='0',save=True,# 保存结果图show=False,# 是否弹窗显示)# 遍历结果forresultinresults:boxes=result.boxes# 检测框masks=result.masks# 分割掩码(如使用分割模型)probs=result.probs# 分类概率# 获取坐标、置信度、类别forboxinboxes:x1,y1,x2,y2=box.xyxy[0].tolist()conf=box.conf[0].item()cls=int(box.cls[0].item())print(f"Class:{cls}, Conf:{conf:.2f}, Box: [{x1:.1f},{y1:.1f},{x2:.1f},{y2:.1f}]")if__name__=='__main__':main()

CLI 方式:

yolo detect predictmodel=runs/train/exp/weights/best.ptsource=test_images/save=True## 数据集下载> 小郭AI日志
http://www.jsqmd.com/news/951998/

相关文章:

  • 新手小牛--组合逻辑集成电路(译码器2)
  • 如何将闲置电视盒子变身高性能Linux服务器?amlogic-s9xxx-armbian项目深度解析
  • YOLO26 数据清洗自动化:基于聚类的噪声样本过滤——从特征提取到综合流水线的完整工程实践
  • 训练Mask-RCNN时,那个神秘的events文件怎么用TensorBoard打开看损失曲线?
  • IPO材料智能生成系统崩溃事件复盘(附证监会反馈原文+AI修正日志),仅限本周开放下载
  • Spring Boot + MyBatis项目里,Integer参数传0为啥被当成空字符串?
  • AI赋能转正决策:从数据采集、能力建模到自动评估(2024最新Gartner验证框架)
  • 089、农业病虫害检测:复杂背景下小目标农业害虫检测的数据增强与模型改进
  • 图片:数字化时代的视觉语言
  • 如何遗忘比如何记忆更重要——AI Agent框架的一些总结
  • 舍饲环境下母羊产前典型行为识别方法解析【附代码】
  • P16353 「Diligent-OI R3 A」说好不哭 题解
  • Moneta Markets亿汇:“量子芯片点燃科技预期”
  • 从Push到Pull:搞懂Prometheus监控数据流的两种姿势,附Shell/Python推送实战
  • 如何免费实现游戏控制器虚拟化:ViGEmBus驱动完整指南
  • 2026云浮市权威认证贵金属回收 TOP5+黄金回收白银回收铂金回收门店地址电话推荐
  • 手把手教你用STM32F072C8T6自制一个带串口的J-Link OB(附全套资料)
  • 高级实时动漫视频超分辨率技术深度解析:Anime4K开源项目架构设计与性能优化实战指南
  • 087、零售货架商品检测:密集排列、遮挡严重、类别极多的 SKU 检测方案
  • 3分钟实现智能图像分层:layerdivider让复杂插画秒变可编辑图层
  • ctf show web入门99
  • 为什么有些影视网站越用越顺手?一次实际体验后的分析
  • Codex中文网 | Codex CLI 中文指南
  • 一件卫衣的诞生:从纱线到成衣的全流程解析
  • MatAnyone:一键实现专业级视频抠图的终极解决方案
  • 086、医疗影像病灶检测:YOLO 在 X 光、CT 切片上的小样本与正负样本不均衡方案
  • 深度解析BestBlogs开源项目:基于GitHub Actions自动化构建个人技术博客与内容聚合平台的实战指南
  • 别再踩坑了!用VMProtect SDK 3.4为你的软件实现一机一码+时间锁(附完整注册机源码)
  • 2026年现阶段,四川优质水果基地如何选?这份深度指南为您解析 - 2026年企业资讯
  • AI如何重塑秋冬服装赛道?实现降本增效新突破