十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

建筑红外缺陷识别数据集:YOLOv12实战可用,91.5%实测精度

建筑红外缺陷识别数据集:YOLOv12实战可用,91.5%实测精度 简介本资源是面向建筑检测与智能运维领域的红外热成像缺陷识别专用数据集适用于计算机视觉初学者及工业AI应用开发者开展目标检测模型训练与部署。数据集聚焦建筑外墙空鼓、渗漏、保温层缺失等典型热工缺陷经专业标注并适配YOLOv12架构实测mAP达91.5%可直接用于算法验证与工程落地。压缩包共1401个文件含700张红外JPG图像、700份对应YOLO格式TXT标注文件及1个类别定义YAML配置文件结构规范、开箱即用总大小34.53MB。目前已有50人学习下载配套模型训练代码与详细使用说明已在作者CSDN博客同步公开涵盖数据加载、训练调参、推理可视化全流程显著降低热成像缺陷识别任务的入门门槛与复现成本。1. 这不是普通数据集而是一套可直接上手的建筑红外缺陷识别“训练弹药”你搜“yolov12”“红外热成像”“建筑缺陷识别”刷出来的大多是论文摘要、模型结构图、零散代码片段或者一堆标注混乱、光照不均、无明确缺陷定义的“伪数据集”。但真正想快速验证算法、部署到现场巡检设备、甚至接进BIM运维平台的人缺的从来不是理论而是——一张图一个缺陷、边界清晰、类别统一、格式规整、开箱即训的真实场景数据弹药。这个标题里写的“带标注的红外热成像建筑缺陷识别数据集支持yolov1291.5%识别率700张图”就是冲着解决这个卡点来的。它不是学术玩具是我在三个老旧小区外墙空鼓检测、两个工业厂房屋面渗漏排查、一个数据中心机房保温层失效定位项目中亲手采集、逐帧校验、反复打磨出来的实战样本。700张图不是凑数是覆盖了空鼓含浅层/深层、热桥窗框/梁柱交接处、渗漏湿迹边缘模糊温度梯度异常、保温缺失大面积温差突变四大类缺陷在不同季节、不同时段晨间结露期、午后日照峰值、夜间散热期、不同材质混凝土、砖墙、彩钢板、岩棉板下的典型红外表现。所有标注全部采用YOLOv12原生支持的.txt格式每张图对应一个同名标签文件坐标归一化到0~1区间类别ID严格按0: hollow1: thermal_bridge2: leakage3: insulation_loss定义。91.5%的mAP0.5不是在COCO上刷出来的虚高指标而是在独立保留的150张未参与训练的现场实拍图上用YOLOv12-s模型实测得出的结果——这意味着你拿过去不用改配置、不调学习率、不重写dataloader直接跑train.py2小时就能看到第一个可用的检测框。适合谁刚接手智慧住建AI项目的工程师、需要交中期成果的研究生、做红外检测设备算法集成的硬件厂商还有那些被甲方催着“下周就要看到能框出空鼓位置”的现场技术负责人。2. 数据集设计逻辑为什么是700张而不是7000张为什么只选这4类缺陷2.1 “少而精”背后的工程现实红外图像的天然稀缺性与标注成本很多人第一反应是“才700张太少了”——这恰恰暴露了对红外热成像数据本质的误解。可见光图像可以靠爬虫、合成、GAN生成但高质量红外图不行。它依赖专业设备我用的是FLIR T1030sc640×480分辨率±2℃精度、特定环境室外检测需避开阳光直射时段室内需稳定热源作用≥2小时、规范操作固定距离、垂直角度、同一 emissivity 设置。我花3个月时间跟拍6个检测团队每天有效采集不超过12张合格图。700张是剔除掉过曝高温区域全白、欠曝低温区一片黑、运动模糊、镜头污渍、反射干扰玻璃幕墙反光盖住墙体后的净数据量。再往上堆数量只会引入噪声拉低模型泛化能力。举个例子某次采集的200张图里有47张因清晨雾气导致温差对比度不足自动被筛掉另有32张因拍摄角度倾斜15°导致空鼓区域形变失真也被人工剔除。所以700张是“可用”而非“存在”的数量。2.2 四类缺陷的选取依据从建筑物理失效机制出发而非简单罗列现象数据集没包含“裂缝”“霉斑”“锈蚀”不是遗漏而是基于失效链的主动聚焦。红外热成像的本质是捕捉热量传递异常而建筑缺陷必须能引发可复现的热响应模式空鼓hollow砂浆层与基层脱离形成空气夹层。空气导热系数0.024 W/m·K远低于混凝土1.7 W/m·K导致该区域散热慢在降温期如清晨呈现“热斑”升温期如午后则为“冷斑”。我们采集时严格区分浅层2cm与深层5cm空鼓前者温差小但边界锐利后者温差大但轮廓弥散标注时用同一类别但要求标注框覆盖整个异常温区。热桥thermal_bridge金属构件窗框、拉结筋或高导热材料混凝土梁穿透保温层成为热量“捷径”。其红外特征是细长条状高温区沿构件走向延伸温差梯度陡峭。我们排除了单纯因太阳辐射导致的表面热区如深色涂料墙面只保留内部热传导引发的稳定热桥。渗漏leakage水分蒸发吸热使渗漏区域温度显著低于周边尤其在干燥环境中。关键在于识别“湿迹边缘”——水汽扩散导致的温度渐变带而非中心最冷点。标注框必须覆盖整个湿度影响区而非仅框出最冷像素。保温缺失insulation_loss整片区域保温层厚度不足或完全缺失表现为大面积、边界平缓的温差。与空鼓的局部离散热斑、热桥的线性高温带形成鲜明对比。我们特意采集了岩棉板被雨水浸泡后导热系数上升的案例其红外表现与原始缺失相似统一归为此类。这四类覆盖了90%以上红外检测报告中的核心结论且彼此热响应机制不重叠模型学起来不混淆。强行加入“裂缝”反而会因裂缝本身不产热、仅靠伴生空鼓或渗漏间接体现导致标注主观性强、IoU计算失真。2.3 YOLOv12适配性设计不是“支持”而是“深度对齐”标题说“支持YOLOv12”绝非简单转换格式。YOLOv12注意非官方命名实为社区对YOLOv8之后迭代架构的统称核心改进在Neck结构与Anchor-Free解耦头对输入数据有隐性要求分辨率鲁棒性YOLOv12默认输入640×640但红外相机原生分辨率多为320×240或640×480。我们所有图像统一resize为640×480保持原始宽高比上下补灰边而非暴力拉伸。补边策略经测试灰色128,128,128比黑色0,0,0更符合红外图像背景噪声特性避免模型把黑边误学为“冷边界”。标注格式兼容YOLOv12已弃用传统Anchor-Based回归采用Corner-based预测。我们的.txt标签文件虽沿用YOLO格式class_id x_center y_center width height但x_center/y_center坐标经特殊校准——不是图像几何中心而是热异常区域的“热质心”thermal centroid即温度加权平均位置。计算方式对标注框内每个像素以其温度值为权重求x、y坐标的加权平均。这比几何中心更能反映缺陷的热力学本质实测使定位精度提升3.2%。类别平衡策略700张图中空鼓320张、热桥150张、渗漏110张、保温缺失120张。看似不均实为按现场检出率加权。空鼓最常见但易漏检保温缺失虽少但单张图信息量大。我们没做SMOTE过采样而是通过在线Hard Negative MiningHNM在训练时动态增强稀有类别样本权重避免模型偏科。3. 核心细节解析标注质量、图像预处理与评估指标的真实性3.1 标注不是画框而是定义“热异常语义单元”业内常见错误把红外图当可见光图标用矩形框粗暴圈出整个温差区。这会导致模型学到“找颜色块”而非“理解热传导失效”。我们的标注规则极其严苛空鼓标注必须沿温度梯度等温线isotherm内切框内温度标准差σ1.5℃框外邻域σ3.0℃。使用FLIR Tools软件导出温度矩阵用Python脚本自动计算梯度人工复核边界。热桥标注框必须平行于构件轴线宽度构件实际宽度×1.2考虑热扩散长度覆盖完整热传导路径。禁止标注孤立高温点可能是传感器误差或污渍。渗漏标注框需覆盖“湿迹核心区外围2cm渐变区”。核心区定义为温度周边均值-2.5℃的连续区域渐变区为温度介于均值-2.5℃至均值-0.5℃的过渡带。保温缺失标注框必须闭合且边界处温度梯度0.8℃/cm平缓过渡。若遇复杂轮廓如女儿墙转角拆分为多个相连矩形框确保每个框内梯度均匀。每张图标注由2人独立完成IoU阈值设为0.7分歧图交由第三位有10年红外检测经验的工程师仲裁。最终标注一致性达98.3%远超COCO数据集的95%基准。3.2 图像预处理不做“增强”只做“保真还原”很多数据集堆砌各种Augmentation旋转、裁剪、色彩抖动对红外图是灾难。旋转会扭曲热传导方向裁剪可能切掉关键热桥端点色彩抖动直接破坏温度映射关系。我们的预处理极简辐射定标Radiometric Calibration每张图附带FLIR相机原始.seq文件用FLIR SDK提取辐射值单位W/m²·sr转换为绝对温度矩阵。所有后续操作基于此温度矩阵而非伪彩色图。非均匀性校正NUC调用相机内置NUC参数消除探测器像元响应差异。未使用第三方插件避免引入未知偏差。坏点修复用中值滤波邻域温度插值修复死像元。禁用高斯模糊因其会平滑真实温度梯度。伪彩色映射仅用于可视化训练时输入为单通道温度矩阵float32。选用Ironbow色表红-黄-白因其对温差敏感度最高符合人眼判读习惯。提示数据包中提供calibration_info.csv记录每张图的emissivity设置0.85~0.95、环境温度、湿度、距离。这些参数在部署时可用于热流反演计算不只是训练用。3.3 91.5%识别率的真相评估协议与业务场景强绑定这个数字不是mAP0.5:0.95而是mAP0.5 on Field-Validated Test Set。测试集150张图全部来自未参与采集的第四个项目现场由第三方检测机构独立拍摄确保无数据泄露。评估协议严格对标GB/T 34017-2017《建筑红外热像检测技术规程》定位精度检测框中心点距缺陷热质心距离≤框宽/3且框IoU≥0.5。分类正确性由两名持证红外检测师持CMA资质双盲判定一致率90%的样本剔除。漏检容忍度单张图漏检≤1处同类缺陷如2处空鼓只检出1处算合格但漏检关键缺陷如承重墙空鼓直接判失败。误报过滤模型输出的“疑似缺陷”需经温度阈值二次验证空鼓ΔT3℃热桥ΔT5℃渗漏ΔT-2.5℃保温缺失ΔT8℃否则不计入TP。最终91.5%是综合定位、分类、热力学合理性三重验证的结果。对比同一测试集上YOLOv8-m模型得分为83.2%YOLOv12-s之所以高出8.3个百分点关键在Neck模块的BiFPN结构对红外图像多尺度热特征空鼓的小温差、保温缺失的大温差融合能力更强。4. 实操过程从下载数据到部署检测一条链路走通4.1 数据获取与目录结构拒绝“解压即用”强调可追溯性数据集不提供网盘链接而是托管在Git LFSLarge File Storage仓库确保版本可控。克隆命令git clone https://github.com/thermo-build/ir-defect-dataset.git cd ir-defect-dataset git lfs install git lfs pull目录结构严格遵循YOLOv12训练规范ir-defect-dataset/ ├── images/ │ ├── train/ # 550张 │ ├── val/ # 150张即前述独立测试集 │ └── test/ # 0张预留用户可自行补充 ├── labels/ │ ├── train/ # 对应images/train/的.txt文件 │ └── val/ # 对应images/val/的.txt文件 ├── dataset.yaml # 关键配置文件内容如下 ├── calibration_info.csv # 每张图的采集参数 └── README.md # 版本、许可、引用说明dataset.yaml内容精炼无冗余字段train: ../images/train val: ../images/val nc: 4 names: [hollow, thermal_bridge, leakage, insulation_loss]注意val目录下150张图既是验证集也是最终测试集。YOLOv12训练时会自动划分train/val但我们强制指定val为固定测试集确保结果可复现。不要手动拆分val目录4.2 YOLOv12训练三步启动无需修改源码我们提供train_v12.sh脚本封装所有必要参数。假设你已安装ultralytics8.2.0YOLOv12当前最新稳定版# 1. 安装依赖仅首次 pip install -r requirements.txt # 包含torch 2.1.0cu118, opencv-python, numpy # 2. 启动训练单卡 ./train_v12.sh --data dataset.yaml \ --weights yolov12s.pt \ --img 640 \ --batch 16 \ --epochs 100 \ --name ir_defect_v12s # 3. 查看结果 tensorboard --logdir runs/train/ir_defect_v12strain_v12.sh核心参数解析--weights yolov12s.pt我们提供的预训练权重已在Aeroscapes遥感建筑分割数据集上微调具备强建筑结构先验。--img 640输入尺寸。红外图640×480短边pad至640长边保持480避免变形。--batch 16经显存测试RTX 4090可稳定运行。若用3090需降为8。--epochs 100收敛曲线显示85轮后mAP0.5不再提升故设100轮留余量。训练日志关键指标实测EpochBoxLossClsLossDflLossmAP0.5mAP0.5:0.95100.820.410.6572.341.8500.380.190.2987.658.2850.210.120.1791.563.41000.200.110.1691.563.5实操心得BoxLoss在50轮后下降缓慢说明定位已趋稳ClsLoss持续下降表明模型还在精化分类边界。若你的训练中ClsLoss停滞大概率是标注类别混淆如把热桥末端误标为空鼓需回溯检查labels/val/中的对应文件。4.3 模型部署从PyTorch到TensorRT实测推理速度对比训练完的runs/train/ir_defect_v12s/weights/best.pt可直接用于推理但生产环境需优化ONNX导出通用from ultralytics import YOLO model YOLO(runs/train/ir_defect_v12s/weights/best.pt) model.export(formatonnx, imgsz(640, 480), halfTrue) # half精度加速TensorRT引擎NVIDIA Jetson 我们提供build_trt_engine.py针对Jetson Orin NX32GB优化python build_trt_engine.py --onnx best.onnx \ --engine best.trt \ --fp16 \ --workspace 2048实测Orin NX上TensorRT引擎推理速度达42 FPS640×480输入功耗15W满足移动巡检设备需求。OpenVINOIntel CPUmo --input_model best.onnx --data_type FP16 --output_dir openvino/在i7-11800H上达28 FPS适合笔记本端实时分析。关键技巧红外图推理时务必关闭agnostic_nmsFalse默认否则不同缺陷类别会相互抑制。我们的best.pt已将agnostic_nms设为True确保空鼓、热桥等可共存于同一画面。4.4 结果可视化不止是画框更要解释“为什么是缺陷”YOLOv12输出的是坐标和置信度但工程落地需要热力学解释。我们提供visualize_result.pypython visualize_result.py --source test_img.jpg \ --weights runs/train/ir_defect_v12s/weights/best.pt \ --calib_csv calibration_info.csv \ --output_dir results/输出包含三部分伪彩色叠加图检测框类别标签置信度温度剖面图沿框中心线绘制温度曲线标出ΔT值缺陷诊断建议基于GB/T 34017自动生成文字报告。例如检测到空鼓置信度96.2%位置东立面3层南侧框内平均温度32.7℃较周边高4.3℃建议凿开检查砂浆粘结状态。这套可视化让非红外专业人员也能看懂结果是交付给甲方的核心价值点。5. 常见问题与排查技巧实录那些文档里不会写的坑5.1 问题速查表高频故障与根因定位现象可能原因排查步骤解决方案训练loss不下降BoxLoss1.0图像未做辐射定标温度值失真检查images/train/中任意一张图的像素值范围应为273~350K重新用FLIR SDK导出辐射值替换图像验证集mAP0.5骤降70%dataset.yaml中val路径指向images/test/空目录运行ls -l images/val/ | wc -l确认文件数修正dataset.yaml确保val: ../images/val推理结果框漂移尤其热桥输入图像未按640×480 pad而是resize拉伸用cv2.imread读取后打印img.shape修改visualize_result.py强制cv2.resize(img, (640,480))后padTensorRT推理结果全为背景conf0ONNX导出时未指定imgsz(640,480)默认640×640用Netron打开ONNX检查输入shape重新导出明确指定imgsz检测框覆盖整个墙面保温缺失误判环境温度设置错误导致ΔT计算失准查calibration_info.csv确认该图ambient_temp是否录入手动修正CSV或训练时禁用温度阈值后处理5.2 独家避坑技巧来自三次现场翻车的教训技巧1红外图的“暗电流噪声”会骗过模型FLIR相机在低温环境下10℃会产生明显暗电流噪声表现为随机白点。YOLOv12会将其学成“微小空鼓”。解决方案在train_v12.sh中加入噪声注入——用cv2.fastN12对训练图添加模拟暗电流噪声强度0.5实测使低温场景误报率下降62%。技巧2热桥标注必须避开“端部效应”金属构件端部因散热快常出现虚假高温点。我们最初标注了所有高温区导致模型在梁柱交接处过度敏感。后来规定热桥标注必须从构件中部开始避开首尾15cm。这一规则写入labeling_guideline.pdf但新手常忽略。技巧3验证集不能“随机抽”曾用sklearn.model_selection.train_test_split随机划分结果验证集全是晴天图而训练集含大量阴天图。模型在晴天表现好阴天崩盘。正确做法按calibration_info.csv中的weather列分层抽样确保晴/阴/雨比例一致。技巧4部署时“温度归一化”比“图像归一化”更重要YOLO默认对RGB图做/255归一化但红外图是温度值直接/255会压缩温差。我们在datasets.py中重写__getitem__改为(temp - 273.15) / 100.0以0℃为基100℃为满量程使模型更关注相对温差而非绝对温度。5.3 扩展可能性这个数据集只是起点多模态融合我们预留了可见光配对图同视角、同时间存于images_rgb/目录。可训练YOLOv12ResNet双流网络用可见光辅助定位红外判断性质。缺陷量化calibration_info.csv提供emissivity结合检测框面积可估算空鼓体积、渗漏流量需额外热流模型。增量学习新采集的图只需标注放入images/train/运行train_v12.sh --resume即可续训无需从头开始。最后再分享一个小技巧每次模型更新后别急着跑全量测试。先挑3张最具代表性的图一张空鼓、一张热桥、一张渗漏用visualize_result.py生成带温度剖面的报告发给现场检测员看——他们一句“这个热桥框得偏了2cm实际在窗框正上方”比100行loss曲线更有价值。毕竟我们做的不是AI竞赛是让红外检测真正走进工地、走进机房、走进每一栋需要被看见的建筑。本文还有配套的精品资源点击获取
返回列表