Ultralytics YOLO27: 加入候补名单。
Get Started

裂缝分割数据集#

Open Crack Segmentation Dataset In Colab

Ultralytics 裂缝分割数据集提供了 4,029 张经过标注的道路和墙面裂缝图像,可用于训练实例分割模型,且仅包含一个 crack 类别。这些图像采集自多种路面和结构场景,可直接搭配 Ultralytics YOLO 使用,适用于从交通安全和自动驾驶汽车感知到基础设施维护及结构计算机视觉检测等多种场景。



观看: 如何使用 Ultralytics YOLO26 训练裂缝分割模型 | 建筑行业 AI 🎉

数据集结构#

裂缝分割数据集的 4,029 张图像划分如下:

  • 训练集:3,717 张图像,用于训练深度学习模型。
  • 验证集:200 张图像,在训练期间用于调整超参数并防止过拟合。
  • 测试集:留出 112 张图像,用于训练后评估模型。
  • 类别:单个 crack 类别,涵盖道路和墙面上所有经过标注的裂缝。
  • 下载大小:~91.6 MB。

应用场景#

裂缝分割可通过识别和评估建筑物、桥梁和道路中的结构损坏,支持基础设施维护。它还可以提升道路安全:自动化系统能够检测路面裂缝,以便及时修复。

在工业环境中,使用 Ultralytics YOLO26 等模型进行裂缝检测有助于核验建筑施工质量,避免制造业中代价高昂的停工,并提高道路巡检安全性。自动对裂缝分类,可以让维护团队优先处理最紧急的维修任务。

你也可以在 Ultralytics Platform 上浏览和管理完整的裂缝分割数据集。

数据集 YAML#

YAML 文件用于定义数据集配置,其中包含数据集路径、类别及其他相关信息。裂缝分割数据集的 crack-seg.yaml 文件维护在 https://github.com/ultralytics/ultralytics/blob/main/ultralytics/cfg/datasets/crack-seg.yaml。

ultralytics/cfg/datasets/crack-seg.yaml
# Ultralytics 🚀 AGPL-3.0 License - https://ultralytics.com/license

# Crack-seg dataset by Ultralytics
# Documentation: https://docs.ultralytics.com/datasets/segment/crack-seg
# Example usage: yolo train data=crack-seg.yaml
# parent
# ├── ultralytics
# └── datasets
#     └── crack-seg ← downloads here (91.6 MB)

# Train/val/test sets as 1) dir: path/to/imgs, 2) file: path/to/imgs.txt, or 3) list: [path/to/imgs1, path/to/imgs2, ..]
path: crack-seg # dataset root dir
train: images/train # train images (relative to 'path') 3717 images
val: images/val # val images (relative to 'path') 200 images
test: images/test # test images (relative to 'path') 112 images

# Classes
names:
  0: crack

# Download script/URL (optional)
download: https://github.com/ultralytics/assets/releases/download/v0.0.0/crack-seg.zip

用法#

如需在 Crack Segmentation 数据集上以 640 的图像尺寸训练 Ultralytics YOLO26n-seg 模型,训练 100 个周期,请使用以下 Python 或 CLI 代码片段。

训练示例
from ultralytics import YOLO

# 加载模型
# 建议使用 yolo26n-seg.pt 这类预训练模型,以加快收敛速度
model = YOLO("yolo26n-seg.pt")

# 在裂缝分割数据集上训练模型
# 确保可以访问 'crack-seg.yaml',或提供完整路径
results = model.train(data="crack-seg.yaml", epochs=100, imgsz=640)

# 训练完成后,可使用该模型进行预测或导出
# results = model.predict(source='path/to/your/images')

示例数据和标注#

以下是 Crack Segmentation 数据集中的一个示例,其中叠加了实例分割掩码,描绘了道路和墙面上检测到的裂缝:

用于基础设施检查的裂缝分割数据集样例

该数据集涵盖多种地点、表面和光照条件,因此使用它训练的模型能够接触到各种真实场景,进而提升泛化能力。数据增强可以进一步拓展场景多样性——相关工作流程请参阅我们的实例分割与跟踪指南。

引用与致谢#

如果你在研究或开发工作中使用裂缝分割数据集,请按要求引用来源:

引用
@misc{ crack-bphdr_dataset,
    title = { crack Dataset },
    type = { Open Source Dataset },
    author = { University },
    url = { https://universe.roboflow.com/university-bswxt/crack-bphdr },
    year = { 2022 },
    month = { dec },
    note = { visited on 2024-01-23 },
}

我们感谢 Roboflow 团队提供裂缝分割数据集,为计算机视觉社区提供了宝贵资源,尤其适用于道路安全和基础设施评估相关项目。更多数据集请访问 Ultralytics 数据集合集。

常见问题#

  • 裂缝分割数据集包含 4,029 张标注了道路和墙面裂缝的图像,可用于训练和评估单个 crack 类别的实例分割模型。该数据集面向交通安全和基础设施应用,例如结构检查和路面评估;你可以通过 crack-seg.yaml 配置文件直接将它用于 Ultralytics YOLO26。

  • 该数据集共包含 4,029 张图像:3,717 张用于训练,200 张用于验证,112 张用于测试,所有图像均标注为单个 crack 类别。首次使用时,完整压缩包会自动下载,大小约为 ~91.6 MB,格式为 .zip。

  • 加载一个预训练分割模型(例如 yolo26n-seg.pt),并使用 crack-seg.yaml 配置进行训练;可以使用上文使用方法部分中的 Python 或 CLI 代码片段。有关所有可用参数,请参阅训练指南。

  • 该数据集包含道路和墙面裂缝的多样化图像,覆盖了许多现实场景,有助于提升裂缝检测模型的鲁棒性。精准分割可支持道路安全和基础设施评估系统,使其能够可靠地识别潜在危险。

  • crack-seg.yaml 文件定义了数据集路径和单个 crack 类别,位于 Ultralytics GitHub 仓库中:crack-seg.yaml。

评论2

  1. mzg0108GitHub

    What was the performance of Yolo 8 on this dataset? What was the mean IOU on test set?

    1. Glenn JocherUltralytics(已编辑)

      Hey there!

      Thanks for reaching out with your question about performance on the Crack Segmentation dataset. 🚀 We do not publish a mean IOU (Intersection Over Union) for the test set on this dataset.

      For an example on how to train a YOLO26 model on the crack segmentation dataset, you might find this snippet useful:

      from ultralytics import YOLO
      
      # Load a pretrained model (recommended for training)
      model = YOLO('yolo26n-seg.pt')  
      
      # Train the model on the crack-seg dataset
      results = model.train(data='crack-seg.yaml', epochs=100, imgsz=640)

      If you're specifically interested in evaluating the model's performance in terms of mean IOU or any other metrics, you can use the val mode to validate your model after training (for example with split='test' if your dataset YAML defines a test set), which reports mask mAP.

      Feel free to dive into your own experiments and share your findings. The community and we are always eager to learn about different performance insights across various datasets! 🌟

      Happy detecting, and let us know if you have any more questions or if there's anything else we can help you with!

      1