StephanMeijer commited on
Commit
0dd7d99
·
verified ·
1 Parent(s): 6d65915

v0.3.0: trained on unanimous Albert teacher labels

Browse files
Files changed (3) hide show
  1. README.md +44 -39
  2. config.json +19 -19
  3. model.onnx +1 -1
README.md CHANGED
@@ -15,7 +15,7 @@ Tags **what is visible in an image** with any number of 20 attributes, such as
15
  people, text, chart, diagram, table, map or aerial view. A small, fast MobileNetV4 model (34 MB ONNX, about 18 ms per image on one CPU thread)
16
  for sorting and describing large image collections.
17
 
18
- This is **v0.2** (2026-10-14): trained on 20,551 images labelled by a SigLIP 2 probe plus the 444 hand labels.
19
  Try it in your browser: [WhatDoWeSee Space](https://huggingface.co/spaces/StephanMeijer/WhatDoWeSee).
20
 
21
  ## Attributes
@@ -51,8 +51,8 @@ Download a fixed version (recommended), so a later release never changes your re
51
  ```python
52
  from huggingface_hub import hf_hub_download
53
 
54
- model_path = hf_hub_download("StephanMeijer/WhatDoWeSee-MobileNetV4", "model.onnx", revision="v0.2")
55
- config_path = hf_hub_download("StephanMeijer/WhatDoWeSee-MobileNetV4", "config.json", revision="v0.2")
56
  ```
57
 
58
  Then:
@@ -82,49 +82,49 @@ its own threshold in `config.json`, tuned on a validation split.
82
 
83
  ## Evaluation
84
 
85
- On 95 held-out hand-labelled images: mean average precision **0.82**,
86
- macro F1 **0.74** at the tuned thresholds. Every version is scored on the same
87
- test images. The set is small: per-label scores are indicative only.
88
 
89
  | label | name | positives | AP | F1 |
90
  |---|---|---:|---:|---:|
91
- | `people` | People | 11 | 0.78 | 0.74 |
92
- | `animals` | Animals | 5 | 0.82 | 0.89 |
93
- | `nature` | Plants | 4 | 0.26 | 0.00 |
94
- | `landscape` | Landscape | 3 | 0.59 | 0.50 |
95
- | `buildings` | Buildings / structures | 9 | 0.58 | 0.56 |
96
- | `vehicles` | Vehicles | 4 | 1.00 | 1.00 |
97
- | `food` | Food | 5 | 1.00 | 1.00 |
98
- | `text` | Text | 22 | 0.99 | 0.96 |
99
- | `handwriting` | Handwriting | 5 | 1.00 | 0.75 |
100
- | `chart` | Chart | 7 | 0.98 | 0.92 |
101
- | `diagram` | Diagram | 8 | 0.82 | 0.80 |
102
- | `table` | Table | 6 | 0.78 | 0.53 |
103
- | `map` | Map | 5 | 1.00 | 0.89 |
104
- | `logo-icon` | Logo / icon | 6 | 1.00 | 0.86 |
105
- | `formula` | Formula | 6 | 0.93 | 0.91 |
106
- | `screen` | Screen / UI | 6 | 0.82 | 0.67 |
107
- | `artwork` | Artwork | 7 | 0.76 | 0.73 |
108
- | `instruments` | Instruments | 7 | 0.76 | 0.67 |
109
- | `furniture` | Furniture | 5 | 0.90 | 0.75 |
110
- | `aerial` | Aerial | 11 | 0.67 | 0.70 |
111
 
112
  ### How it compares
113
 
114
- Against WhatDoWeSee-EfficientNet-B0 v0.2 (same data, same test images): best yes/no decisions
115
- (macro F1 0.74 at the tuned thresholds, 0.75 at 0.5, against 0.68 and 0.71), mean AP 0.82
116
- against 0.84. Better on Landscape (AP 0.59 against 0.42), Food (1.00 / 0.83), Vehicles
117
- (1.00 / 0.88), Logo / icon (1.00 / 0.87), Buildings / structures (0.58 / 0.50), Map and
118
- Handwriting (1.00). Weaker on Plants (0.26 against 0.69), Aerial (0.67 / 0.86), Diagram
119
- (0.82 / 1.00), Table (0.78 / 0.90) and People (0.78 / 0.87). Twice as large and about twice as
120
- slow (34 MB, about 18 ms per image on one CPU thread). Per-label scores rest on 3 to 22 test
121
- images: indicative only.
122
 
123
  ## Training
124
 
125
  - Backbone: `mobilenetv4_conv_medium.e500_r256_in1k` (ImageNet-pretrained, via timm), with a new
126
  20-way sigmoid head; 30 epochs, AdamW, binary cross-entropy per label.
127
- - Data: The same data as WhatDoWeSee-EfficientNet-B0 v0.2: a linear probe on SigLIP 2 (ViT-B/16) image features, trained on the 444 hand-labelled images, labelled about 44,000 images at per-attribute thresholds tuned on the hand-labelled validation images; at most 1,000 of those per rarest attribute were kept (20,107), plus the 444 hand labels. Validation and test are 95 + 95 hand-labelled images, never trained on. Backbone mobilenetv4_conv_medium at 256 px.
128
  - The images come from public collections: photo datasets, document and form scans, charts,
129
  diagrams, screenshots, maps, artwork and icons.
130
 
@@ -142,8 +142,13 @@ MobileNetV4 backbone they start from. The licence covers the model, not the imag
142
 
143
  ## Versions
144
 
145
- Same test images for every version (mean AP and macro F1):
 
146
 
147
- | version | date | mean AP | macro F1 | |
148
- |---|---|---:|---:|---|
149
- | **v0.2** | 2026-10-14 | 0.82 | 0.74 | trained on 20,551 images labelled by a SigLIP 2 probe plus the 444 hand labels |
 
 
 
 
 
15
  people, text, chart, diagram, table, map or aerial view. A small, fast MobileNetV4 model (34 MB ONNX, about 18 ms per image on one CPU thread)
16
  for sorting and describing large image collections.
17
 
18
+ This is **v0.3.0** (2026-10-15): trained on 38,386 images where three Albert vision-language models agree (same data as WhatDoWeSee-EfficientNet-B0 v0.3.0).
19
  Try it in your browser: [WhatDoWeSee Space](https://huggingface.co/spaces/StephanMeijer/WhatDoWeSee).
20
 
21
  ## Attributes
 
51
  ```python
52
  from huggingface_hub import hf_hub_download
53
 
54
+ model_path = hf_hub_download("StephanMeijer/WhatDoWeSee-MobileNetV4", "model.onnx", revision="v0.3.0")
55
+ config_path = hf_hub_download("StephanMeijer/WhatDoWeSee-MobileNetV4", "config.json", revision="v0.3.0")
56
  ```
57
 
58
  Then:
 
82
 
83
  ## Evaluation
84
 
85
+ On 39 held-out hand-labelled images: mean average precision **0.90**,
86
+ macro F1 **0.83** at the tuned thresholds. The set is small: per-label scores
87
+ are indicative only.
88
 
89
  | label | name | positives | AP | F1 |
90
  |---|---|---:|---:|---:|
91
+ | `people` | People | 3 | 1.00 | 0.86 |
92
+ | `animals` | Animals | 4 | 1.00 | 1.00 |
93
+ | `nature` | Plants | 0 | - | 0.00 |
94
+ | `landscape` | Landscape | 1 | 1.00 | 0.67 |
95
+ | `buildings` | Buildings / structures | 0 | - | 0.00 |
96
+ | `vehicles` | Vehicles | 1 | 1.00 | 1.00 |
97
+ | `food` | Food | 1 | 1.00 | 1.00 |
98
+ | `text` | Text | 17 | 1.00 | 0.87 |
99
+ | `handwriting` | Handwriting | 5 | 0.94 | 0.83 |
100
+ | `chart` | Chart | 5 | 1.00 | 0.89 |
101
+ | `diagram` | Diagram | 3 | 1.00 | 0.80 |
102
+ | `table` | Table | 8 | 0.94 | 0.86 |
103
+ | `map` | Map | 2 | 1.00 | 1.00 |
104
+ | `logo-icon` | Logo / icon | 3 | 0.51 | 0.44 |
105
+ | `formula` | Formula | 0 | - | 0.00 |
106
+ | `screen` | Screen / UI | 2 | 0.83 | 0.67 |
107
+ | `artwork` | Artwork | 2 | 0.35 | 0.50 |
108
+ | `instruments` | Instruments | 0 | - | 0.00 |
109
+ | `furniture` | Furniture | 0 | - | 0.00 |
110
+ | `aerial` | Aerial | 1 | 1.00 | 1.00 |
111
 
112
  ### How it compares
113
 
114
+ Against v0.2 on the same 39 independent hand-labelled images: better yes/no decisions (macro
115
+ F1 0.83 against 0.73 at each version's thresholds) and better ranking (mean AP 0.91 against
116
+ 0.79). Clearly better on People (AP 1.00 against 0.67), Handwriting (0.94 / 0.69), Table
117
+ (0.94 / 0.58), Diagram (1.00 / 0.71) and Landscape. Weaker on Logo / icon (0.51 against
118
+ 0.92). Thresholds are now tuned on 8,104 validation images instead of 95. On an earlier set
119
+ of 95 hand-labelled images it was the best of all v0.3 candidates (mean AP 0.86). Plants,
120
+ Buildings, Formula, Instruments and Furniture have no test image in the 39; per-label scores
121
+ rest on 1 to 17 images: indicative only.
122
 
123
  ## Training
124
 
125
  - Backbone: `mobilenetv4_conv_medium.e500_r256_in1k` (ImageNet-pretrained, via timm), with a new
126
  20-way sigmoid head; 30 epochs, AdamW, binary cross-entropy per label.
127
+ - Data: Three vision-language models on the Albert API (Gemma 4 31B, Ministral 3 8B, Mistral Small 3.2 24B) answered the attribute question for about 81,000 images; an attribute counts only when all three picked it. Each image counts under its rarest attribute, at most 2,000 per attribute were kept for training (38,386 images); the 645 hand-labelled images are in the pool with their teacher labels like any other. Thresholds are tuned on the 8,104 teacher-labelled validation images. Test: 39 hand-labelled images that neither this version nor v0.2 trained on or tuned thresholds on. Same weights and thresholds as v0.3.0-rc.3.
128
  - The images come from public collections: photo datasets, document and form scans, charts,
129
  diagrams, screenshots, maps, artwork and icons.
130
 
 
142
 
143
  ## Versions
144
 
145
+ Each version on hand-labelled test images it never trained on (mean AP and macro F1). The test sets
146
+ differ between some versions, so compare versions through the notes of each version:
147
 
148
+ | version | date | test images | mean AP | macro F1 | |
149
+ |---|---|---:|---:|---:|---|
150
+ | **v0.3.0** | 2026-10-15 | 39 | 0.90 | 0.83 | trained on 38,386 images where three Albert vision-language models agree (same data as WhatDoWeSee-EfficientNet-B0 v0.3.0) |
151
+ | **v0.3.0-rc.3** | 2026-10-15 | 95 | 0.86 | 0.71 | release candidate, trained on 38,386 images where all three Albert vision-language models agree (same data as WhatDoWeSee-EfficientNet-B0 v0.3.0-rc.3) |
152
+ | **v0.3.0-rc.2** | 2026-10-15 | 38 | 0.81 | 0.74 | release candidate, v0.3.0-rc.1 with stable thresholds (same data as WhatDoWeSee-EfficientNet-B0 v0.3.0-rc.2) |
153
+ | **v0.3.0-rc.1** | 2026-10-15 | 38 | 0.81 | 0.76 | release candidate (same data as WhatDoWeSee-EfficientNet-B0 v0.3.0-rc.1), trained on 38,710 images labelled by three Albert vision-language models |
154
+ | **v0.2** | 2026-10-14 | 95 | 0.82 | 0.74 | trained on 20,551 images labelled by a SigLIP 2 probe plus the 444 hand labels |
config.json CHANGED
@@ -1,5 +1,5 @@
1
  {
2
- "version": "v0.2",
3
  "task": "multi-label image attributes",
4
  "group": "content",
5
  "labels": [
@@ -69,26 +69,26 @@
69
  "aerial": "the ground seen from high above: aerial or satellite photos, drone shots, bird's-eye views, also through a plane window, straight down or at an angle; clouds without ground don't count; a drawn map is Map"
70
  },
71
  "thresholds": {
72
- "people": 0.4117,
73
- "animals": 0.5,
74
- "nature": 0.9781,
75
- "landscape": 0.9545,
76
- "buildings": 0.5,
77
- "vehicles": 0.05,
78
- "food": 0.0368,
79
- "text": 0.039,
80
- "handwriting": 0.1818,
81
  "chart": 0.5,
82
- "diagram": 0.5,
83
- "table": 0.5,
84
  "map": 0.5,
85
- "logo-icon": 0.5,
86
- "formula": 0.5,
87
- "screen": 0.5,
88
- "artwork": 0.5,
89
- "instruments": 0.5,
90
- "furniture": 0.998,
91
- "aerial": 0.9233
92
  },
93
  "input": {
94
  "name": "pixel_values",
 
1
  {
2
+ "version": "v0.3.0",
3
  "task": "multi-label image attributes",
4
  "group": "content",
5
  "labels": [
 
69
  "aerial": "the ground seen from high above: aerial or satellite photos, drone shots, bird's-eye views, also through a plane window, straight down or at an angle; clouds without ground don't count; a drawn map is Map"
70
  },
71
  "thresholds": {
72
+ "people": 0.4865,
73
+ "animals": 0.3594,
74
+ "nature": 0.5881,
75
+ "landscape": 0.5811,
76
+ "buildings": 0.7084,
77
+ "vehicles": 0.4425,
78
+ "food": 0.7232,
79
+ "text": 0.7025,
80
+ "handwriting": 0.7569,
81
  "chart": 0.5,
82
+ "diagram": 0.8988,
83
+ "table": 0.5682,
84
  "map": 0.5,
85
+ "logo-icon": 0.6388,
86
+ "formula": 0.8698,
87
+ "screen": 0.789,
88
+ "artwork": 0.1739,
89
+ "instruments": 0.9685,
90
+ "furniture": 0.8187,
91
+ "aerial": 0.2008
92
  },
93
  "input": {
94
  "name": "pixel_values",
model.onnx CHANGED
@@ -1,3 +1,3 @@
1
  version https://git-lfs.github.com/spec/v1
2
- oid sha256:3cd6b6cdff0d289c73e6b60f27e080ad6142d0e45841c19a8976d9db5871e227
3
  size 34102699
 
1
  version https://git-lfs.github.com/spec/v1
2
+ oid sha256:40e58d43ac69b88788e5aa511a31193d15af529ab29e53f4702ce5f8d766607f
3
  size 34102699