建筑裂缝检测图像ai模型训练数据集

news2024/9/21 14:07:35

共52w例图像的建筑裂缝检测图像ai模型训练数据集


20 地上设施(公路桥梁、铁路桥梁、水坝(墙)、挡土墙)和地下 SOC 设施(公路/铁路隧道、地铁、水隧道);韩国40 个市、县、区 SOC 设施的数据,并考虑多样性分布;10种裂纹/缺陷(裂纹、网状裂纹、分层、剥落、泛白、漏水、钢筋外露、材料分离、提升、损坏)。数据集使用拍摄设备直接采集,主要记录灾害安全环境525000例格式为jpg;标签数据以折线和多边形记录525000例,格式为json;图片说明10000例。

项目背景:

建筑裂缝检测是基础设施维护和安全管理中的重要环节。裂缝不仅影响建筑物的美观,更重要的是会威胁到结构的安全性和使用寿命。传统的人工检查方法不仅效率低下,还可能因为人为因素而遗漏重要细节。随着计算机视觉技术的进步,利用AI模型进行自动裂缝检测已成为一种趋势。本数据集旨在为建筑裂缝检测提供高质量的标注数据,支持自动化检测系统的开发与应用。

数据集概述:

  • 名称:建筑裂缝检测图像AI模型训练数据集
  • 规模:共计525,000张图像
  • 设施类型:涵盖地上设施(公路桥梁、铁路桥梁、水坝(墙)、挡土墙)和地下SOC设施(公路/铁路隧道、地铁、水隧道)
  • 地域分布:来自韩国40个市、县、区的SOC设施数据
  • 缺陷类型:包含10种裂纹/缺陷类型(裂纹、网状裂纹、分层、剥落、泛白、漏水、钢筋外露、材料分离、提升、损坏)
  • 数据格式:图像格式为.jpg,标签数据以折线和多边形记录,格式为.json
  • 图片说明:包含10,000例图像说明

数据集特点:
  1. 全面性:涵盖多种设施类型和地域,确保数据集的多样性和实用性。
  2. 高质量标注:每张图像都已详细标注,确保数据的准确性和可靠性。
  3. 适用范围广:适用于多种深度学习框架,方便科研人员和开发者直接使用。
  4. 标准格式:采用广泛使用的.jpg图像格式和.json标签格式,方便导入不同的检测框架。
数据集内容:

  • 裂纹(Crack):标注了建筑表面的裂纹。
  • 网状裂纹(Hairline Cracks):标注了建筑表面的细小裂纹网络。
  • 分层(Delamination):标注了建筑表面的分层缺陷。
  • 剥落(Spalling):标注了建筑表面的剥落区域。
  • 泛白(Efflorescence):标注了建筑表面的泛白现象。
  • 漏水(Leakage):标注了建筑表面的漏水点。
  • 钢筋外露(Exposed Rebar):标注了建筑表面的钢筋外露情况。
  • 材料分离(Material Separation):标注了建筑表面的材料分离情况。
  • 提升(Heave):标注了建筑表面的提升缺陷。
  • 损坏(Damage):标注了建筑表面的损坏情况。
数据集用途:
  1. 缺陷检测:可用于训练和评估深度学习模型,特别是在建筑裂缝检测方面。
  2. 质量控制:帮助实现建筑设施的安全管理,减少人工检测的工作量。
  3. 科研与教育:为建筑裂缝检测领域的研究和教学提供丰富的数据支持。
使用场景:
  1. 自动化检测:在基础设施巡检中,利用该数据集训练的模型可以自动识别建筑裂缝。
  2. 质量控制:在质量控制系统中,利用该数据集可以提高检测的准确性和速度。
  3. 生产管理:在建设和维护管理工作中,利用该数据集可以提高工作效率和安全性。
技术指标:
  • 数据量:共计525,000张图像,覆盖多种建筑裂缝类型。
  • 数据划分:考虑到地域和设施类型的多样性分布。
  • 标注格式:标签数据以折线和多边形记录,格式为.json,方便导入不同的检测框架。
  • 标注精度:所有图像均已详细标注,确保数据的准确性和可靠性。
