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.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support