PCB-SEG / README.md
SanderGi's picture
Update README.md
615c7e3 verified
metadata
license: mit
base_model:
  - Ultralytics/YOLO11
tags:
  - printed-circuit-boards
library_name: ultralytics
model-index:
  - name: ultralytics/yolo11
    results:
      - task:
          type: image-segmentation
        metrics:
          - type: f1
            value: 99.8%
            name: F1 Score
          - type: mAP50
            value: 99.5%
            name: mAP50
metrics:
  - f1 - 99.8%
  - mAP50 - 99.5%

PCB Detection

There are a lot of models for detecting components within a Printed Circuit Board (PCB), but not as many for detecting which pixels (if any) in an image contain the PCB itself. Being able to determine if and where a PCB is in an image is useful for calculating its size to estimate carbon footprint, as a preprocessing step for detecting components, to limit the amount of image more expensive PCB defect detection models have to process, and more.

Read more here.

Usage

  1. Download the model weights
  2. pip install ultralytics
  3. Run the model with yolo task=segment mode=predict model=[path to model weights] source=[path to test image] from the terminal or with Python:
from ultralytics import YOLO
model = YOLO('[path to model weights]')
results = model.predict('[path/to/test/image.jpg]')

Results

Segmentation

Dataset Precision Recall F1 Score mAP50 mAP50-95
Training 100.0% 23.2% 37.7% 39.4% 39.1%
Validation 99.9% 39.6% 56.7% 51.7% 51.0%
Test 99.7% 100% 99.8% 99.5% 95.6%

Sample predictions: sample predictions

Object Detection

Dataset Precision Recall F1 Score mAP50 mAP50-95
Training 100.0% 23.2% 37.7% 39.4% 39.3%
Validation 99.9% 39.6% 56.7% 51.7% 51.3%
Test 99.7% 100% 99.8% 99.5% 94.5%