注意事项:
  • 数据隐私:在使用过程中,请确保遵守相关法律法规,保护个人隐私。
  • 数据预处理:在使用前,建议进行一定的数据预处理,如图像归一化等。
获取方式:
  • 下载链接:请访问项目主页获取数据集下载链接。
  • 许可证:请仔细阅读数据集的使用许可协议。
关键代码示例:

以下是关键代码的示例,包括数据加载、模型训练、检测和结果展示。

数据加载:
1import os
2import cv2
3import numpy as np
4import json
5
6# 数据集路径
7DATASET_PATH = 'path/to/dataset'
8IMAGES_DIR = os.path.join(DATASET_PATH, 'images')
9LABELS_DIR = os.path.join(DATASET_PATH, 'labels')
10
11# 加载数据集
12def load_dataset(directory):
13    images = []
14    labels = []
15
16    for img_file in os.listdir(IMAGES_DIR):
17        if img_file.endswith('.jpg'):
18            img_path = os.path.join(IMAGES_DIR, img_file)
19            label_path = os.path.join(LABELS_DIR, img_file.replace('.jpg', '.json'))
20            
21            image = cv2.imread(img_path)
22            with open(label_path, 'r') as f:
23                label = json.load(f)
24            
25            images.append(image)
26            labels.append(label)
27
28    return images, labels
29
30train_images, train_labels = load_dataset(os.path.join(DATASET_PATH, 'train'))
31val_images, val_labels = load_dataset(os.path.join(DATASET_PATH, 'val'))
32test_images, test_labels = load_dataset(os.path.join(DATASET_PATH, 'test'))
模型训练:
1# 初始化YOLOv8模型
2model = YOLO('yolov8n.pt')
3
4# 定义训练参数
5EPOCHS = 100
6BATCH_SIZE = 16
7
8# 训练模型
9results = model.train(data='crack_detection.yaml', epochs=EPOCHS, batch=BATCH_SIZE)
模型检测:
1# 加载训练好的模型
2model = YOLO('best.pt')
3
4# 检测图像
5def detect_cracks(image):
6    results = model.predict(image)
7    for result in results:
8        boxes = result.boxes
9        for box in boxes:
10            x1, y1, x2, y2 = box.xyxy[0]
11            conf = box.conf
12            class_id = box.cls
13            
14            # 显示结果
15            cv2.rectangle(image, (int(x1), int(y1)), (int(x2), int(y2)), (0, 255, 0), 2)
16            cv2.putText(image, f'Class: {class_id}, Conf: {conf:.2f}', (int(x1), int(y1)-10), cv2.FONT_HERSHEY_SIMPLEX, 0.5, (0, 255, 0), 2)
17    
18    return image
19
20# 测试图像
21test_image = cv2.imread('path/to/test_image.jpg')
22result_image = detect_cracks(test_image)
23cv2.imshow('Detected Cracks', result_image)
24cv2.waitKey(0)
25cv2.destroyAllWindows()
配置文件 crack_detection.yaml
1train: path/to/train/images
2val: path/to/val/images
3test: path/to/test/images
4
5nc: 10  # Number of classes
6names: ['Crack', 'Hairline Cracks', 'Delamination', 'Spalling', 'Efflorescence', 'Leakage', 'Exposed Rebar', 'Material Separation', 'Heave', 'Damage']  # Class names
7
8# Training parameters
9batch_size: 16
10epochs: 100
11img_size: [640, 640]  # Image size
使用指南:
  1. 数据准备:确保数据集路径正确,并且数据集已准备好。
  2. 模型训练:运行训练脚本,等待训练完成。
  3. 模型检测:使用训练好的模型进行检测,并查看检测结果。
结语:

本数据集提供了一个高质量的建筑裂缝检测图像数据集,支持自动化检测、质量控制等多个应用场景。通过利用该数据集训练的模型,可以提高裂缝检测的效率和准确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2139477.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

