KumarjitC commited on
Commit
ee2cb60
·
verified ·
1 Parent(s): 60f6d57

EfficientNetV2-B0 plant disease model (54 classes, 98.0% test accuracy)

Browse files
.gitattributes CHANGED
@@ -33,3 +33,4 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
 
 
33
  *.zip filter=lfs diff=lfs merge=lfs -text
34
  *.zst filter=lfs diff=lfs merge=lfs -text
35
  *tfevents* filter=lfs diff=lfs merge=lfs -text
36
+ plantulus_doctor.keras filter=lfs diff=lfs merge=lfs -text
README.md ADDED
@@ -0,0 +1,61 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: mit
3
+ library_name: keras
4
+ pipeline_tag: image-classification
5
+ tags:
6
+ - image-classification
7
+ - plant-disease
8
+ - agriculture
9
+ - tflite
10
+ - efficientnetv2
11
+ ---
12
+
13
+ # Plantulus Doctor — plant disease classifier
14
+
15
+ EfficientNetV2-B0 (ImageNet pre-trained) fine-tuned to recognise **54 plant/disease classes across 19 plants** from a photo of a single leaf. Live demo and JSON API: [KumarjitC/indoor-plant-disease-gradio-app](https://huggingface.co/spaces/KumarjitC/indoor-plant-disease-gradio-app).
16
+
17
+ ## Files
18
+
19
+ | File | Use |
20
+ |---|---|
21
+ | `plantulus_doctor_fp16.tflite` | Float16-quantized TFLite model (~12 MB) for servers (LiteRT) and mobile |
22
+ | `plantulus_doctor.keras` | Full Keras 3 model |
23
+ | `classes.json` | Class labels in model output order |
24
+ | `class_info.json` | Per class: label, plant, disease, `is_healthy`, display name |
25
+ | `preprocessing.json` | Required input preprocessing |
26
+
27
+ ## Preprocessing
28
+
29
+ 1. Apply EXIF orientation and convert to RGB.
30
+ 2. Resize the shorter side to 256 px and centre-crop to 256×256.
31
+ 3. Centre-crop to 224×224.
32
+ 4. Feed float32 pixel values in **[0, 255]**. Do **not** divide by 255: the model normalizes internally.
33
+
34
+ Input shape `[1, 224, 224, 3]`; output: softmax probabilities over the 54 classes in `classes.json` order.
35
+
36
+ ## Training data
37
+
38
+ - [PlantVillage](https://www.kaggle.com/datasets/abdallahalidev/plantvillage-dataset) (colour images only)
39
+ - [New Plant Diseases](https://www.kaggle.com/datasets/vipoooool/new-plant-diseases-dataset) (augmented PlantVillage)
40
+ - [Indoor Plant Disease Detection](https://www.kaggle.com/datasets/abdulahad0296/indoor-plant-disease-detection-dataset)
41
+
42
+ Images were deduplicated (MD5), and augmented copies were grouped by PlantVillage UUID and a rotation/flip-invariant perceptual hash so that copies of the same photo never appear in both train and test. Split ≈70/15/15, stratified by class.
43
+
44
+ Training: two stages (frozen backbone head training, then full fine-tuning with frozen BatchNorm and cosine learning-rate decay), random-crop/flip/rotation/zoom/colour augmentation, square-root class weights, label smoothing 0.1, mixed precision. Because of label smoothing, confident predictions typically score around 0.9 rather than 1.0.
45
+
46
+ ## Evaluation (held-out test set, 16,697 images)
47
+
48
+ | Subset | Images | Accuracy | Macro F1 |
49
+ |---|---|---|---|
50
+ | **All** | 16,697 | **98.04%** | **0.984** |
51
+ | PlantVillage | 7,759 | 99.45% | 0.992 |
52
+ | New Plant Diseases | 5,919 | 99.27% | 0.936 |
53
+ | Indoor plants | 3,019 | 92.02% | 0.960 |
54
+
55
+ Top-3 accuracy: 99.75%.
56
+
57
+ ## Limitations
58
+
59
+ - Most training images are single leaves on plain backgrounds; expect lower accuracy on cluttered field or household photos (the indoor subset is the best indicator).
60
+ - The model always predicts one of its 54 classes, even for unrelated images or unknown diseases; use the confidence score and top-3 output.
61
+ - Not a substitute for expert diagnosis.
class_info.json ADDED
@@ -0,0 +1,380 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ {
3
+ "label": "aloe_anthracnose",
4
+ "plant": "Aloe",
5
+ "disease": "Anthracnose",
6
+ "is_healthy": false,
7
+ "display_name": "Aloe - Anthracnose"
8
+ },
9
+ {
10
+ "label": "aloe_healthy",
11
+ "plant": "Aloe",
12
+ "disease": "Healthy",
13
+ "is_healthy": true,
14
+ "display_name": "Aloe - Healthy"
15
+ },
16
+ {
17
+ "label": "aloe_leafspot",
18
+ "plant": "Aloe",
19
+ "disease": "Leaf Spot",
20
+ "is_healthy": false,
21
+ "display_name": "Aloe - Leaf Spot"
22
+ },
23
+ {
24
+ "label": "aloe_rust",
25
+ "plant": "Aloe",
26
+ "disease": "Rust",
27
+ "is_healthy": false,
28
+ "display_name": "Aloe - Rust"
29
+ },
30
+ {
31
+ "label": "aloe_sunburn",
32
+ "plant": "Aloe",
33
+ "disease": "Sunburn",
34
+ "is_healthy": false,
35
+ "display_name": "Aloe - Sunburn"
36
+ },
37
+ {
38
+ "label": "apple_apple_scab",
39
+ "plant": "Apple",
40
+ "disease": "Scab",
41
+ "is_healthy": false,
42
+ "display_name": "Apple - Scab"
43
+ },
44
+ {
45
+ "label": "apple_black_rot",
46
+ "plant": "Apple",
47
+ "disease": "Black Rot",
48
+ "is_healthy": false,
49
+ "display_name": "Apple - Black Rot"
50
+ },
51
+ {
52
+ "label": "apple_cedar_apple_rust",
53
+ "plant": "Apple",
54
+ "disease": "Cedar Apple Rust",
55
+ "is_healthy": false,
56
+ "display_name": "Apple - Cedar Apple Rust"
57
+ },
58
+ {
59
+ "label": "apple_healthy",
60
+ "plant": "Apple",
61
+ "disease": "Healthy",
62
+ "is_healthy": true,
63
+ "display_name": "Apple - Healthy"
64
+ },
65
+ {
66
+ "label": "blueberry_healthy",
67
+ "plant": "Blueberry",
68
+ "disease": "Healthy",
69
+ "is_healthy": true,
70
+ "display_name": "Blueberry - Healthy"
71
+ },
72
+ {
73
+ "label": "cactus_dactylopius_opuntia",
74
+ "plant": "Cactus",
75
+ "disease": "Dactylopius Opuntia (Cochineal)",
76
+ "is_healthy": false,
77
+ "display_name": "Cactus - Dactylopius Opuntia (Cochineal)"
78
+ },
79
+ {
80
+ "label": "cactus_healthy",
81
+ "plant": "Cactus",
82
+ "disease": "Healthy",
83
+ "is_healthy": true,
84
+ "display_name": "Cactus - Healthy"
85
+ },
86
+ {
87
+ "label": "cherry_including_sour_healthy",
88
+ "plant": "Cherry",
89
+ "disease": "Healthy",
90
+ "is_healthy": true,
91
+ "display_name": "Cherry - Healthy"
92
+ },
93
+ {
94
+ "label": "cherry_including_sour_powdery_mildew",
95
+ "plant": "Cherry",
96
+ "disease": "Powdery Mildew",
97
+ "is_healthy": false,
98
+ "display_name": "Cherry - Powdery Mildew"
99
+ },
100
+ {
101
+ "label": "corn_maize_cercospora_leaf_spot_gray_leaf_spot",
102
+ "plant": "Corn (Maize)",
103
+ "disease": "Cercospora Leaf Spot (Gray Leaf Spot)",
104
+ "is_healthy": false,
105
+ "display_name": "Corn (Maize) - Cercospora Leaf Spot (Gray Leaf Spot)"
106
+ },
107
+ {
108
+ "label": "corn_maize_common_rust",
109
+ "plant": "Corn (Maize)",
110
+ "disease": "Common Rust",
111
+ "is_healthy": false,
112
+ "display_name": "Corn (Maize) - Common Rust"
113
+ },
114
+ {
115
+ "label": "corn_maize_healthy",
116
+ "plant": "Corn (Maize)",
117
+ "disease": "Healthy",
118
+ "is_healthy": true,
119
+ "display_name": "Corn (Maize) - Healthy"
120
+ },
121
+ {
122
+ "label": "corn_maize_northern_leaf_blight",
123
+ "plant": "Corn (Maize)",
124
+ "disease": "Northern Leaf Blight",
125
+ "is_healthy": false,
126
+ "display_name": "Corn (Maize) - Northern Leaf Blight"
127
+ },
128
+ {
129
+ "label": "grape_black_rot",
130
+ "plant": "Grape",
131
+ "disease": "Black Rot",
132
+ "is_healthy": false,
133
+ "display_name": "Grape - Black Rot"
134
+ },
135
+ {
136
+ "label": "grape_esca_black_measles",
137
+ "plant": "Grape",
138
+ "disease": "Esca (Black Measles)",
139
+ "is_healthy": false,
140
+ "display_name": "Grape - Esca (Black Measles)"
141
+ },
142
+ {
143
+ "label": "grape_healthy",
144
+ "plant": "Grape",
145
+ "disease": "Healthy",
146
+ "is_healthy": true,
147
+ "display_name": "Grape - Healthy"
148
+ },
149
+ {
150
+ "label": "grape_leaf_blight_isariopsis_leaf_spot",
151
+ "plant": "Grape",
152
+ "disease": "Leaf Blight (Isariopsis Leaf Spot)",
153
+ "is_healthy": false,
154
+ "display_name": "Grape - Leaf Blight (Isariopsis Leaf Spot)"
155
+ },
156
+ {
157
+ "label": "money_plant_bacterial_wilt_disease",
158
+ "plant": "Money Plant",
159
+ "disease": "Bacterial Wilt Disease",
160
+ "is_healthy": false,
161
+ "display_name": "Money Plant - Bacterial Wilt Disease"
162
+ },
163
+ {
164
+ "label": "money_plant_healthy",
165
+ "plant": "Money Plant",
166
+ "disease": "Healthy",
167
+ "is_healthy": true,
168
+ "display_name": "Money Plant - Healthy"
169
+ },
170
+ {
171
+ "label": "money_plant_manganese_toxicity",
172
+ "plant": "Money Plant",
173
+ "disease": "Manganese Toxicity",
174
+ "is_healthy": false,
175
+ "display_name": "Money Plant - Manganese Toxicity"
176
+ },
177
+ {
178
+ "label": "orange_haunglongbing_citrus_greening",
179
+ "plant": "Orange",
180
+ "disease": "Huanglongbing (Citrus Greening)",
181
+ "is_healthy": false,
182
+ "display_name": "Orange - Huanglongbing (Citrus Greening)"
183
+ },
184
+ {
185
+ "label": "peach_bacterial_spot",
186
+ "plant": "Peach",
187
+ "disease": "Bacterial Spot",
188
+ "is_healthy": false,
189
+ "display_name": "Peach - Bacterial Spot"
190
+ },
191
+ {
192
+ "label": "peach_healthy",
193
+ "plant": "Peach",
194
+ "disease": "Healthy",
195
+ "is_healthy": true,
196
+ "display_name": "Peach - Healthy"
197
+ },
198
+ {
199
+ "label": "pepper_bell_bacterial_spot",
200
+ "plant": "Bell Pepper",
201
+ "disease": "Bacterial Spot",
202
+ "is_healthy": false,
203
+ "display_name": "Bell Pepper - Bacterial Spot"
204
+ },
205
+ {
206
+ "label": "pepper_bell_healthy",
207
+ "plant": "Bell Pepper",
208
+ "disease": "Healthy",
209
+ "is_healthy": true,
210
+ "display_name": "Bell Pepper - Healthy"
211
+ },
212
+ {
213
+ "label": "potato_early_blight",
214
+ "plant": "Potato",
215
+ "disease": "Early Blight",
216
+ "is_healthy": false,
217
+ "display_name": "Potato - Early Blight"
218
+ },
219
+ {
220
+ "label": "potato_healthy",
221
+ "plant": "Potato",
222
+ "disease": "Healthy",
223
+ "is_healthy": true,
224
+ "display_name": "Potato - Healthy"
225
+ },
226
+ {
227
+ "label": "potato_late_blight",
228
+ "plant": "Potato",
229
+ "disease": "Late Blight",
230
+ "is_healthy": false,
231
+ "display_name": "Potato - Late Blight"
232
+ },
233
+ {
234
+ "label": "raspberry_healthy",
235
+ "plant": "Raspberry",
236
+ "disease": "Healthy",
237
+ "is_healthy": true,
238
+ "display_name": "Raspberry - Healthy"
239
+ },
240
+ {
241
+ "label": "snake_plant_anthracnose",
242
+ "plant": "Snake Plant",
243
+ "disease": "Anthracnose",
244
+ "is_healthy": false,
245
+ "display_name": "Snake Plant - Anthracnose"
246
+ },
247
+ {
248
+ "label": "snake_plant_healthy",
249
+ "plant": "Snake Plant",
250
+ "disease": "Healthy",
251
+ "is_healthy": true,
252
+ "display_name": "Snake Plant - Healthy"
253
+ },
254
+ {
255
+ "label": "snake_plant_leaf_withering",
256
+ "plant": "Snake Plant",
257
+ "disease": "Leaf Withering",
258
+ "is_healthy": false,
259
+ "display_name": "Snake Plant - Leaf Withering"
260
+ },
261
+ {
262
+ "label": "soybean_healthy",
263
+ "plant": "Soybean",
264
+ "disease": "Healthy",
265
+ "is_healthy": true,
266
+ "display_name": "Soybean - Healthy"
267
+ },
268
+ {
269
+ "label": "spider_plant_fungal_leaf_spot",
270
+ "plant": "Spider Plant",
271
+ "disease": "Fungal Leaf Spot",
272
+ "is_healthy": false,
273
+ "display_name": "Spider Plant - Fungal Leaf Spot"
274
+ },
275
+ {
276
+ "label": "spider_plant_healthy",
277
+ "plant": "Spider Plant",
278
+ "disease": "Healthy",
279
+ "is_healthy": true,
280
+ "display_name": "Spider Plant - Healthy"
281
+ },
282
+ {
283
+ "label": "spider_plant_leaf_tip_necrosis",
284
+ "plant": "Spider Plant",
285
+ "disease": "Leaf Tip Necrosis",
286
+ "is_healthy": false,
287
+ "display_name": "Spider Plant - Leaf Tip Necrosis"
288
+ },
289
+ {
290
+ "label": "squash_powdery_mildew",
291
+ "plant": "Squash",
292
+ "disease": "Powdery Mildew",
293
+ "is_healthy": false,
294
+ "display_name": "Squash - Powdery Mildew"
295
+ },
296
+ {
297
+ "label": "strawberry_healthy",
298
+ "plant": "Strawberry",
299
+ "disease": "Healthy",
300
+ "is_healthy": true,
301
+ "display_name": "Strawberry - Healthy"
302
+ },
303
+ {
304
+ "label": "strawberry_leaf_scorch",
305
+ "plant": "Strawberry",
306
+ "disease": "Leaf Scorch",
307
+ "is_healthy": false,
308
+ "display_name": "Strawberry - Leaf Scorch"
309
+ },
310
+ {
311
+ "label": "tomato_bacterial_spot",
312
+ "plant": "Tomato",
313
+ "disease": "Bacterial Spot",
314
+ "is_healthy": false,
315
+ "display_name": "Tomato - Bacterial Spot"
316
+ },
317
+ {
318
+ "label": "tomato_early_blight",
319
+ "plant": "Tomato",
320
+ "disease": "Early Blight",
321
+ "is_healthy": false,
322
+ "display_name": "Tomato - Early Blight"
323
+ },
324
+ {
325
+ "label": "tomato_healthy",
326
+ "plant": "Tomato",
327
+ "disease": "Healthy",
328
+ "is_healthy": true,
329
+ "display_name": "Tomato - Healthy"
330
+ },
331
+ {
332
+ "label": "tomato_late_blight",
333
+ "plant": "Tomato",
334
+ "disease": "Late Blight",
335
+ "is_healthy": false,
336
+ "display_name": "Tomato - Late Blight"
337
+ },
338
+ {
339
+ "label": "tomato_leaf_mold",
340
+ "plant": "Tomato",
341
+ "disease": "Leaf Mold",
342
+ "is_healthy": false,
343
+ "display_name": "Tomato - Leaf Mold"
344
+ },
345
+ {
346
+ "label": "tomato_septoria_leaf_spot",
347
+ "plant": "Tomato",
348
+ "disease": "Septoria Leaf Spot",
349
+ "is_healthy": false,
350
+ "display_name": "Tomato - Septoria Leaf Spot"
351
+ },
352
+ {
353
+ "label": "tomato_spider_mites_two_spotted_spider_mite",
354
+ "plant": "Tomato",
355
+ "disease": "Spider Mites (Two-Spotted Spider Mite)",
356
+ "is_healthy": false,
357
+ "display_name": "Tomato - Spider Mites (Two-Spotted Spider Mite)"
358
+ },
359
+ {
360
+ "label": "tomato_target_spot",
361
+ "plant": "Tomato",
362
+ "disease": "Target Spot",
363
+ "is_healthy": false,
364
+ "display_name": "Tomato - Target Spot"
365
+ },
366
+ {
367
+ "label": "tomato_tomato_mosaic_virus",
368
+ "plant": "Tomato",
369
+ "disease": "Mosaic Virus",
370
+ "is_healthy": false,
371
+ "display_name": "Tomato - Mosaic Virus"
372
+ },
373
+ {
374
+ "label": "tomato_tomato_yellow_leaf_curl_virus",
375
+ "plant": "Tomato",
376
+ "disease": "Yellow Leaf Curl Virus",
377
+ "is_healthy": false,
378
+ "display_name": "Tomato - Yellow Leaf Curl Virus"
379
+ }
380
+ ]
classes.json ADDED
@@ -0,0 +1,56 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ [
2
+ "aloe_anthracnose",
3
+ "aloe_healthy",
4
+ "aloe_leafspot",
5
+ "aloe_rust",
6
+ "aloe_sunburn",
7
+ "apple_apple_scab",
8
+ "apple_black_rot",
9
+ "apple_cedar_apple_rust",
10
+ "apple_healthy",
11
+ "blueberry_healthy",
12
+ "cactus_dactylopius_opuntia",
13
+ "cactus_healthy",
14
+ "cherry_including_sour_healthy",
15
+ "cherry_including_sour_powdery_mildew",
16
+ "corn_maize_cercospora_leaf_spot_gray_leaf_spot",
17
+ "corn_maize_common_rust",
18
+ "corn_maize_healthy",
19
+ "corn_maize_northern_leaf_blight",
20
+ "grape_black_rot",
21
+ "grape_esca_black_measles",
22
+ "grape_healthy",
23
+ "grape_leaf_blight_isariopsis_leaf_spot",
24
+ "money_plant_bacterial_wilt_disease",
25
+ "money_plant_healthy",
26
+ "money_plant_manganese_toxicity",
27
+ "orange_haunglongbing_citrus_greening",
28
+ "peach_bacterial_spot",
29
+ "peach_healthy",
30
+ "pepper_bell_bacterial_spot",
31
+ "pepper_bell_healthy",
32
+ "potato_early_blight",
33
+ "potato_healthy",
34
+ "potato_late_blight",
35
+ "raspberry_healthy",
36
+ "snake_plant_anthracnose",
37
+ "snake_plant_healthy",
38
+ "snake_plant_leaf_withering",
39
+ "soybean_healthy",
40
+ "spider_plant_fungal_leaf_spot",
41
+ "spider_plant_healthy",
42
+ "spider_plant_leaf_tip_necrosis",
43
+ "squash_powdery_mildew",
44
+ "strawberry_healthy",
45
+ "strawberry_leaf_scorch",
46
+ "tomato_bacterial_spot",
47
+ "tomato_early_blight",
48
+ "tomato_healthy",
49
+ "tomato_late_blight",
50
+ "tomato_leaf_mold",
51
+ "tomato_septoria_leaf_spot",
52
+ "tomato_spider_mites_two_spotted_spider_mite",
53
+ "tomato_target_spot",
54
+ "tomato_tomato_mosaic_virus",
55
+ "tomato_tomato_yellow_leaf_curl_virus"
56
+ ]
plantulus_doctor.keras ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:4400fd8e889860c0e760c76e46cbb302687df6a460e8a38cf6247e5a576e615c
3
+ size 24907594
plantulus_doctor_fp16.tflite ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:3f9b1ef6e7bcc603c6844429ae4ac28607cbfb48fd7b1f856362c824a29a3e65
3
+ size 11910620
preprocessing.json ADDED
@@ -0,0 +1,11 @@
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "input": "RGB image, float32 pixel values in [0, 255] (the model normalizes internally; do NOT divide by 255)",
3
+ "resize": "resize the shorter side to 256px, centre-crop to 256x256, then centre-crop to 224x224",
4
+ "input_shape": [
5
+ 1,
6
+ 224,
7
+ 224,
8
+ 3
9
+ ],
10
+ "output": "softmax probabilities over 54 classes, in the order of classes.json"
11
+ }
test_metrics.json ADDED
@@ -0,0 +1,24 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "test_images": 16697,
3
+ "accuracy": 0.9804156435287776,
4
+ "top3_accuracy": 0.9975444690662993,
5
+ "macro_f1": 0.9835331391496674,
6
+ "weighted_f1": 0.9804345892804046,
7
+ "per_source": {
8
+ "indoor_detection": {
9
+ "images": 3019,
10
+ "accuracy": 0.9201722424643922,
11
+ "macro_f1": 0.9603292403887314
12
+ },
13
+ "new_plant_diseases": {
14
+ "images": 5919,
15
+ "accuracy": 0.992735259334347,
16
+ "macro_f1": 0.9361751097090444
17
+ },
18
+ "plantvillage": {
19
+ "images": 7759,
20
+ "accuracy": 0.9944580487176182,
21
+ "macro_f1": 0.9924067738783012
22
+ }
23
+ }
24
+ }