iotaminer commited on
Commit
db68d4b
·
verified ·
1 Parent(s): f08491d

scorevision: push artifact

Browse files
Files changed (1) hide show
  1. README.md +67 -0
README.md ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ tags:
4
+ - turbovision
5
+ - bittensor
6
+ - subnet-44
7
+ - object-detection
8
+ - yolov11
9
+ - petrol-station
10
+ ---
11
+
12
+ # Turbovision Petrol Station Detection Miner
13
+
14
+ YOLOv11s ONNX FP16 model with built-in NMS, fine-tuned on SAM3 pseudo-ground-truth
15
+ for petrol-station object detection on Bittensor Subnet 44 (TurboVision).
16
+ Uses horizontal-flip TTA with per-class hard NMS merge for higher recall.
17
+
18
+ ## Classes
19
+
20
+ | cls_id | label |
21
+ |---|---|
22
+ | 0 | petrol hose |
23
+ | 1 | petrol pump |
24
+ | 2 | price board |
25
+ | 3 | roof canopy |
26
+
27
+ ## Model details
28
+
29
+ - Base: `yolo11s.pt` (Ultralytics) fine-tuned on 243 petrol challenge images
30
+ labelled by SAM3 at `output_prob_thresh=0.5` (matching the validator's pseudo-GT
31
+ pipeline).
32
+ - Export: ONNX opset 13, FP16, NMS baked in, static imgsz=1280.
33
+ - Size: 18.4 MB (<30 MB limit).
34
+ - Inference: horizontal-flip TTA with per-class hard NMS merge (iou=0.45).
35
+ - Per-class confidence thresholds (tuned by greedy grid search on 100 fresh
36
+ challenges vs real SAM3 pseudo-GT):
37
+ - petrol hose: 0.43
38
+ - petrol pump: 0.63
39
+ - price board: 0.37
40
+ - roof canopy: 0.41
41
+ - Latency p95 on RTX 4090: ~2.1 s for a 30-frame batch (~70 ms/frame with TTA).
42
+
43
+ ## Target element
44
+
45
+ `manak0/Detect-petrol-station-1-0`
46
+
47
+ ## Real-validator-simulated evaluation (100 fresh challenges, SAM3 GT @ 0.5)
48
+
49
+ Scoring follows the validator's exact `_evaluate_detection_metrics_at_threshold`
50
+ pipeline: global TP/FP aggregation across classes and images, IoU=0.5 matching,
51
+ `false_positive = max(0, 1 - FPs_per_image / 10)`, composite = 0.65·mAP50 + 0.35·FP.
52
+
53
+ | miner | n | our_comp | live_comp | mAP50 | FP |
54
+ |---|---:|---:|---:|---:|---:|
55
+ | **ours (yolo11s SAM3 v1, per-class conf)** | 100 | **0.7401** | — | 0.6512 | 0.906 |
56
+ | aitask1024 / Detect-petrol-stati | 83 | 0.4543 | 0.5408 | 0.34 | ~0.66 |
57
+ | SuperBitDev / petrol2 | 47 | 0.4459 | 0.5578 | 0.33 | ~0.65 |
58
+ | tensorminer / ScoreVision-22 | 23 | 0.4287 | 0.5338 | 0.29 | ~0.64 |
59
+ | SuperBitDev / petrol1 | 27 | 0.4097 | 0.4801 | 0.30 | ~0.62 |
60
+
61
+ Per-class AP (ours, per-class conf): hose=0.60, pump=0.71, price board=0.60, roof canopy=0.69.
62
+
63
+ ## Tiebreak notes
64
+
65
+ - Validator uses `winner-take-all` per element.
66
+ - Tiebreak among similarly-scoring miners favours the earliest `last_commit_block`,
67
+ so commit once (when the model is finalised) and leave it in place.