File size: 1,919 Bytes
eac8396
 
 
 
 
 
 
6886b5d
 
 
 
 
 
31de3da
 
 
33e1538
 
 
eac8396
 
 
 
 
 
 
 
 
6886b5d
 
eac8396
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
---
license: mit
base_model:
- Ultralytics/YOLO11
tags:
- printed-circuit-boards
library_name: ultralytics
model-index:
- name: ultralytics/yolo11
  results:
  - task:
      type: object-detection
    metrics:
    - type: f1
      value: 93.8%
      name: F1 Score
    - type: mAP50
      value: 93.0%
      name: mAP50
metrics:
- f1 - 93.8%
- mAP50 - 93.0%
---

# PCB Detection

There are [a lot of models](https://universe.roboflow.com/roboflow-100/printed-circuit-board/model/3) 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]((https://github.com/SanderGi/LCA)), 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](https://github.com/SanderGi/PCB-Detection).

## Usage

1. Download [`the model weights`](https://huggingface.co/SanderGi/PCB-OBB/resolve/main/best.pt?download=true)
2. `pip install ultralytics`
3. Run the model with `yolo task=obb mode=predict model=[path to model weights] source=[path to test image]` from the terminal or with Python:

```python
from ultralytics import YOLO

model = YOLO('[path to model weights]')
results = model.predict('[path/to/test/image.jpg]')
```

## Results

Dataset    | Precision | Recall | F1 Score | mAP50  | mAP50-95
-----------|-----------|--------|----------|--------|---------
Training   | 100.0%    | 100.0% | 100.0%   | 100.0% | 100.0%
Validation | 100.0%    | 100.0% | 100.0%   | 99.5%  | 97.0%
Test       | 100.0%    | 88.4%  | 93.8%    | 93.0%  | 91.2%

Sample predictions:
![sample predictions](https://github.com/SanderGi/PCB-Detection/raw/refs/heads/main/data/augmented_obb/runs/no_perspective3/val_batch1_pred.jpg)