File size: 7,673 Bytes
7db87f4
 
 
dae8ebd
7db87f4
 
 
 
 
 
 
 
dbfc1bd
7db87f4
b435c9b
 
 
7db87f4
dae8ebd
7db87f4
 
 
 
 
 
dae8ebd
 
282d799
dae8ebd
dbfc1bd
dae8ebd
7db87f4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4f95ff8
7db87f4
 
 
 
 
 
 
 
 
 
 
b435c9b
 
7db87f4
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
b435c9b
 
 
 
4f95ff8
 
 
dbfc1bd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
---
license: cc-by-nc-sa-4.0
library_name: scikit-learn
pipeline_tag: audio-classification
tags:
  - audio-classification
  - bioacoustics
  - perch
  - insects
  - research
---

# InsectNet Research 0.2.0

A deterministically built research classifier for broad insect presence, cicadas, and
Orthoptera, fitted on frozen 1,536-dimensional Google Perch 2 embeddings. Exact row-level
training manifests are retained privately rather than redistributed.

> **Status: frozen public research artifact; these exact joblib bytes are not deployed.** The locked
> independent dog challenge produced broad insect activations in 11/26 windows. Do not
> use this model for unattended ecological counts or alerts.

**Artifact SHA-256:** `27bf603a6dec2df2789b3bf9241f5e035ccdea5909c4ecf252623ff9304afe32`  
**Dataset hash:** `d59cde46a933b85c1cd46f944c6df5c9c6a7587efe7c354b5cbe22b2d0698240`

## Current operational relationship

Since July 2026, a later JSON/NPZ successor from the InsectNet research family has operated as a conservative review-only head in the private field site's shared Perch 2 listener. That successor is `insectnet-dev2-field-probe`, bundle ID `ff8d28f5e8d0416eb63e7b958b6b950b69dd89a0baca0089f399b20cbc3c529f`, with field review threshold `0.9995`. Its exact checked bundle is now published as [InsectNet Research 0.3.0](https://huggingface.co/TheVortexProject/insectnet-research-0.3.0-perch2).

