砖块裂缝检测数据集 红砖裂缝检测数据集 YOLOV11模型如何训练砖块裂缝检测数据集 工业缺陷检测、建筑安全监测等场景

发布时间:2026/8/6 10:37:58
砖块裂缝检测数据集 红砖裂缝检测数据集 YOLOV11模型如何训练砖块裂缝检测数据集 工业缺陷检测、建筑安全监测等场景
工业工地安全检测 -砖块裂纹检测数据集数据集文字描述砖块裂纹检测数据集yolo和voc标注标签数1273框数: 2974含1个类别以及框数crack (2974) 砖块裂纹检测数据集 YOLOv11 完整训练代码✅ 数据集统计1273 张图像2974 个裂纹标注框✅ 支持 YOLO 和 VOC 格式✅ 提供 YOLOv11 完整训练脚本基于ultralytics最新版本✅ 适用于工业缺陷检测、建筑安全监测等场景 数据集统计表类别Class图像数量Images标注框数量Bounding Boxes占比%crack12732974100%总计12732974—— 说明所有图像均为砖墙表面拍摄包含不同光照、角度、背景复杂度。每张图像平均约 2.34 个裂纹。标注格式同时提供YOLO 格式class_id center_x center_y width height归一化VOC 格式XML 文件含bndbox坐标 博主 数据集目录结构建议crack_dataset/ ├── images/ │ ├── train/ │ └── val/ ├── labels/ │ ├── train/ │ └── val/ ├── annotations/# VOC XML 文件│ ├── train/ │ └── val/ ├── crack.yaml# YOLO 配置文件└── README.md️ YOLOv11 训练配置文件crack.yaml# crack.yamltrain:./crack_dataset/images/trainval:./crack_dataset/images/valnc:1# 类别数量names:[crack]# 类别名称✅ 将此文件保存在项目根目录下供 YOLO 模型加载使用。 YOLOv11 完整训练代码Python 脚本# train_crack_detection.pyfromultralyticsimportYOLOimportosimportyaml# 设置训练参数MODEL_NAMEyolov11s.pt# 可选: yolov11n, yolov11s, yolov11m, yolov11l, yolov11xCONFIG_FILEcrack.yaml# 数据集配置EPOCHS150BATCH_SIZE16IMG_SIZE640PROJECT_NAMEcrack_detectionEXPERIMENT_NAMEexp1# 检查配置文件是否存在ifnotos.path.exists(CONFIG_FILE):print(f[ERROR] 配置文件{CONFIG_FILE}不存在请检查路径)exit()# 加载模型自动下载预训练权重print( 加载 YOLOv11 模型...)modelYOLO(MODEL_NAME)# 自动从 HuggingFace 或 Ultralytics 下载# 开始训练print( 开始训练...)resultsmodel.train(dataCONFIG_FILE,epochsEPOCHS,batchBATCH_SIZE,imgszIMG_SIZE,device0ifos.environ.get(CUDA_AVAILABLE)elsecpu,# 自动选择 GPUprojectPROJECT_NAME,nameEXPERIMENT_NAME,exist_okTrue,patience50,# 早停轮数saveTrue,save_period10,# 每10轮保存一次cacheFalse,# 若内存充足可设为 True 加速workers4,optimizerAdamW,# 推荐用于小数据集lr00.001,# 初始学习率lrf0.01,# 最终学习率 lr0 * lrfmomentum0.937,weight_decay0.0005,hsv_h0.015,# 数据增强hsv_s0.7,hsv_v0.4,degrees10.0,translate0.2,scale0.5,shear2.0,flipud0.0,fliplr0.5,bgr0.0,mosaic1.0,mixup0.1,copy_paste0.1,)# 输出训练结果print(✅ 训练完成)print(f 模型保存路径:{results.save_dir})# 可选验证模型性能print( 开始验证...)metricsmodel.val()print(fmAP50:{metrics.box.map50:.4f})print(fmAP50-95:{metrics.box.map:.4f})print(fPrecision:{metrics.box.p:.4f})print(fRecall:{metrics.box.r:.4f})# 可选导出为 ONNX 模型用于部署print( 导出 ONNX 模型...)onnx_pathmodel.export(formatonnx)print(fONNX 模型已保存至:{onnx_path}) 如何获取 YOLOv11YOLOv11 是 Ultralytics 推出的最新版本2025 年发布支持更高效的结构和精度提升。安装最新版 Ultralytics含 YOLOv11# 升级 pippipinstall--upgradepip# 安装最新 ultralytics支持 YOLOv11pipinstallultralytics--pre# 或从 GitHub 安装开发版pipinstallgithttps://github.com/ultralytics/ultralytics.git✅ 支持模型列表yolov11n,yolov11s,yolov11m,yolov11l,yolov11x 数据集转换工具VOC → YOLO如果您有 VOC 格式的 XML 文件可用以下脚本转为 YOLO 格式# voc_to_yolo.pyimportxml.etree.ElementTreeasETimportosfromglobimportglobdefconvert_voc_to_yolo(xml_file,output_dir,class_mapping):treeET.parse(xml_file)roottree.getroot()image_nameroot.find(filename).text img_widthint(root.find(size/width).text)img_heightint(root.find(size/height).text)yolo_lines[]forobjinroot.findall(object):cls_nameobj.find(name).text.lower().strip()ifcls_namenotinclass_mapping:continuecls_idclass_mapping[cls_name]bboxobj.find(bndbox)xminfloat(bbox.find(xmin).text)yminfloat(bbox.find(ymin).text)xmaxfloat(bbox.find(xmax).text)ymaxfloat(bbox.find(ymax).text)# 归一化x_center((xminxmax)/2)/img_width y_center((yminymax)/2)/img_height width(xmax-xmin)/img_width height(ymax-ymin)/img_height yolo_lines.append(f{cls_id}{x_center:.6f}{y_center:.6f}{width:.6f}{height:.6f})# 保存 .txt 文件txt_fileos.path.join(output_dir,os.path.splitext(image_name)[0].txt)withopen(txt_file,w)asf:f.write(\n.join(yolo_lines))# 使用示例class_map{crack:0}xml_filesglob(crack_dataset/annotations/train/*.xml)os.makedirs(crack_dataset/labels/train,exist_okTrue)forxmlinxml_files:convert_voc_to_yolo(xml,crack_dataset/labels/train,class_map)print(✅ VOC 转 YOLO 完成) 推荐训练技巧提升裂纹检测效果技巧说明✅ 数据增强使用mosaic,mixup,copy_paste增强小目标✅ 高分辨率训练若显存允许使用imgsz1280提升小裂纹检测能力✅ Focal Loss在配置中启用以缓解正负样本不平衡✅ Early Stopping设置patience50防止过拟合✅ AdamW 优化器更适合小数据集收敛 模型推理示例测试训练好的模型# predict.pyfromultralyticsimportYOLOimportcv2 modelYOLO(crack_detection/exp1/weights/best.pt)resultsmodel(test.jpg,conf0.4)forrinresults:im_arrayr.plot()# 绘制检测结果imcv2.cvtColor(im_array,cv2.COLOR_RGB2BGR)cv2.imshow(Crack Detection,im)cv2.waitKey(0)✅ 总结项目内容数据集1273 张图像2974 个裂纹标注类别crack单类标注格式YOLO VOC模型YOLOv11最新一代适用场景工业质检、建筑安全、无人机巡检