PCB Inspection Suite β β the complete, recommended pipeline
This is the flagship, most complete entry point to the whole PCB inspection project. It ties together every dataset and model below into one automated-optical-inspection (AOI) pipeline: from a single board photo to a full defect/component report.
If you only read one repo from this project, read this one.
The pipeline
board photo
β
βΌ
1) Component detection βββΊ which parts are on the board, and where
β
βΌ
2) Bare-board defect check βββΊ copper/trace-level manufacturing defects
β
βΌ
3) Solder/assembly defect check βββΊ soldering & placement defects
β
βΌ
combined report (per-class confidence-tuned detections + annotated image)
Each stage is an independently trained, independently published YOLO26 model with its own dataset, so you can use any one stage on its own, or run all three together for the full inspection pipeline.
Datasets
| Dataset | Classes | Images | Link |
|---|---|---|---|
| PCB Component Detection (HR) | 13 | 3,618 | ParsaVictor/pcb-component-detection |
| PCB Bare-Board Defect Detection | 7 | 21,656 | ParsaVictor/pcb-bare-board-defect-detection |
| PCB Solder & Assembly Defect Detection | 9 | 5,209 | ParsaVictor/pcb-solder-defect-detection |
Models
| Model | Task | Test mAP50 / mAP50-95 | Link |
|---|---|---|---|
| PCB Bare-Board Defect Detection (YOLO26s) | bare-board defects | 0.928 / 0.617 | ParsaVictor/pcb-bare-board-defect-detection-yolo26 |
| PCB Solder & Assembly Defect Detection (YOLO26m) | solder/assembly defects | 0.895 / 0.657 | ParsaVictor/pcb-solder-defect-detection-yolo26 |
| PCB Component Detection (YOLO26) | component localization/classification | in progress | (weights being finalized β the dataset is already published) |
Why this project exists
Most "PCB defect dataset" results you find online trace back to the same small handful of public releases, heavily duplicated across re-uploads at low resolution. This project instead invested real effort into:
- Recovering full-resolution originals instead of downscaled exports
- Merging multiple independent real-world sources per task instead of relying on one small public set
- Manually reviewing labels, removing near-duplicates, and keeping test/val as real, unaltered photographs
- Training each stage as its own properly-tuned YOLO26 model with per-class confidence thresholds, not a one-size-fits-all default
Quick start
from ultralytics import YOLO
from huggingface_hub import hf_hub_download
bare_model = YOLO(hf_hub_download("ParsaVictor/pcb-bare-board-defect-detection-yolo26", "best.pt"))
solder_model = YOLO(hf_hub_download("ParsaVictor/pcb-solder-defect-detection-yolo26", "best.pt"))
bare_results = bare_model.predict("board.jpg", conf=0.465)
solder_results = solder_model.predict("board.jpg", conf=0.228)
Source code
The full training/inference pipeline (data curation scripts, training notebooks, inference + report generation) is on GitHub under ParsaVictor.
License
Research/development use. Each dataset/model repo carries its own license file with source attribution β see the individual repos linked above. Contact the author before any commercial use.