How to use from the
Use from the
ultralytics library
from huggingface_hub import hf_hub_download
from ultralytics import YOLO

# pick the weights file from this repo's "Files and versions" tab
weights = hf_hub_download("ParsaVictor/pcb-solder-defect-detection-yolo26", "<weights>.pt")
model = YOLO(weights)
source = 'http://images.cocodataset.org/val2017/000000039769.jpg'
model.predict(source=source, save=True)

PCB Solder & Assembly Defect Detection (YOLO26m)

A YOLO26-based object detector that finds soldering and assembly defects on populated PCBs: solder bridges, insufficient/excess solder, voids, missing or shifted components, burns, physical damage, and oxidation.

Part of the PCB Inspection Suite. Trained on ParsaVictor/pcb-solder-defect-detection.

Metrics

Split mAP50 mAP50-95
val 0.905 0.647
test 0.895 0.657

Trained: YOLO26m, imgsz 800, 150 epochs (best at epoch 143), AdamW with a tuned low learning rate, extra augmentation (noise/motion-blur/JPEG) and an automatic rollback guard against training spikes.

Known weaknesses

  • solder_void is frequently confused with insufficient_solder (~71% of void mistakes land there) β€” review both classes together on any flagged board
  • burn recall is lower (~62%) β€” the class has the fewest training examples (513 instances)
  • Performance drops on very dark/low-light photos from one of the source subsets

Per-class confidence thresholds (F1-optimal on val)

Class Threshold
insufficient_solder 0.297
excess_solder 0.349
solder_bridge 0.417
solder_void 0.249
missing_component 0.381
shifted_component 0.389
burn 0.224
physical_damage 0.214
oxidation 0.228

A global fallback threshold of 0.228 is used for any class with too few validation examples to tune individually.

Usage

from ultralytics import YOLO
from huggingface_hub import hf_hub_download

weights = hf_hub_download("ParsaVictor/pcb-solder-defect-detection-yolo26", "best.pt")
model = YOLO(weights)

results = model.predict("your_board_photo.jpg", conf=0.228)
results[0].show()

For best accuracy, apply the per-class thresholds above instead of one global confidence value β€” see thresholds.json in this repo.

Related

License

Research/development use β€” see the dataset license. Contact the author before commercial use.

Downloads last month
47
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Dataset used to train ParsaVictor/pcb-solder-defect-detection-yolo26

Collection including ParsaVictor/pcb-solder-defect-detection-yolo26