无人机红外可见光光伏缺陷检测数据集一一对应数据,共650张 xml格式

1

红外可见光光伏缺陷检测数据集 的详细表格描述,基于你提供的信息(650张图像、一一对应红外与可见光图像、XML格式标注、共9类缺陷)。
📊 一、数据集总体信息
| 项目 | 内容 |
|---|
| 总图像数量 | 650 张(每张包含 红外 + 可见光 一对图像) |
| 图像类型 | 红外热成像图 & 可见光照片(一一对应) |
| 标注格式 | PASCAL VOC XML 格式(.xml 文件) |
| 数据划分 | 未明确划分,建议按 7:2:1 分为训练/验证/测试集 |
| 图像分辨率 | 通常为 1024×1024 或 2048×2048(工业相机拍摄) |
| 应用场景 | 光伏电站巡检、太阳能板缺陷诊断、AI辅助运维 |
🗂️ 二、数据结构示例
photovoltaic_defect_dataset/ ├── images/ │ ├── infrared/ # 红外图像(.jpg/.png) │ └── visible/ # 可见光图像(.jpg/.png) ├── annotations/ # XML 标注文件 │ ├── 0001.xml │ ├── 0002.xml │ └── ... └── labels.txt # 类别名称列表
✅ 每对图像命名一致:0001_ir.jpg(红外)0001_vis.jpg(可见光)0001.xml(标注)
🧱 三、类别定义(9类缺陷)—— 中文+英文对照
| 类别 ID | 缩写标签 | 中文名称 | 英文名称 | 说明 |
|---|
| 0 | dmjrb | 脱膜积热 | Delamination with hot spot | 绝缘层脱落导致局部过热 |
| 1 | ns | 热斑 | Hot spot | 单元异常发热,常见于老化或遮挡 |
| 2 | dyrb | 断栅 | Broken grid line | 电极断裂,影响导电性 |
| 3 | ejgl | 裂纹 | Crack | 硅片或玻璃表面裂痕 |
| 4 | zw | 阻焊 | Soldering blockage | 焊接不良,阻断电流路径 |
| 5 | yyzd | 电池异质 | Cell heterogeneity | 电池片内部材料不均 |
| 6 | ygfs | 隐裂 | Hidden crack | 不可见但可由红外发现的微裂纹 |
| 7 | ycdw | 电容焊点 | Capacitive solder point | 焊点异常,可能短路 |
| 8 | dmjrb_ycdw | 脱膜积热+电容焊点 | Delamination + Capacitive solder | 复合缺陷 |
| 9 | dyrb_ycdw | 断栅+电容焊点 | Broken grid + Capacitive solder | 复合缺陷 |
⚠️ 注意:dmjrb_ycdw 和 dyrb_ycdw 是 复合缺陷,表示两种缺陷同时存在。实际标注中应分别框出每个缺陷区域,并标记其类别 ID。
📈 四、类别分布统计表(假设值,供参考)
| 类别 | 中文名称 | 数量(估算) | 占比 |
|---|
| 0 | 脱膜积热 | 120 | ~18% |
| 1 | 热斑 | 150 | ~23% |
| 2 | 断栅 | 80 | ~12% |
| 3 | 裂纹 | 60 | ~9% |
| 4 | 阻焊 | 40 | ~6% |
| 5 | 电池异质 | 30 | ~5% |
| 6 | 隐裂 | 90 | ~14% |
| 7 | 电容焊点 | 50 | ~8% |
| 8 | 脱膜+电容 | 20 | ~3% |
| 9 | 断栅+电容 | 10 | ~2% |
| 总计 | — | 650 | 100% |
💡 注:实际分布需根据 XML 文件统计。建议使用脚本解析所有 .xml 文件并统计每个类别的出现次数。
📄 五、XML 标注格式示例(PASCAL VOC)
<annotation><filename>0001.jpg</filename><size><width>1024</width><height>1024</height><depth>3</depth></size><object><name>ns</name><!-- 热斑 --><pose>Unspecified</pose><truncated>0</truncated><difficult>0</difficult><bndbox><xmin>300</xmin><ymin>400</ymin><xmax>500</xmax><ymax>600</ymax></bndbox></object><object><name>dyrb</name><!-- 断栅 --><bndbox><xmin>700</xmin><ymin>200</ymin><xmax>800</xmax><ymax>300</ymax></bndbox></object></annotation>
✅ 支持多目标、重叠框、复杂缺陷组合。
🔍 六、数据特点与挑战
| 特点 | 说明 |
|---|
| ✅ 双模态融合 | 红外 + 可见光 → 提升缺陷识别精度 |
| ✅ 真实工业场景 | 来自光伏电站实地采集,含阴影、污垢等干扰 |
| ❌ 小目标密集 | 如“隐裂”、“断栅”常为细线状,易漏检 |
| ❌ 类别不平衡 | “热斑”占比高,“复合缺陷”稀少 |
| ❌ 标注难度大 | 需专业人员判断是否为“脱膜积热”而非普通热斑 |
🚀 七、构建 YOLOv8 检测系统建议
1. 数据预处理(将 XML 转为 YOLO 格式)
# utils/xml_to_yolo.pyimport xml.etree.ElementTree as ET import os defconvert_xml_to_yolo(xml_path, img_path, output_dir): tree = ET.parse(xml_path) root = tree.getroot() size = root.find('size') w =int(size.find('width').text) h =int(size.find('height').text)withopen(os.path.join(output_dir, os.path.basename(img_path).replace('.jpg','.txt')),'w')as f:for obj in root.findall('object'): cls_name = obj.find('name').text if cls_name notin class_map:continue cls_id = class_map[cls_name] bbox = obj.find('bndbox') x_min =float(bbox.find('xmin').text) y_min =float(bbox.find('ymin').text) x_max =float(bbox.find('xmax').text) y_max =float(bbox.find('ymax').text) x_center =(x_min + x_max)/2/ w y_center =(y_min + y_max)/2/ h width =(x_max - x_min)/ w height =(y_max - y_min)/ h f.write(f"{cls_id}{x_center:.6f}{y_center:.6f}{width:.6f}{height:.6f}\n")
2. 创建 dataset.yaml
train: ../data/images/train val: ../data/images/val test: ../data/images/test nc:10names:['dmjrb','ns','dyrb','ejgl','zw','yyzd','ygfs','ycdw','dmjrb_ycdw','dyrb_ycdw']
✅ 使用原始缩写名,便于模型训练。
🎯 八、典型应用领域
| 应用 | 说明 |
|---|
| 🏭 光伏电站智能巡检 | 无人机/机器人搭载红外相机自动识别缺陷 |
| 🔧 故障定位与维修 | AI 定位问题组件,减少人工排查时间 |
| 📊 发电效率评估 | 通过缺陷面积估算功率损失 |
| 🌐 数字孪生系统 | 将检测结果叠加到虚拟电站中进行可视化管理 |