Perch v2 Models (full + regional catalog)

Google's Perch v2 bioacoustic classifier in three deployment variants, plus a catalog of region-specific slices that are smaller and faster while staying numerically identical (bit-exact) to the full model on the species they keep.

Origin and attribution

  • Perch v2 by Google Research (bird-vocalization-classifier): EfficientNet-B3, ~12M embedding + ~91M classification params, ~15,000 species.
  • ONNX conversion and the DFT-to-MatMul (no_dft) optimization by justinchuby.
  • Labels from cgeorgiaw/Perch (iNaturalist taxonomy).
  • Regional slicing uses the BirdNET Geomodel v3.0 range filter (birdnet-team/geomodel) to pick each region's species.

Variants and hardware

filename token precision best for
_fp32 FP32, with DFT GPU (CUDA/TensorRT), Intel CPU
_no_dft_fp32 FP32, DFT removed OpenVINO (RPi5 fast path); also runs on ORT/CUDA
_int8_arm partial INT8 (MatMul-only) ARM CPU / Raspberry Pi, low RAM

Full model

file MB
full/perch_v2_fp32.onnx 409
full/perch_v2_no_dft_fp32.onnx 413
full/perch_v2_int8_arm.onnx 131
full/perch_v2_labels.txt 14,795 classes

Why regional models

These slices are built for real-time detection on resource-constrained devices, phones, Raspberry Pi and other single-board computers, where running the full 14,795-class Perch v2 continuously is costly in both RAM and CPU. Most of that cost goes to recognising species that cannot occur at the listener's location. Restricting the model to a region's species shrinks the memory footprint and the per-inference compute (the classifier head is ~88% of the model), so an always-on detector keeps up with the live audio stream and leaves headroom for the rest of the application, on hardware where the full model would struggle. Each tile stays bit-exact to the full model on the species it keeps; the only change is that out-of-region species are not emitted, which at a fixed monitoring location is exactly what you want.

Regional catalog

Each tile: BirdNET Geomodel v3.0 range filter (top ~800 species for temperate regions, ~1200 for bird-rich tropical/subtropical ones, up to ~3500 for the hyper-diverse Neotropics) + 198 FSD50K sound events + a 27-species cosmopolitan core. Ships _no_dft_fp32 (OpenVINO/GPU) and _int8_arm (ARM) + labels + indices. All bit-exact vs the full model on the species they keep.

Each tile folder also has coverage.png (a map of the region it covers) and metadata.json (species count, covered countries, and the continental group it belongs to).

Tiles are organised by continent below. regional/groups.json lists the same grouping (ordered continents -> tiles) in one file, and each tile's metadata.json carries its group / group_display / group_order, so an application can rebuild these sections without scraping this table.

Europe

region coverage classes fp32 MB int8-arm MB
nordic 638 65.0 44.5
british-isles 776 68.4 45.4
central-europe 873 70.8 46.0
baltics 655 65.4 44.6
iberia 856 70.4 45.9
southern-europe 839 70.0 45.8
eastern-europe 739 67.5 45.2
iceland 591 63.9 44.3
svalbard 480 61.1 43.6
canary-islands 598 64.0 44.3
madeira 459 60.6 43.4
azores 426 59.8 43.2

Asia

region coverage classes fp32 MB int8-arm MB
south-asia-peninsular 879 70.9 46.0
indo-gangetic 1406 83.9 49.3
himalaya 1407 83.9 49.3
japan 799 69.0 45.5
china-northeast 877 70.9 46.0
china-north-central 976 73.3 46.6
china-southeast 1373 83.1 49.1
china-southwest 1409 84.0 49.3
tibet 1407 83.9 49.3

North America

region coverage classes fp32 MB int8-arm MB
north-america-east 999 73.9 46.8
north-america-west 1002 74.0 46.8

South America

region coverage classes fp32 MB int8-arm MB
amazonia 3388 132.7 61.5
andes 3535 136.3 62.4
eastern-brazil 2184 103.0 54.1
southern-cone 1855 95.0 52.0
galapagos 336 57.6 42.7

Africa

region coverage classes fp32 MB int8-arm MB
southern-africa 1002 74.0 46.8
reunion 274 56.1 42.3
mauritius 272 56.0 42.3
seychelles 318 57.2 42.6
cape-verde 346 57.8 42.7
sao-tome-principe 324 57.3 42.6

Oceania

region coverage classes fp32 MB int8-arm MB
australia-east 946 72.6 46.4
new-zealand 486 61.3 43.6
hawaii 478 61.1 43.6
new-caledonia 377 58.6 42.9

Usage

Each model takes 5 s of 32 kHz mono audio ([1, 160000]) and outputs a label vector of logits over its species list; pair it with the sibling *_labels.txt (line count matches the logit count). Pick a variant by hardware (table above). Confidence is a softmax over the model's own classes, so a regional tile normalizes over fewer species than the full model; recalibrate detection thresholds per model.

Provenance

Regional slices are gathered from the ProtoPNet head of perch_v2_no_dft.onnx and validated bit-exact against the full model on the species they keep. Perch v2 is by Google; see the license above.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for tphakala/Perch-v2-Models

Base model

cgeorgiaw/Perch
Quantized
(3)
this model