--- 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)