The successor is a distinct artifact; it is not this joblib under another name. Its threshold crossings remain unconfirmed model assertions. Deployment does not transfer field-validation claims to this frozen public candidate. See the [living deployment contract](https://github.com/vortexpjeff/insectnet#release-identity).

## Outputs

| Head | Locked threshold | Parent |
|---|---:|---|
| `insect_present` | 0.25 | — |
| `cicada` | 0.08 | `insect_present` |
| `orthoptera` | 0.74 | `insect_present` |

The fitted heads are independent probabilities, not a softmax. The serialized inference
contract suppresses subtype outputs unless `insect_present` also passes.

The source evidence supports Cicadidae versus broad Orthoptera. It does **not** support
inventing cricket/katydid versus grasshopper labels.

## Feature contract

- Backbone: Google Perch 2 CPU release
- Audio input to Perch: five seconds, 32 kHz, mono, float32
- Input to this artifact: one 1,536-dimensional Perch embedding
- Verified Perch model-tree SHA-256: `3fb2d54b3e34534f1130052b25737e54bbb5ebfd340ec040d4510772b64c81ff`
- Perch weights are not included

The official Perch code repository is Apache-2.0. The available Kaggle metadata did not
expose a separate model-weight license during this build, so this card does not extend
the code license to the weights by assumption.

## Training data

| Source | Windows | Role | Rights |
|---|---:|---|---|
| InsectSet459 | 2,096 | insect positives | 1,727 CC BY 4.0; 369 CC0 |
| ESC-50 | 1,960 | environmental negatives; insect class excluded | CC BY-NC 3.0 |
| Ross-308 | 317 | poultry and ventilation hard negatives | CC BY 4.0 |
| iNaturalist Domestic Chicken | 42 | observer-grouped hard negatives | CC BY 4.0 / CC0 |
| iNaturalist Domestic Cat | 26 | observer-grouped hard negatives | CC BY 4.0 / CC0 |
| **Total** | **4,441** | | mixed research lane |

InsectSet459 contains 2,096 unique permissive Train/Validation observations from 334
contributor groups: 1,009 cicada and 1,087 Orthoptera windows. Group IDs, not windows,
were assigned to train, validation, and test.

No source audio is redistributed here.

## Internal grouped evaluation

| Head | Test support | AP | Precision | Recall | F1 |
|---|---:|---:|---:|---:|---:|
| insect present | 236 | 0.987 | 0.947 | 0.979 | 0.963 |
| cicada | 102 | 0.959 | 0.856 | 0.931 | 0.892 |
| Orthoptera | 134 | 0.943 | 0.885 | 0.866 | 0.875 |

Test macro AP: **0.963**. Test macro F1: **0.910**.

These results show that the grouped source partitions are learnable. They do not establish
stationary-microphone field reliability.

## Locked independent dog challenge

The final artifact was scored once on 26 permissively licensed Domestic Dog sounds from
26 observers. These samples were not used for fitting or threshold selection.

| Output | Raw head crossings | Hierarchy-gated outputs |
|---|---:|---:|
| insect present | 11/26 | 11/26 |
| cicada | 7/26 | 5/26 |
| Orthoptera | 4/26 | 2/26 |

Outdoor taxon recordings may contain incidental insects, but a **42.3% broad activation
rate** is too high to treat this model as field-ready.

## Private stationary-microphone activation audit

A private reviewed frog archive supplied 1,308 five-second windows from 436 recordings.
It was reviewed for frog presence, not insect absence, so these are activation rates—not
false-positive rates:

| Output | Hierarchy-gated activations |
|---|---:|
| insect present | 1,207/1,308 — 92.3% |
| cicada | 68/1,308 — 5.2% |
| Orthoptera | 820/1,308 — 62.7% |

Summer frog recordings can contain real insects. Listening review is required before any
of these activations can be called errors. No private paths or audio are included here.

## Use

```python
import joblib
from insectnet_perch2.candidate import active_labels, predict_candidate

package = joblib.load("insectnet-research-0.2.0-perch2.joblib")
embedding = ...  # shape (N, 1536), from the verified Perch 2 feature contract
scores = predict_candidate(package, embedding)
labels = [active_labels(package, row) for row in scores]
```

Do not feed waveforms directly into this artifact.

## What is validated

- Exact retained-private data, window, embedding, and artifact hashes are recorded.
- The private build audit found no contributor/observer/source groups crossing partitions.
- Only CC0, CC BY, and the explicitly noncommercial ESC-50 research lane were used.
- Broad/subtype hierarchy is serialized and tested.
- The model loads and scores finite Perch embeddings.
- Internal grouped metrics and independent challenge failures are both published.

## What is not validated

- local field precision or recall
- unattended field detections
- species-level insect identity
- cricket/katydid versus grasshopper separation
- robustness to frogs, ventilation, rain, distant birds, or recorder changes
- calibrated ecological abundance estimates

## Known failure mode and next research requirement

Frozen linear transfer on this corpus still carries source/domain shortcuts. Adding chicken,
cat, and poultry hard negatives improved known-source rejection but did not generalize to
the untouched dog challenge. The next serious model should use reviewed same-recorder hard
negatives, more diverse iNaturalist non-insect taxa, and likely supervised backbone
fine-tuning or a richer temporal head rather than another threshold-only adjustment.

## Sources

- InsectSet459: `academic-datasets/InsectSet459`, pinned revision documented in provenance
- ESC-50: Piczak, DOI `10.1145/2733373.2806390`
- Ross-308: Díaz de Cerio et al., DOI `10.34810/DATA3437`
- Perch: Ghani et al., *Global birdsong embeddings enable superior transfer learning for bioacoustic classification* (2023)

Source summaries, retained-private manifest hashes, metrics, and challenge reports are
included beside the artifact. The public bundle supports artifact/summary consistency
checks but cannot independently reconstruct every row or split assignment without the
retained private manifests and source audio.

## Git source

This historical Perch 2 artifact belongs to the [InsectNet repository](https://github.com/vortexpjeff/insectnet); it is not part of the legacy BirdNET-logit [InsectNet repository](https://github.com/vortexpjeff/insectnet-legacy).