File size: 2,014 Bytes
2d7d9e6 | 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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 | ---
license: mit
language:
- en
tags:
- computer-vision
- object-detection
- yolov5
- edge-deployment
- ncnn
- onnx
- arm
metrics:
- mAP
model-index:
- name: Carwin Element Detection
results:
- task:
type: object-detection
dataset:
type: desktop-ui-elements
name: Desktop UI Elements
metrics:
- type: mAP@0.5
value: 0.925
- type: mAP@0.5:0.95
value: 0.648
---
# Carwin Desktop UI Element Detection (YOLOv5n)
A lightweight YOLOv5n model trained to detect interactive UI elements on desktop screens (buttons, icons, input fields, checkboxes, etc.).
## Model Details
- **Architecture**: YOLOv5n (ReLU activation, SiLU→ReLU for RKNN/NCNN compatibility)
- **Input**: 640×640 RGB
- **Output**: Single class "element" — bounding boxes for interactive UI regions
- **Model size**: 5.3 MB (PyTorch), 7.5 MB (ONNX)
- **Training**: 200 epochs on NVIDIA B200 (single GPU)
## Performance
| Metric | Value |
|--------|-------|
| mAP@0.5 | **0.925** |
| mAP@0.5:0.95 | **0.648** |
| Training images | 10,825 |
## Edge Deployment
Deployed to ARM Cortex-A7 via NCNN INT8 quantization:
| Resolution | Inference Time |
|-----------|---------------|
| 640×640 | 6.5s |
| 320×320 | 1.6s |
| 160×160 | 370ms |
ONNX → NCNN → INT8 quantization pipeline included in the training repository.
## Usage
```python
import torch
# Load model
model = torch.hub.load('ultralytics/yolov5', 'custom', path='model.pt')
model.conf = 0.25
# Run inference
results = model('screenshot.png')
results.show()
```
## Files
- `model.pt` — PyTorch weights (5.3 MB)
- `model.onnx` — ONNX export (7.5 MB, opset 12, batch=1, 640×640)
## Training
Trained from `yolov5n.pt` pretrained weights with:
```bash
python train.py --data dataset.yaml --weights yolov5n.pt \
--epochs 200 --batch-size 64 --device 0 --imgsz 640 \
--single-cls --amp=False
```
- GPU: NVIDIA B200 (180 GB)
- PyTorch: 2.12 + CUDA 13.0
- Dataset: 10,825 annotated desktop screenshots
## License
MIT
|