读构建可扩展分布式系统:方法与实践05分布式缓存

1. 分布式缓存 1.1. 缓存存在于应用程序的许多地方 1.1.1. 行应用程序的CPU具有高速多级硬件缓存,可以减少相对较慢的主内存访问 1.1.2. 数据库引擎可以利用主内存来缓存数据存储的内容,这样在许多情况下查询就可以不用访问速度相对较慢的磁盘 1.2. …

给树莓派添加 SSD1306 OLED 小屏幕

树莓派被作为一个小服务器使用的时候,通常都不需要接一台专用显示器,而是通过 ssh 远程登录。当环境中有多个设备使用远程登录的时候,就容易不记得相应设备的 IP 地址等信息;有时候只是需要了解设备的一些信息,例如 CP…

【GPU版】Windows下PyTorch入门深度学习环境安装与配置

如果电脑有NVIDIA GPU显卡,看【GPU版本】;否则,看【CPU版本】 聊聊PyTorch和Tensorflow 它们都是python的库/包 pip3是给python3使用的,由于现在用的python基本上都是3以上版本,所以pip和pip3没有区别 聊聊Anacond…

✔3290. 最高乘法得分

代码实现: 动态规划 /*从 b 中选一个长为 4 的子序列定义 dfs(i,j) 表示 从 b[0] 到 b[i] 中选出 j1 个数,去和 a[0] 到 a[j] 算一个点积的最大值考虑 b[i] 选或不选不选 dfs(i-1,j)选 dfs(i-1,j-1) a[j] * b[i]dfs(i,j) max(dfs(i-1),j), dfs(i-1,j-1…

FreeRTOS实战指南 — 2 移植 FreeRTOS 到 STM32F429

目录 1 准备裸机工程文件 2 创建FreeRTOS文件夹结构 3 修改Keil工程文件 3.1 添加工程文件 3.2 指定 FreeRTOS 头文件的路径 4 移植FreeRTOSConfig.h配置文件 4.1 移植FreeRTOSConfig.h 4.2 详解FreeRTOSConfig.h 4.3 修改FreeRTOSConfig.h 5 修改main.c 1 准备裸机工…

Java | Leetcode Java题解之第409题最长回文串

题目&#xff1a; 题解&#xff1a; class Solution {public int longestPalindrome(String s) {int[] count new int[128];int length s.length();for (int i 0; i < length; i) {char c s.charAt(i);count[c];}int ans 0;for (int v: count) {ans v / 2 * 2;if (v …

开源 AI 智能名片小程序:开启内容营销新境界

摘要&#xff1a;本文深入探讨了在当今数字化时代&#xff0c;内容营销的重要性以及如何实现让用户主动找你的最佳效果。通过引入开源 AI 智能名片小程序这一创新工具&#xff0c;阐述了其在明确目标用户群体、迎合用户需求痛点和打造风格特色方面的独特优势&#xff0c;为企业…

VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025

VMware ESXi 7.0U3q macOS Unlocker 集成驱动版更新 OEM BIOS 2.7 支持 Windows Server 2025 VMware ESXi 7.0U3q macOS Unlocker & OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版) ESXi 7.0U3 标准版集成 Intel 网卡、Realtek USB 网卡 和 NVMe 驱动 请访问原文链…

虚幻引擎 | (类恐鬼症)玩家和NPC语音聊天(下)

上下文Conversation Array 要让GPT记住上下文&#xff0c;实现GPT4里的连续对话功能&#xff0c;需要把以下内容存入conversation array中去。 NPC background storyuser input promptNPC anwser open AI API的JsonObject JSONObject是一种数据结构&#xff0c;可以理解为JSO…

【最佳实践】配置类封装-Async异步注解以及自定义线程池

效果是&#xff1a;能点进去看到自定义的线程池&#xff0c;代表指定自定义的线程池成功&#xff01; 自定义Async线程池 自定义线程池 import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.…

Android14音频进阶之如何集成音效(八十五)

简介: CSDN博客专家、《Android系统多媒体进阶实战》一书作者 新书发布:《Android系统多媒体进阶实战》🚀 优质专栏: Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏: 多媒体系统工程师系列【原创干货持续更新中……】🚀 优质视频课程:AAOS车载系统+…

Parallels Desktop 20 版本功能汇总,附最新PD虚拟机下载链接

Parallels Desktop 20 for Mac 已正式发布&#xff01;作为目前 Mac 上极为好用强大的「虚拟机」软件&#xff0c;它完美支持最新的 macOS Sequoia 15 系统和 Windows 11 24H2&#xff0c;这次还引入了许多诸如 AI 等令人期待的全新功能和改进。为普通用户、开发者、设计师都带…

第十一章 【后端】商品分类管理微服务(11.2)——Lombok

11.2 Lombok 官网:https://projectlombok.org/ 较新版本的 idea 已默认安装 lombok 插件 Lombok 工具提供一系列的注解,使用这些注解可以不用定义 getter、setter、equals、constructor 等,可以消除 java 代码的臃肿,编译时它会在字节码文件中自动生成这些通用的方法,简…

【算法专题】穷举vs暴搜vs深搜vs回溯vs剪枝

二叉树剪枝 LCR 047. 二叉树剪枝 - 力扣&#xff08;LeetCode&#xff09; 本题要求我们将全部为0的二叉树去掉&#xff0c;也就是剪枝&#xff0c;当我们举一个具体的例子进行模拟时&#xff0c;会发现&#xff0c;只关注于对其中一个子树的根节点进行剪枝&#xff0c;由于我…

企业竞争文化数据,词频分析(2007-2022年)

企业竞争文化的核心价值观包括&#xff1a; 追求卓越&#xff1a;鼓励员工不断超越自我&#xff0c;提升个人和团队的绩效。领导力&#xff1a;强调领导者在塑造竞争文化中的重要作用&#xff0c;引领团队向更高目标前进。创新思维&#xff1a;倡导员工面对挑战时采取创新方法…

25届计算机专业选题推荐-基于微信小程序的校园快递驿站代收管理系统

&#x1f496;&#x1f525;作者主页&#xff1a;毕设木哥 精彩专栏推荐订阅&#xff1a;在 下方专栏&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; 实战项目 文章目录 实战项目 一、基于微信小程序的校园快递驿…

Golang | Leetcode Golang题解之第406题根据身高重建队列

题目&#xff1a; 题解&#xff1a; func reconstructQueue(people [][]int) (ans [][]int) {sort.Slice(people, func(i, j int) bool {a, b : people[i], people[j]return a[0] > b[0] || a[0] b[0] && a[1] < b[1]})for _, person : range people {idx : pe…

【SQL Server】清除日志文件ERRORLOG、tempdb.mdf

数据库再使用一段时间后&#xff0c;日志文件会增大&#xff0c;特别是在磁盘容量不足的情况下&#xff0c;更是需要缩减&#xff0c;以下为缩减方法&#xff1a; 如果可以停止 SQL Server 服务&#xff0c;那么可以采取更直接的方式来缩减 ERRORLOG 和 tempdb.mdf 文件的大小…

机器学习课程学习周报十二

机器学习课程学习周报十二 文章目录 机器学习课程学习周报十二摘要Abstract一、机器学习部分1.1 fGAN: General Framework of GAN1.2 CycleGAN1.3 Auto-Encoder1.4 概率论复习&#xff08;一&#xff09; 总结 摘要 本周的学习内容涵盖了fGAN框架、CycleGAN、自编码器以及概率…

【逐行注释】自适应Q和R的AUKF(自适应无迹卡尔曼滤波),附下载链接

文章目录 自适应Q的KF逐行注释的说明运行结果部分代码各模块解释 自适应Q的KF 自适应无迹卡尔曼滤波&#xff08;Adaptive Unscented Kalman Filter&#xff0c;AUKF&#xff09;是一种用于状态估计的滤波算法。它是基于无迹卡尔曼滤波&#xff08;Unscented Kalman Filter&am…