KeenForgeAI/DeepPCB-corrected
DeepPCB-corrected PCB defect detection — cleaned version of the DeepPCB dataset. PCB 缺陷检测 —— DeepPCB 数据集的清理修正版。 English · 中文 English What is this? A cleaned and consistently packaged version of the DeepPCB dataset (Tang, Mao, Wang, Zhu & Ye — "A Robust PCB Defect Detection Method via Fusing Multiple Hierarchical Features", arXiv:1902.06197). DeepPCB pairs each defect-free template image with an aligned tested image carrying bounding-box… See the full description on the dataset page: https://huggingface.co/datasets/KeenForgeAI/DeepPCB-corrected.
DeepPCB-corrected

PCB defect detection — cleaned version of the DeepPCB dataset. PCB 缺陷检测 —— DeepPCB 数据集的清理修正版。
English
What is this?
A cleaned and consistently packaged version of the DeepPCB dataset (Tang, Mao, Wang, Zhu & Ye — "A Robust PCB Defect Detection Method via Fusing Multiple Hierarchical Features", arXiv:1902.06197).
DeepPCB pairs each defect-free template image with an aligned tested image carrying bounding-box annotations for six common PCB defects. The upstream release ships a custom TXT format and a split list that does not resolve; this release fixes the packaging, removes the few broken samples, and adds the two formats the tool ecosystem expects.
✅ Upstream license: MIT (© 2018 tangsanli5201). This release keeps the same license.
Corrections vs. the official release
Boxes and image content are otherwise untouched. Every retained image is byte-identical to the upstream file (except the 61 RGB→grayscale re-encodings, which do not change content).
Not a defect — intentional by design
The dataset reuses templates and gives each tested image synthetic defects: the README states "we manually argument some artificial defects on each tested image". Consequently a tested image is almost identical to its template (and templates recur across images). A naive duplicate scan will report ~350 near-identical pairs — these are the dataset's design, not errors, and they are left untouched.
Dataset at a glance
Boxes per class: mousebite 1,963 · open 1,940 · spur 1,624 · short 1,504 · pin-hole 1,500 · copper 1,473
Upstream class labels (per its README) areopen, short, mousebite, spur, copper, pin-hole. Some third-party re-exports rename the last two tospurious_copper/pin_hole.
Structure
DeepPCB-corrected/
├── images/ # 1499 tested (defective) images: <stem>_test.jpg
├── templates/ # 1499 defect-free templates: <stem>_temp.jpg
├── labels/ # YOLO: cls cx cy w h (normalized)
├── annotations/ # Pascal VOC XML
├── annotations_raw/ # original upstream format: x1 y1 x2 y2 type
├── ImageSets/
│ ├── trainval.txt # 1000 stems
│ └── test.txt # 499 stems
├── classes.txt
├── data.yaml # YOLO dataset config
├── LICENSE
└── README.mdlabels/, annotations/ and annotations_raw/ are three representations of the same annotations and are verified to agree. Class IDs are 1..6 in annotations_raw (upstream convention) and 0..5 in YOLO/VOC.
Citation
1. The original dataset — please always cite this.
@article{tang2019deeppcb,
title = {A Robust PCB Defect Detection Method via Fusing Multiple Hierarchical Features},
author = {Tang, Sanli and Mao, Fan and Wang, Zhipeng and Zhu, Zhikai and Ye, Shenghua},
journal = {arXiv preprint arXiv:1902.06197},
year = {2019}
}2. This corrected release — please cite it as well. It is not identical to the official release: the split lists were fixed, one contaminated image and one orphan template were removed, image modes were normalised, and the data was re-packaged.
@misc{deeppcb_corrected,
author = {KeenForgeAI},
title = {DeepPCB-corrected: a cleaned release of the DeepPCB PCB-defect dataset},
year = {2026},
version = {1.0},
publisher = {KeenForgeAI},
url = {https://huggingface.co/datasets/KeenForgeAI/DeepPCB-corrected},
note = {Curated by Lu Gan and Sam Li. Derived from Tang et al. (2019),
arXiv:1902.06197. MIT licensed.}
}3. The annotation tool (optional).
@software{keenforge,
author = {KeenForgeAI},
title = {KeenForge: a local-first, offline image annotation and model-training desktop tool},
year = {2026},
publisher = {KeenForgeAI},
url = {https://github.com/KeenForgeAI/KeenForge},
note = {MIT licensed. Developed by Lu Gan and Sam Li.}
}License
MIT — the same license as the upstream DeepPCB repository (© 2018 tangsanli5201). See `LICENSE`. Please also credit the original authors.
中文
这是什么?
DeepPCB 数据集(Tang 等,arXiv:1902.06197)的清理与规范化打包版。
DeepPCB 把每张无缺陷模板图与一张对齐后的缺陷图配对,缺陷图带有六类常见 PCB 缺陷的 边界框标注。上游发布的是自定义 TXT 格式,且划分列表无法解析;本版修复打包问题、删除少量 损坏样本,并补上生态常用的两种格式。
✅ 上游许可证:MIT(© 2018 tangsanli5201)。本版沿用同一许可。
相对官方版的修正
除此之外,标注框与图像内容未改动。 保留的每张图与上游文件逐字节一致 (仅上述 61 张 RGB→灰度 的重编码,内容不变)。
不是缺陷 —— 设计使然
数据集刻意复用模板并为每张缺陷图合成缺陷:上游 README 明说 "we manually argument some artificial defects on each tested image"。因此缺陷图与其模板几乎 相同(模板也会跨图复用)。天真的去重扫描会报出约 350 对近似图 —— 这是数据集的设计,不是错误, 本版一律保留。
数据集概览
各类框数:mousebite 1,963 · open 1,940 · spur 1,624 · short 1,504 · pin-hole 1,500 · copper 1,473
官方 README 给出的类别名为open, short, mousebite, spur, copper, pin-hole。 部分第三方镜像把后两类改名为spurious_copper/pin_hole。
目录结构
DeepPCB-corrected/
├── images/ # 1499 张缺陷图:<stem>_test.jpg
├── templates/ # 1499 张无缺陷模板:<stem>_temp.jpg
├── labels/ # YOLO:cls cx cy w h(归一化)
├── annotations/ # Pascal VOC XML
├── annotations_raw/ # 上游原格式:x1 y1 x2 y2 type
├── ImageSets/
│ ├── trainval.txt # 1000 条
│ └── test.txt # 499 条
├── classes.txt
├── data.yaml # YOLO 配置
├── LICENSE
└── README.mdlabels/、annotations/、annotations_raw/ 是同一份标注的三种表示,已校验一致。 类 ID 在 annotations_raw 中是 1..6(上游约定),在 YOLO/VOC 中是 0..5。
引用
1. 原始数据集(请务必引用) —— 见上方英文部分 tang2019deeppcb。
2. 本修正版(请一并引用) —— 本版与官方发布并不相同:修复了划分列表、删除了 1 张污染图与 1 张孤立模板、统一了图片模式,并重新打包。见上方 deeppcb_corrected。
3. 标注工具(可选) —— 见上方 keenforge。
许可证
MIT —— 与上游 DeepPCB 仓库相同(© 2018 tangsanli5201)。详见 `LICENSE`。 请同时注明原作者。
