TheVortexProject's picture
docs: point provenance to distinct model Git repository
4f2c938 verified
|
Raw
History Blame Contribute Delete
7.86 kB
---
license: cc-by-nc-sa-4.0
pipeline_tag: audio-classification
tags:
- audio-classification
- bioacoustics
- perch
- chickens
- poultry
- edge-ai
- research
- non-commercial
---
# ChickenNet Research 0.2.0 β€” Perch 2
A provenance-locked binary `chicken_vocalization_present` specialist head over frozen 1,536-dimensional Google Perch 2 embeddings.
This repository contains only the ChickenNet model family. It shares the frozen Perch 2 feature contract with other field heads and does not use BirdNET logits.
> **Status: public noncommercial research artifact; these exact checked JSON/NPZ bytes are privately deployed as a review-only field head.** A threshold crossing selects audio for human review. It is not a calibrated probability or a confirmed biological observation.
This repository publishes the exact safe runtime bundle currently used by the `chickennet-dev2-field-probe` field head, plus sanitized aggregate provenance and challenge summaries. It contains no source audio, exact training manifest, coordinates, private observation locations, uploader identities, credentials, private paths, or arbitrary Python serialization.
## Release identity
```text
Public release: chickennet-research-0.2.0-perch2
Runtime slug: chickennet-dev2-field-probe
Bundle ID: d81cd5aee82176065f79abe4ae19db69f5c52c0ca4818d43fd981bf7781dcc41
Source artifact SHA-256: d1595cc65a484ea963172dcc3c8d4b20e0fb6fbc0771883b40105b77668d6686
Logical dataset hash: eae3953337fa2014596d5e95f0c63387421366196fed38888a5723da01f33935
Manifest JSONL SHA-256: afe315fcb4f6f8a096ea45a0cc20c6b86256b868b7f5e5589257aec8a228d1d5
```
The source joblib and exact row-level manifest remain in private scientific custody. The public JSON/NPZ bundle contains only the broad deployed head. `release/training-summary.json` publishes aggregate row, group, rights, split, and label-authority counts plus the exact private-manifest hash.
## Inference contract
| Field | Value |
|---|---|
| Input audio to Perch | 5 seconds, 32 kHz, mono |
| Input to ChickenNet | one 1,536-dimensional Perch 2 embedding |
| Output | uncalibrated ranking score for `chicken_vocalization_present` |
| Research evaluation threshold | `0.47` |
| Deployed review-routing threshold | `0.9999` |
| Serialization | checked JSON metadata plus NPZ numeric arrays |
| Perch model-tree SHA-256 | `3fb2d54b3e34534f1130052b25737e54bbb5ebfd340ec040d4510772b64c81ff` |
The Perch weights are not included. This specialist head cannot score raw waveforms by itself.
## Training sources
| Source lane | Rows | Positive | Declared negative | Unknown | Recordings | Groups | Rights lane |
|---|---:|---:|---:|---:|---:|---:|---|
| esc50 | 2,000 | 80 | 1,920 | 0 | 2,000 | 1,524 | `research_noncommercial`: 2000 |
| laying-hen-control-first | 96 | 96 | 0 | 0 | 32 | 4 | `core_releasable`: 96 |
| poultry-health-first | 79 | 54 | 0 | 25 | 30 | 30 | `core_releasable`: 79 |
| ross308 | 317 | 258 | 59 | 0 | 26 | 14 | `core_releasable`: 317 |
| smartears-full | 3,000 | 2,000 | 1,000 | 0 | 3,000 | 65 | `core_releasable`: 3000 |
All source groups and parent recordings remain within one train/validation/test partition. The exact retained training-window audit found no missing or mismatched source windows. Weak and context-derived labels retain their recorded authority; they are not promoted to ecological truth.
## Research-threshold evidence
| Lane | Result |
|---|---|
| Locked iNaturalist weak-positive challenge | 31 / 42 broad-head activations at research threshold `0.47` |
| Locked dog negative challenge | 9 / 26 activations at research threshold `0.47` |
| Generic private frog-domain diagnostic | 23 / 1,308 activations at research threshold `0.47`; this lane is not a reviewed chicken-absence set |
These results were produced by the multi-head source artifact at its research threshold. They do not describe the much stricter deployed event policy.
## Deployed-threshold replay
The retained challenge embeddings were replayed through the exact deployed broad-head bundle at `0.9999`:
| Lane | Activations |
|---|---:|
| iNaturalist weak-positive challenge | 9 / 42 |
| Dog negative challenge | 1 / 26 |
| Generic private frog-domain diagnostic | 1 / 1308 |
This replay is descriptive. The operational threshold was selected after these challenge sets had already been examined, so this is not an untouched threshold-selection experiment or a field accuracy estimate.
## Operational relationship
The private field listener computes one Perch embedding per five-second window and scores InsectNet, ChickenNet, and FrogNet independently. BirdNET remains a separate evidence lane. Model assertions, exact spans, thresholds, and later human decisions are preserved separately.
The raw field archive, review ledger, sensor configuration, and operational repository are intentionally not published.
## Verify the package
```bash
sha256sum --check SHA256SUMS
cd bundle && sha256sum --check SHA256SUMS
```
Load `bundle/weights.npz` only with `allow_pickle=False`. The package does not require joblib or pickle.
## Included files
- `bundle/model.json` β€” exact deployed model metadata and inference contract
- `bundle/weights.npz` β€” exact deployed numeric arrays
- `bundle/SHA256SUMS` β€” deployed bundle-member checksums
- `release/release-manifest.json` β€” identity, rights, and custody boundary
- `release/training-summary.json` β€” sanitized aggregate training membership and split audit
- `release/challenge-summary.json` β€” frozen research-threshold challenge summaries
- `release/deployed-threshold-replay.json` β€” clearly labeled post-selection operational replay
- `SHA256SUMS` β€” complete public payload inventory
## Known limits
- The broad head does not identify individual birds, call meaning, behavior, welfare, health, sex, or age.
- The iNaturalist challenge is taxon-associated weak-positive evidence, not exact-span ground truth for every window.
- The strict field threshold intentionally sacrifices recall to bound review burden.
- No formal prevalence-adjusted field precision or recall estimate exists.
- The trainer run recorded a dirty Git worktree. Exact model bytes, data membership, manifests, embeddings, and retained windows survive, but the named clean commit alone does not reconstruct the historical trainer source state.
- Some source families encode DOI/license/member identity at row level rather than through one standardized source sidecar.
- The field bundle's historical key `training_manifest_hash` contains the canonical logical dataset hash. The separate JSONL byte hash is published in the release manifest and training summary.
## Rights and provenance
The training matrix includes public permissive and noncommercial research lanes. Because ESC-50-derived material contributed to fitting, this artifact is distributed under CC BY-NC-SA 4.0 for noncommercial research and field evaluation, subject to all upstream terms. No upstream audio is redistributed and this release grants no rights to source recordings or Perch weights.
## Source
- Source registry and tests: [https://github.com/vortexpjeff/chickennet](https://github.com/vortexpjeff/chickennet)
- Tagged release tree: [chickennet-research-0.2.0-perch2](https://github.com/vortexpjeff/chickennet/tree/chickennet-research-0.2.0-perch2)
- Older public research ancestor: [TheVortexProject/chickennet-research-0.1.0-perch2](https://huggingface.co/TheVortexProject/chickennet-research-0.1.0-perch2)
## Load the checked deployed bundle
```python
from pathlib import Path
from chickennet.bundle import load_bundle, score_embedding
bundle = load_bundle(Path('bundle'))
raw_score, review_score = score_embedding(bundle, perch2_embedding)
```
The input is one finite 1,536-dimensional Perch 2 embedding. Do not feed BirdNET logits or waveforms directly into this head.