☰
DeepPCB标注格式深度解析:x1,y1,x2,y2,type与6大缺陷类别ID详解
2026/9/25 8:21:28 网站建设 项目流程

DeepPCB标注格式深度解析:x1,y1,x2,y2,type与6大缺陷类别ID详解

【免费下载链接】DeepPCBA PCB defect dataset.项目地址: https://gitcode.com/gh_mirrors/de/DeepPCB

想快速上手DeepPCB数据集吗?本文用最短篇幅讲透它的标注格式:每个缺陷如何用x1,y1,x2,y2,type五个字段描述、6大缺陷类别ID(open、short、mousebite、spur、copper、pin-hole)分别对应什么,以及训练标注文件和评测结果文件的格式差异。读完即可独立完成 DeepPCB 的数据加载与 mAP 评测。

📦 一图看懂 DeepPCB:1500 对图像 + 6 类缺陷

DeepPCB 是一个 PCB 缺陷检测数据集,包含1500 个 640×640 的图像对:

  • template 图(xxx_temp.jpg):无缺陷的模板图像,用于图像配准;
  • tested 图(xxx_test.jpg):待检测的测试图像,上面带有 3~12 个真实或人工增广的缺陷;
  • 标注文件(xxx.txt):与 tested 图同名,存放在对应的xxx_not目录中,记录每个缺陷的位置与类别。

每张图平均 3~12 个缺陷,分布情况如下:

数据集根目录为 PCBData/,按groupXXXXX/分组存放,并提供了 PCBData/trainval.txt 与 PCBData/test.txt 两个清单文件,分别列出训练验证集和测试集中图像路径 → 标注文件路径的映射,方便直接遍历加载。

📝 5 秒读懂标注文件:x1,y1,x2,y2,type

打开任意一个标注文件(例如 PCBData/group00041/00041_not/00041000.txt),你会看到类似这样的内容:

466 441 493 470 3 454 300 493 396 2 331 248 364 283 4 539 259 592 316 1 89 469 127 497 5

每行代表一个缺陷的轴对齐边界框 + 类别ID:

字段含义说明
x1左上角横坐标以图像左上角为原点的像素坐标
y1左上角纵坐标与x1配对,标记框的左上角
x2右下角横坐标与y2配对,标记框的右下角
y2右下角纵坐标框宽 = x2−x1,框高 = y2−y1
type缺陷类别ID整数 1~6,见下方类别速查表

下图就是带真值标注的 tested 图像,绿色框即上述边界框:

对应的无缺陷模板图长这样(用于对齐,不含标注):

🏷️ 6 大 PCB 缺陷类别 ID 速查表

type字段是整数 ID,对照关系如下(来源见 README.md):

ID英文中文缺陷特征
1open断路铜线不连续、出现断点
2short短路相邻铜线之间意外连通
3mousebite缺口铜线边缘出现凹形缺肉
4spur毛刺铜线边缘伸出多余尖刺
5copper露铜非预期区域出现多余铜皮
6pin-hole针孔焊盘或铜箔上出现小孔

⚠️注意:0表示 background,不参与标注,实际缺陷只用 1~6。

💡 这套 ID 与标注工具源码中的定义一一对应,可参考 tools/PCBAnnotationTool/datadef.h。

🔀 关键易混淆点:训练格式 ≠ 评测格式

很多新手栽在格式细节上。DeepPCB 的标注文件(训练用)和结果文件(评测用)并不相同:

训练标注文件评测结果文件(res.zip 内)
每行格式x1 y1 x2 y2 typex1,y1,x2,y2,confidence,type
type 类型整数1~6字符串:open / short / mousebite / spur / copper / pin-hole
分隔符空格逗号(逗号后禁止空格)

评测时要求检测框与同类真值框的IoU > 0.33才算命中,同时统计 mAP 与 F-score(F=2PR/(P+R))。评测入口是 evaluation/script.py,真值包为 evaluation/gt.zip,运行方式:

python script.py -s=res.zip -g=gt.zip

下方是模型在 tested 图上的实际检测结果,绿框顶部标注了类别名与置信度:

🛠️ 自己动手标注:官方 PCBAnnotationTool

如果你需要扩充数据,仓库自带 Qt 标注工具(源码位于 tools/PCBAnnotationTool/,使用文档见 tools/README.md)。工具栏提供 open / short / mousebite / spur / copper / pinhole 六个按钮,点击后在 tested 图上画框即可自动生成边界框并保存为上述 txt 格式:

使用时只需编辑 tools/examples/test.txt 配置「输入图像路径 / 输出标注路径」清单,再打开文件开始标注即可。

✅ 上手检查清单(避坑 Tips)

  1. 坐标是像素值:图像统一为 640×640,坐标直接可用,无需缩放;
  2. type 是 1~6 的整数:加载数据时映射为["open","short","mousebite","spur","copper","pin-hole"];
  3. 评测输出 type 必须是小写字符串,且 pin-hole 带连字符,逗号后不能有空格;
  4. 每张图 3~12 个缺陷:解析时不要假设固定数量,按行数读取;
  5. 图像-标注一一对应:00041000_test.jpg↔00041000.txt,清单文件可交叉校验完整性。

按以上格式编写加载与评测代码后,配合 evaluation/ 目录中的脚本,你提交的模型就能得到与论文一致的 mAP / F-score 基准对比结果了。

【免费下载链接】DeepPCBA PCB defect dataset.项目地址: https://gitcode.com/gh_mirrors/de/DeepPCB

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询