TheVortexProject commited on
Commit
e82324e
·
verified ·
1 Parent(s): e9332d6

Publish insectnet-research-0.2.0-perch2 audited research artifact

Browse files
README.md ADDED
@@ -0,0 +1,157 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ license: cc-by-nc-sa-4.0
3
+ library_name: scikit-learn
4
+ tags:
5
+ - audio-classification
6
+ - bioacoustics
7
+ - perch
8
+ - insects
9
+ - research
10
+ ---
11
+
12
+ # InsectNet Research 0.2.0 — Perch 2
13
+
14
+ A reproducible research classifier for broad insect presence, cicadas, and Orthoptera,
15
+ fitted on frozen 1,536-dimensional Google Perch 2 embeddings.
16
+
17
+ > **Status: trained research artifact, not field-ready and not deployed.** The locked
18
+ > independent dog challenge produced broad insect activations in 11/26 windows. Do not
19
+ > use this model for unattended ecological counts or alerts.
20
+
21
+ **Artifact SHA-256:** `27bf603a6dec2df2789b3bf9241f5e035ccdea5909c4ecf252623ff9304afe32`
22
+ **Dataset hash:** `d59cde46a933b85c1cd46f944c6df5c9c6a7587efe7c354b5cbe22b2d0698240`
23
+
24
+ ## Outputs
25
+
26
+ | Head | Locked threshold | Parent |
27
+ |---|---:|---|
28
+ | `insect_present` | 0.25 | — |
29
+ | `cicada` | 0.08 | `insect_present` |
30
+ | `orthoptera` | 0.74 | `insect_present` |
31
+
32
+ The fitted heads are independent probabilities, not a softmax. The serialized inference
33
+ contract suppresses subtype outputs unless `insect_present` also passes.
34
+
35
+ The source evidence supports Cicadidae versus broad Orthoptera. It does **not** support
36
+ inventing cricket/katydid versus grasshopper labels.
37
+
38
+ ## Feature contract
39
+
40
+ - Backbone: Google Perch 2 CPU release
41
+ - Audio input to Perch: five seconds, 32 kHz, mono, float32
42
+ - Input to this artifact: one 1,536-dimensional Perch embedding
43
+ - Verified Perch model-tree SHA-256: `3fb2d54b3e34534f1130052b25737e54bbb5ebfd340ec040d4510772b64c81ff`
44
+ - Perch weights are not included
45
+
46
+ The official Perch code repository is Apache-2.0. The available Kaggle metadata did not
47
+ expose a separate model-weight license during this build, so this card does not extend
48
+ the code license to the weights by assumption.
49
+
50
+ ## Training data
51
+
52
+ | Source | Windows | Role | Rights |
53
+ |---|---:|---|---|
54
+ | InsectSet459 | 2,096 | insect positives | 1,727 CC BY 4.0; 369 CC0 |
55
+ | ESC-50 | 1,960 | environmental negatives; insect class excluded | CC BY-NC 3.0 |
56
+ | Ross-308 | 317 | poultry and ventilation hard negatives | CC BY 4.0 |
57
+ | iNaturalist Domestic Chicken | 42 | observer-grouped hard negatives | CC BY 4.0 / CC0 |
58
+ | iNaturalist Domestic Cat | 26 | observer-grouped hard negatives | CC BY 4.0 / CC0 |
59
+ | **Total** | **4,441** | | mixed research lane |
60
+
61
+ InsectSet459 contains 2,096 unique permissive Train/Validation observations from 334
62
+ contributor groups: 1,009 cicada and 1,087 Orthoptera windows. Group IDs, not windows,
63
+ were assigned to train, validation, and test.
64
+
65
+ No source audio is redistributed here.
66
+
67
+ ## Internal grouped evaluation
68
+
69
+ | Head | Test support | AP | Precision | Recall | F1 |
70
+ |---|---:|---:|---:|---:|---:|
71
+ | insect present | 236 | 0.987 | 0.947 | 0.979 | 0.963 |
72
+ | cicada | 102 | 0.959 | 0.856 | 0.931 | 0.892 |
73
+ | Orthoptera | 134 | 0.943 | 0.885 | 0.866 | 0.875 |
74
+
75
+ Test macro AP: **0.963**. Test macro F1: **0.910**.
76
+
77
+ These results show that the grouped source partitions are learnable. They do not establish
78
+ stationary-microphone field reliability.
79
+
80
+ ## Locked independent dog challenge
81
+
82
+ The final artifact was scored once on 26 permissively licensed Domestic Dog sounds from
83
+ 26 observers. These samples were not used for fitting or threshold selection.
84
+
85
+ | Output | Raw head crossings | Hierarchy-gated outputs |
86
+ |---|---:|---:|
87
+ | insect present | 11/26 | 11/26 |
88
+ | cicada | 7/26 | 5/26 |
89
+ | Orthoptera | 4/26 | 2/26 |
90
+
91
+ Outdoor taxon recordings may contain incidental insects, but a **42.3% broad activation
92
+ rate** is too high to treat this model as field-ready.
93
+
94
+ ## Private stationary-microphone activation audit
95
+
96
+ A private reviewed frog archive supplied 1,308 five-second windows from 436 recordings.
97
+ It was reviewed for frog presence, not insect absence, so these are activation rates—not
98
+ false-positive rates:
99
+
100
+ | Output | Hierarchy-gated activations |
101
+ |---|---:|
102
+ | insect present | 1,207/1,308 — 92.3% |
103
+ | cicada | 68/1,308 — 5.2% |
104
+ | Orthoptera | 820/1,308 — 62.7% |
105
+
106
+ Summer frog recordings can contain real insects. Listening review is required before any
107
+ of these activations can be called errors. No private paths or audio are included here.
108
+
109
+ ## Use
110
+
111
+ ```python
112
+ import joblib
113
+ from insectnet.candidate import active_labels, predict_candidate
114
+
115
+ package = joblib.load("insectnet-research-0.2.0-perch2.joblib")
116
+ embedding = ... # shape (N, 1536), from the verified Perch 2 feature contract
117
+ scores = predict_candidate(package, embedding)
118
+ labels = [active_labels(package, row) for row in scores]
119
+ ```
120
+
121
+ Do not feed waveforms directly into this artifact.
122
+
123
+ ## What is validated
124
+
125
+ - Exact data, window, embedding, and artifact hashes are recorded.
126
+ - Contributor/observer/source groups do not cross partitions.
127
+ - Only CC0, CC BY, and the explicitly noncommercial ESC-50 research lane were used.
128
+ - Broad/subtype hierarchy is serialized and tested.
129
+ - The model loads and scores finite Perch embeddings.
130
+ - Internal grouped metrics and independent challenge failures are both published.
131
+
132
+ ## What is not validated
133
+
134
+ - local field precision or recall
135
+ - unattended field detections
136
+ - species-level insect identity
137
+ - cricket/katydid versus grasshopper separation
138
+ - robustness to frogs, ventilation, rain, distant birds, or recorder changes
139
+ - calibrated ecological abundance estimates
140
+
141
+ ## Known failure mode and next research requirement
142
+
143
+ Frozen linear transfer on this corpus still carries source/domain shortcuts. Adding chicken,
144
+ cat, and poultry hard negatives improved known-source rejection but did not generalize to
145
+ the untouched dog challenge. The next serious model should use reviewed same-recorder hard
146
+ negatives, more diverse iNaturalist non-insect taxa, and likely supervised backbone
147
+ fine-tuning or a richer temporal head rather than another threshold-only adjustment.
148
+
149
+ ## Sources
150
+
151
+ - InsectSet459: `academic-datasets/InsectSet459`, pinned revision documented in provenance
152
+ - ESC-50: Piczak, DOI `10.1145/2733373.2806390`
153
+ - Ross-308: Díaz de Cerio et al., DOI `10.34810/DATA3437`
154
+ - Perch: Ghani et al., *Global birdsong embeddings enable superior transfer learning for bioacoustic classification* (2023)
155
+
156
+ Exact source summaries, hashes, metrics, and challenge reports are included beside the
157
+ artifact.
SHA256SUMS ADDED
@@ -0,0 +1,13 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ e91daf55bbea21d4f2e5c414c1ea2af3b14d34be255905febb7180b9ad74ba51 MODEL_CARD.md
2
+ ac232f6b38d99625addefb77beaedbeb22b7a31aaaf7a91bafc245eb3f74dc9d inat_dog_negative_challenge_report.json
3
+ 27bf603a6dec2df2789b3bf9241f5e035ccdea5909c4ecf252623ff9304afe32 insectnet-research-0.2.0-perch2.joblib
4
+ 97996c1e74848dd931e97c4063d34aeb56ef5e3cf0af6e3c8e28acd61eb72fa5 private_local_frog_activation_report.json
5
+ fc13321ad75039e3a6ec4d5716dbe680a0276199ba4eb1526c5a9eb886eb5aad provenance/esc50-source.json
6
+ 0b8a4544b0f03f931946bf8dde8342718bd5e1eb3bfc3c031f801f306888e68f provenance/esc50-summary.json
7
+ da9d9b68683900ca6574ca8ce585867daae36cfc4cb32a09d2292ae0c4c8fd20 provenance/inat-cat-negatives-summary.json
8
+ 2d68b1ace92a3bd0b39593a5c178b3f7d8b1a1f8d2cc694b54cec2d56c5fc805 provenance/inat-chicken-negatives-summary.json
9
+ 03edc03a5fc5c8ba3551d9f67299ee8440f674fed407d5b8e4559a0b957fcdda provenance/inat-dog-challenge-summary.json
10
+ f62ef068e779c483b67831b32c957704b2f2259a5f59ea76e438740d1085a5ac provenance/insectset459-source.json
11
+ 8566c1af4eacab9ff55c0c0798ca590e7caead59b75abf37f1f1a27bc6519fa1 provenance/insectset459-summary.json
12
+ 636f721081d27cd94f13a39a2383b9cf46824e5262605f6e46d28d609e8894d5 provenance/ross308-negatives-summary.json
13
+ b08786e329ae0416075222d09b2de520220ee578259ca480c79c00427e66d290 training_summary.json
inat_dog_negative_challenge_report.json ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "artifact": "insectnet-research-0.2.0-perch2.joblib",
3
+ "artifact_sha256": "27bf603a6dec2df2789b3bf9241f5e035ccdea5909c4ecf252623ff9304afe32",
4
+ "challenge": "inaturalist-domestic-dog-2026-07-15",
5
+ "challenge_windows_sha256": "a99b6cd822dac4102f7d27af400c001e768dfc75e05866c4cffe3c3249793250",
6
+ "embeddings_sha256": "fc4c0b2006b76c9383c7a53130967ccf5078b989f7d8df85bc09e3b7c3a8537a",
7
+ "groups": 26,
8
+ "hierarchy_gated_outputs": {
9
+ "cicada": {
10
+ "rate": 0.19230769230769232,
11
+ "windows": 5
12
+ },
13
+ "insect_present": {
14
+ "rate": 0.4230769230769231,
15
+ "windows": 11
16
+ },
17
+ "orthoptera": {
18
+ "rate": 0.07692307692307693,
19
+ "windows": 2
20
+ }
21
+ },
22
+ "interpretation": "Untouched one-sound-per-observer dog taxon challenge. Incidental background insects remain possible; no sample used for fitting or threshold selection.",
23
+ "label_hierarchy": {
24
+ "cicada": "insect_present",
25
+ "orthoptera": "insect_present"
26
+ },
27
+ "mode": "negative",
28
+ "primary_class": "insect_present",
29
+ "primary_gated_rate": 0.4230769230769231,
30
+ "raw_head_crossings": {
31
+ "cicada": {
32
+ "rate": 0.2692307692307692,
33
+ "score_quantiles": {
34
+ "0.0": 1.11626938980062e-06,
35
+ "0.1": 1.2366616727907712e-05,
36
+ "0.5": 0.0035033912262819444,
37
+ "0.9": 0.8217172902693652,
38
+ "0.99": 0.9805144669993222,
39
+ "1.0": 0.9853718445607461
40
+ },
41
+ "windows": 7
42
+ },
43
+ "insect_present": {
44
+ "rate": 0.4230769230769231,
45
+ "score_quantiles": {
46
+ "0.0": 0.0005045055336592435,
47
+ "0.1": 0.008965405095045804,
48
+ "0.5": 0.18808239351098216,
49
+ "0.9": 0.9547471711893459,
50
+ "0.99": 0.9772469234423136,
51
+ "1.0": 0.9793810908348848
52
+ },
53
+ "windows": 11
54
+ },
55
+ "orthoptera": {
56
+ "rate": 0.15384615384615385,
57
+ "score_quantiles": {
58
+ "0.0": 3.74585039109168e-06,
59
+ "0.1": 0.00016565902871588803,
60
+ "0.5": 0.07315098045618916,
61
+ "0.9": 0.8492702902344427,
62
+ "0.99": 0.9838834907452618,
63
+ "1.0": 0.9987072924168664
64
+ },
65
+ "windows": 4
66
+ }
67
+ },
68
+ "samples": 26,
69
+ "schema_version": 1,
70
+ "thresholds_locked_before_challenge": {
71
+ "cicada": 0.08,
72
+ "insect_present": 0.25,
73
+ "orthoptera": 0.74
74
+ }
75
+ }
insectnet-research-0.2.0-perch2.joblib ADDED
@@ -0,0 +1,3 @@
 
 
 
 
1
+ version https://git-lfs.github.com/spec/v1
2
+ oid sha256:27bf603a6dec2df2789b3bf9241f5e035ccdea5909c4ecf252623ff9304afe32
3
+ size 73448
private_local_frog_activation_report.json ADDED
@@ -0,0 +1,75 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "artifact": "insectnet-research-0.2.0-perch2.joblib",
3
+ "artifact_sha256": "27bf603a6dec2df2789b3bf9241f5e035ccdea5909c4ecf252623ff9304afe32",
4
+ "challenge": "private-local-frog-stationary-mic",
5
+ "challenge_windows_sha256": "d1b4e4fa00c66668802909c04152b87d370e7632b823356f19068b6df428e3a7",
6
+ "embeddings_sha256": "b3a445fed48b81338a98ebd7d1df4be1f38fc49c2457e466afa9c2a93d9217a2",
7
+ "groups": 436,
8
+ "hierarchy_gated_outputs": {
9
+ "cicada": {
10
+ "rate": 0.05198776758409786,
11
+ "windows": 68
12
+ },
13
+ "insect_present": {
14
+ "rate": 0.922782874617737,
15
+ "windows": 1207
16
+ },
17
+ "orthoptera": {
18
+ "rate": 0.6269113149847095,
19
+ "windows": 820
20
+ }
21
+ },
22
+ "interpretation": "Reviewed for frog presence, not insect absence. Local activation/confound rate only; private paths and audio excluded from public artifacts.",
23
+ "label_hierarchy": {
24
+ "cicada": "insect_present",
25
+ "orthoptera": "insect_present"
26
+ },
27
+ "mode": "activation",
28
+ "primary_class": "insect_present",
29
+ "primary_gated_rate": 0.922782874617737,
30
+ "raw_head_crossings": {
31
+ "cicada": {
32
+ "rate": 0.06039755351681957,
33
+ "score_quantiles": {
34
+ "0.0": 8.761091104638058e-06,
35
+ "0.1": 0.005041635348734761,
36
+ "0.5": 0.01655852762032007,
37
+ "0.9": 0.05648319572218107,
38
+ "0.99": 0.4103528015770684,
39
+ "1.0": 0.876162298438893
40
+ },
41
+ "windows": 79
42
+ },
43
+ "insect_present": {
44
+ "rate": 0.922782874617737,
45
+ "score_quantiles": {
46
+ "0.0": 7.912314735698998e-07,
47
+ "0.1": 0.31431596425699465,
48
+ "0.5": 0.7404876752060058,
49
+ "0.9": 0.9217194442051225,
50
+ "0.99": 0.9744074067196331,
51
+ "1.0": 0.9994559982904517
52
+ },
53
+ "windows": 1207
54
+ },
55
+ "orthoptera": {
56
+ "rate": 0.6284403669724771,
57
+ "score_quantiles": {
58
+ "0.0": 7.657545870985462e-06,
59
+ "0.1": 0.25935502814683503,
60
+ "0.5": 0.8084400658198851,
61
+ "0.9": 0.9302060014648005,
62
+ "0.99": 0.9727938447050919,
63
+ "1.0": 0.9881314010318611
64
+ },
65
+ "windows": 822
66
+ }
67
+ },
68
+ "samples": 1308,
69
+ "schema_version": 1,
70
+ "thresholds_locked_before_challenge": {
71
+ "cicada": 0.08,
72
+ "insect_present": 0.25,
73
+ "orthoptera": 0.74
74
+ }
75
+ }
provenance/esc50-source.json ADDED
@@ -0,0 +1,20 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "archive": "ESC-50-master.zip",
3
+ "archive_bytes": 645695005,
4
+ "archive_sha256": "805afc618aff80eff0641d51311647871fead5807da68bb18e43a27db47a79ce",
5
+ "group_policy": "original Freesound src_file; overrides official folds because source IDs cross them",
6
+ "license_spdx": "CC-BY-NC-3.0",
7
+ "metadata_sha256": "ca660da60191a97de289983a05821c9382d852a38a2ba8428980816b68cf6246",
8
+ "model_role": "esc50-insectnet",
9
+ "official_fold_audit": {
10
+ "sources_crossing_folds": 4
11
+ },
12
+ "repository_revision_observed": "33c8ce9eb2cf0b1c2f8bcf322eb349b6be34dbb6",
13
+ "retrieved_at": "2026-07-15T14:17:59-04:00",
14
+ "rights_lane": "research_noncommercial",
15
+ "schema_version": 1,
16
+ "source_id": "esc50-master",
17
+ "source_url": "https://github.com/karolpiczak/ESC-50",
18
+ "split_policy": "deterministic SHA-256 split by original Freesound src_file: 70/15/15",
19
+ "title": "ESC-50"
20
+ }
provenance/esc50-summary.json ADDED
@@ -0,0 +1,67 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "categories": {
3
+ "airplane": 40,
4
+ "breathing": 40,
5
+ "brushing_teeth": 40,
6
+ "can_opening": 40,
7
+ "car_horn": 40,
8
+ "cat": 40,
9
+ "chainsaw": 40,
10
+ "chirping_birds": 40,
11
+ "church_bells": 40,
12
+ "clapping": 40,
13
+ "clock_alarm": 40,
14
+ "clock_tick": 40,
15
+ "coughing": 40,
16
+ "cow": 40,
17
+ "crackling_fire": 40,
18
+ "crickets": 40,
19
+ "crow": 40,
20
+ "crying_baby": 40,
21
+ "dog": 40,
22
+ "door_wood_creaks": 40,
23
+ "door_wood_knock": 40,
24
+ "drinking_sipping": 40,
25
+ "engine": 40,
26
+ "fireworks": 40,
27
+ "footsteps": 40,
28
+ "frog": 40,
29
+ "glass_breaking": 40,
30
+ "hand_saw": 40,
31
+ "helicopter": 40,
32
+ "hen": 40,
33
+ "keyboard_typing": 40,
34
+ "laughing": 40,
35
+ "mouse_click": 40,
36
+ "pig": 40,
37
+ "pouring_water": 40,
38
+ "rain": 40,
39
+ "rooster": 40,
40
+ "sea_waves": 40,
41
+ "sheep": 40,
42
+ "siren": 40,
43
+ "sneezing": 40,
44
+ "snoring": 40,
45
+ "thunderstorm": 40,
46
+ "toilet_flush": 40,
47
+ "train": 40,
48
+ "vacuum_cleaner": 40,
49
+ "washing_machine": 40,
50
+ "water_drops": 40,
51
+ "wind": 40
52
+ },
53
+ "exclusions": 40,
54
+ "exclusions_manifest_sha256": "41e363c8896dcbabe29aeb7b88da33cf7f9c582ae21df8e300d13868a801d96e",
55
+ "labels": {},
56
+ "model_role": "esc50-insectnet",
57
+ "partitions": {
58
+ "test": 281,
59
+ "train": 1409,
60
+ "validation": 270
61
+ },
62
+ "recordings": 1960,
63
+ "recordings_manifest_sha256": "67dc4146b79a086a73aac871ade5106e5f38a6479a70a0ce9b50dc7839f61251",
64
+ "source_id": "esc50-master",
65
+ "windows": 1960,
66
+ "windows_manifest_sha256": "a1a54b769a32200068cb1a58f30878a85fdd9469d61bf64b87f1486659718972"
67
+ }
provenance/inat-cat-negatives-summary.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "partition_policy": "deterministic SHA-256 by existing group_id: 70/15/15",
3
+ "partitions": {
4
+ "test": 5,
5
+ "train": 18,
6
+ "validation": 3
7
+ },
8
+ "reason": "Domestic Cat taxon sound; no insect target annotation, incidental background insects remain possible",
9
+ "rights_lanes": {
10
+ "core_releasable": 26
11
+ },
12
+ "role": "insectnet_hard_negative",
13
+ "schema_version": 1,
14
+ "source_windows_manifest": "windows.jsonl",
15
+ "source_windows_manifest_sha256": "eda23f0c149ceaadc7aa6fbe58afda4cef7c76b2c6dd53b800a7daefb4def893",
16
+ "windows": 26,
17
+ "windows_manifest_sha256": "c528838b4dcece9b564472e4eb9a76b7e75943d957cb9768b01af61a1c475179"
18
+ }
provenance/inat-chicken-negatives-summary.json ADDED
@@ -0,0 +1,18 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "partition_policy": "deterministic SHA-256 by existing group_id: 70/15/15",
3
+ "partitions": {
4
+ "test": 2,
5
+ "train": 29,
6
+ "validation": 11
7
+ },
8
+ "reason": "Domestic Chicken taxon sound; no insect target annotation, incidental background insects remain possible",
9
+ "rights_lanes": {
10
+ "core_releasable": 42
11
+ },
12
+ "role": "insectnet_hard_negative",
13
+ "schema_version": 1,
14
+ "source_windows_manifest": "windows.jsonl",
15
+ "source_windows_manifest_sha256": "7011c1f5e73f6c7771eff9ee62b04359f2cb61714c92c51e3cdc37364718d075",
16
+ "windows": 42,
17
+ "windows_manifest_sha256": "9ba2063ef48f77da16c280182a68b2701676c316c1a2e43c35786dcfd44dd39d"
18
+ }
provenance/inat-dog-challenge-summary.json ADDED
@@ -0,0 +1,14 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "exclusions_manifest_sha256": "c1c0b9e36932c1cc23e1cc159c237916059a40b49d24846815bd2a0df660d681",
3
+ "licenses": {
4
+ "CC-BY-4.0": 20,
5
+ "CC0-1.0": 6
6
+ },
7
+ "observers": 26,
8
+ "recordings": 26,
9
+ "recordings_manifest_sha256": "e8bd278e46089e190a6de86c952ee3961fb16e2edc1ebcc57e89d5850f575fdf",
10
+ "schema_version": 1,
11
+ "source_id": "inaturalist-domestic-dog-2026-07-15",
12
+ "windows": 26,
13
+ "windows_manifest_sha256": "a99b6cd822dac4102f7d27af400c001e768dfc75e05866c4cffe3c3249793250"
14
+ }
provenance/insectset459-source.json ADDED
@@ -0,0 +1,28 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "accepted_licenses": [
3
+ "CC-BY-4.0",
4
+ "CC0-1.0"
5
+ ],
6
+ "annotation": {
7
+ "bytes": 6860191,
8
+ "filename": "InsectSet459_Train_Val_Test_Annotation.csv",
9
+ "sha256": "8fb04756ac82f0a467f7303f8071ab4b14d573952cbe5cb30669c084be02850a",
10
+ "upstream_checksum": "md5:f3cb378e2c3b8ba5704f37ee0bb6d8a6"
11
+ },
12
+ "notes": [
13
+ "HF conversion exposes train and validation only; original test archive is absent.",
14
+ "Partitions are reassigned deterministically by contributor to prevent contributor leakage.",
15
+ "One centered five-second weak-label window is derived per retained recording.",
16
+ "The source supports Cicadidae versus Orthoptera; no unsupported suborder label is inferred."
17
+ ],
18
+ "repository": "https://huggingface.co/datasets/academic-datasets/InsectSet459",
19
+ "repository_revision": "11b209dd8754ee45128c258e5337b69f2acaafbd",
20
+ "retrieved_at": "2026-07-15T14:48:56-04:00",
21
+ "rights_lane": "core_releasable",
22
+ "schema_version": 1,
23
+ "source_id": "insectset459-v1.1-hf-11b209d",
24
+ "taxonomy_authority": "GBIF Species API v1",
25
+ "taxonomy_manifest_sha256": "f90aea77a7d5a151f953456b84a469634544fefb8bc8a93178dce5f2900af23f",
26
+ "title": "InsectSet459 v1.1 permissive subset",
27
+ "version_doi": "10.5281/zenodo.18554693"
28
+ }
provenance/insectset459-summary.json ADDED
@@ -0,0 +1,29 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "complete_permissive_train_validation_observation_set": true,
3
+ "completion_method": "HF Parquet permissive rows plus direct original URLs from frozen annotation manifest",
4
+ "direct_failures": 0,
5
+ "downloads_manifest_sha256": "817ed41590c80799cf99fc24960e686c77f80681b50006e8cbfe2b5c7f518fb4",
6
+ "exclusions_manifest_sha256": "844415b4f7f460fc3468a32ad03271c1490667c061dfd797676ad185fbe62dd5",
7
+ "labels": {
8
+ "cicada": 1009,
9
+ "insect_present": 2096,
10
+ "orthoptera": 1087
11
+ },
12
+ "licenses": {
13
+ "CC-BY-4.0": 1727,
14
+ "CC0-1.0": 369
15
+ },
16
+ "partitions": {
17
+ "test": 236,
18
+ "train": 1441,
19
+ "validation": 419
20
+ },
21
+ "recordings": 2096,
22
+ "recordings_manifest_sha256": "09e5f5b205b772e4862a39e663676a0964c832f2e5ea23e3333283d7f80ff2be",
23
+ "repository_revision": "11b209dd8754ee45128c258e5337b69f2acaafbd",
24
+ "schema_version": 1,
25
+ "source_id": "insectset459-v1.1-hf-11b209d",
26
+ "unique_expected_observations": 2096,
27
+ "windows": 2096,
28
+ "windows_manifest_sha256": "b4033e48f0f8a96284fd0e196f3effced7dd449b22b1b73ffd871db5faad3107"
29
+ }
provenance/ross308-negatives-summary.json ADDED
@@ -0,0 +1,17 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "partitions": {
3
+ "test": 74,
4
+ "train": 150,
5
+ "validation": 93
6
+ },
7
+ "reason": "Controlled chicken vocalization and animal-free poultry ambient audio; no insect target annotations",
8
+ "rights_lanes": {
9
+ "core_releasable": 317
10
+ },
11
+ "role": "insectnet_hard_negative",
12
+ "schema_version": 1,
13
+ "source_windows_manifest": "windows.jsonl",
14
+ "source_windows_manifest_sha256": "cf1b81acbdb1c4d4f9ff4a1d9ef62203a68c4a8f94079d5dd005abd036e0968b",
15
+ "windows": 317,
16
+ "windows_manifest_sha256": "5690fcb557d3ab32a1d0f5ae6f975380fa0e214040efb3de6ec32aa2885878e7"
17
+ }
training_summary.json ADDED
@@ -0,0 +1,184 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ {
2
+ "artifact": "insectnet-research-0.2.0-perch2.joblib",
3
+ "artifact_bytes": 73448,
4
+ "artifact_sha256": "27bf603a6dec2df2789b3bf9241f5e035ccdea5909c4ecf252623ff9304afe32",
5
+ "classes": [
6
+ "insect_present",
7
+ "cicada",
8
+ "orthoptera"
9
+ ],
10
+ "counts": {
11
+ "label": {
12
+ "cicada": 1009,
13
+ "insect_present": 2096,
14
+ "orthoptera": 1087
15
+ },
16
+ "partition": {
17
+ "test": 598,
18
+ "train": 3047,
19
+ "validation": 796
20
+ },
21
+ "rights_lane": {
22
+ "core_releasable": 2481,
23
+ "research_noncommercial": 1960
24
+ },
25
+ "source": {
26
+ "esc50": 1960,
27
+ "inat-cat-negatives": 26,
28
+ "inat-chicken-negatives": 42,
29
+ "insectset459": 2096,
30
+ "ross308-negatives": 317
31
+ }
32
+ },
33
+ "created_at": "2026-07-15T15:27:01-04:00",
34
+ "dataset_hash": "d59cde46a933b85c1cd46f944c6df5c9c6a7587efe7c354b5cbe22b2d0698240",
35
+ "datasets": [
36
+ {
37
+ "embeddings_sha256": "bd5edc073a0e4a3e3f6be6a0a0fcbbc31b2f4abb6bbc856bf15ef058bb003fe1",
38
+ "name": "insectset459",
39
+ "samples": 2096,
40
+ "window_ids_sha256": "cf7af0cc15b6cd583df351f1adec22c297e90f6e0682adf738ebad81370dafc8",
41
+ "windows_manifest_sha256": "b4033e48f0f8a96284fd0e196f3effced7dd449b22b1b73ffd871db5faad3107"
42
+ },
43
+ {
44
+ "embeddings_sha256": "7be1d502f42ab283e81159a7474be2dda35dd1fdea2b8aa1279c327c646daa19",
45
+ "name": "esc50",
46
+ "samples": 1960,
47
+ "window_ids_sha256": "0d88b82bb3650b6db501916e3ef573b56b23a36378dade40f8eb00b75fb06e0b",
48
+ "windows_manifest_sha256": "a1a54b769a32200068cb1a58f30878a85fdd9469d61bf64b87f1486659718972"
49
+ },
50
+ {
51
+ "embeddings_sha256": "7566340a0a5a5803a5ed3ff1694f9f32f951140ecf468fa3d550ecf978115b31",
52
+ "name": "ross308-negatives",
53
+ "samples": 317,
54
+ "window_ids_sha256": "d48fedcd61fa83b3178dc67fddad1b2636a8629c9d07d37e68ff7662a096f3a2",
55
+ "windows_manifest_sha256": "5690fcb557d3ab32a1d0f5ae6f975380fa0e214040efb3de6ec32aa2885878e7"
56
+ },
57
+ {
58
+ "embeddings_sha256": "807d4b8df8ecd9c7e68bec45213e56d30902879c5283a6092e38df5c270e9332",
59
+ "name": "inat-chicken-negatives",
60
+ "samples": 42,
61
+ "window_ids_sha256": "79e9731f221876920b9c75d9408d28de254f995b7db887778fec5dcacf0d7f3f",
62
+ "windows_manifest_sha256": "9ba2063ef48f77da16c280182a68b2701676c316c1a2e43c35786dcfd44dd39d"
63
+ },
64
+ {
65
+ "embeddings_sha256": "7f8557aa91b0963e61dfdd494fdc46ab3dbdabe20630eaa8bc373fe97c9b9d92",
66
+ "name": "inat-cat-negatives",
67
+ "samples": 26,
68
+ "window_ids_sha256": "48fdb906e50027887702df47f99f2f82576b5a4500abc3e6b5d01ba2605258b3",
69
+ "windows_manifest_sha256": "c528838b4dcece9b564472e4eb9a76b7e75943d957cb9768b01af61a1c475179"
70
+ }
71
+ ],
72
+ "deployment_status": "research_candidate_not_deployed",
73
+ "feature_contract": {
74
+ "backbone": "Google Perch 2 CPU",
75
+ "embedding_dimension": 1536,
76
+ "input": "5 seconds, 32 kHz, mono, float32",
77
+ "perch_model_tree_sha256": "3fb2d54b3e34534f1130052b25737e54bbb5ebfd340ec040d4510772b64c81ff"
78
+ },
79
+ "label_hierarchy": {
80
+ "cicada": "insect_present",
81
+ "orthoptera": "insect_present"
82
+ },
83
+ "linear_svm_audit": {
84
+ "model_family": "linear_svc_audit_only",
85
+ "per_class": {
86
+ "cicada": {
87
+ "test_average_precision": 0.9283098484284981,
88
+ "test_f1": 0.8235294117647058,
89
+ "test_precision": 0.7647058823529411,
90
+ "test_recall": 0.8921568627450981,
91
+ "test_support": 102,
92
+ "threshold": -0.38090459884689665
93
+ },
94
+ "insect_present": {
95
+ "test_average_precision": 0.9829975841704632,
96
+ "test_f1": 0.9409368635437881,
97
+ "test_precision": 0.9058823529411765,
98
+ "test_recall": 0.9788135593220338,
99
+ "test_support": 236,
100
+ "threshold": -0.6137395227034173
101
+ },
102
+ "orthoptera": {
103
+ "test_average_precision": 0.934534765582772,
104
+ "test_f1": 0.8619528619528619,
105
+ "test_precision": 0.7852760736196319,
106
+ "test_recall": 0.9552238805970149,
107
+ "test_support": 134,
108
+ "threshold": -0.18255117485041517
109
+ }
110
+ },
111
+ "score_semantics": "uncalibrated decision score",
112
+ "test_macro_average_precision": 0.9486140660605779,
113
+ "test_macro_f1": 0.8754730457537853
114
+ },
115
+ "metrics": {
116
+ "test": {
117
+ "macro_average_precision": 0.9630870995268097,
118
+ "macro_f1": 0.9099968258186436,
119
+ "per_class": {
120
+ "cicada": {
121
+ "average_precision": 0.9591068466525812,
122
+ "f1": 0.892018779342723,
123
+ "precision": 0.8558558558558559,
124
+ "recall": 0.9313725490196079,
125
+ "support": 102
126
+ },
127
+ "insect_present": {
128
+ "average_precision": 0.9869513110677639,
129
+ "f1": 0.9625,
130
+ "precision": 0.9467213114754098,
131
+ "recall": 0.9788135593220338,
132
+ "support": 236
133
+ },
134
+ "orthoptera": {
135
+ "average_precision": 0.9432031408600843,
136
+ "f1": 0.8754716981132076,
137
+ "precision": 0.8854961832061069,
138
+ "recall": 0.8656716417910447,
139
+ "support": 134
140
+ }
141
+ },
142
+ "samples": 598
143
+ },
144
+ "validation": {
145
+ "macro_average_precision": 0.9619324853585015,
146
+ "macro_f1": 0.9243906454106471,
147
+ "per_class": {
148
+ "cicada": {
149
+ "average_precision": 0.9950197527923852,
150
+ "f1": 0.9683860232945092,
151
+ "precision": 0.9572368421052632,
152
+ "recall": 0.9797979797979798,
153
+ "support": 297
154
+ },
155
+ "insect_present": {
156
+ "average_precision": 0.9947252134454897,
157
+ "f1": 0.974910394265233,
158
+ "precision": 0.9760765550239234,
159
+ "recall": 0.9737470167064439,
160
+ "support": 419
161
+ },
162
+ "orthoptera": {
163
+ "average_precision": 0.8960524898376294,
164
+ "f1": 0.8298755186721992,
165
+ "precision": 0.8403361344537815,
166
+ "recall": 0.819672131147541,
167
+ "support": 122
168
+ }
169
+ },
170
+ "samples": 796
171
+ }
172
+ },
173
+ "model_name": "insectnet-research",
174
+ "random_state": 42,
175
+ "samples": 4441,
176
+ "schema_version": 1,
177
+ "thresholds": {
178
+ "cicada": 0.08,
179
+ "insect_present": 0.25,
180
+ "orthoptera": 0.74
181
+ },
182
+ "training_manifest_sha256": "8e616f93a08c2e4634187423269a1256bd0387b6bac1afbed9125002fa6672e0",
183
+ "version": "0.2.0-perch2"
184
+ }