arthors's picture
Upload folder using huggingface_hub
2d7d9e6 verified
|
Raw
History Blame Contribute Delete
2.01 kB
metadata
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

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:

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