Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 8 additions & 7 deletions docs/bioacoustics.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
title: "MegaDetector-Acoustic: Bioacoustic Species Identification"
description: "MegaDetector-Acoustic: open-source bioacoustic AI for wildlife monitoring. Audio classification, bird detection, and species identification from passive acoustic recordings."
tags:
- MegaDetector-Acoustic
Expand All @@ -15,27 +16,27 @@ tags:
## What's included

- **CLI scripts** for dataset preparation (`prepare_dataset.py`), training (`train.py`), and inference (`inference.py`)
- **`ResNetClassifier`** PyTorch Lightning module for spectrogram classification (binary and multiclass)
- **`ResNetClassifier`**: PyTorch Lightning module for spectrogram classification (binary and multiclass)
- **Mel-spectrogram preprocessing** with optional GPU acceleration
- **Annotation readers** (COCO-like JSON), including support for the PteroSet / Raven Pro format
- **`MD_AudioBirds_V1`** a pre-trained bird classifier distributed as ONNX for direct inference
- **`MD_AudioBirds_V1`**: a pre-trained bird classifier distributed as ONNX for direct inference

See the [MegaDetector-Acoustic model zoo](model_zoo/bioacoustics.md) for the released models.

## Demo

The end-to-end notebook at [microsoft/MegaDetector-Acoustic](https://github.com/microsoft/MegaDetector-Acoustic) walks through:

1. **Data exploration** annotation counts, species distribution
2. **Inference** run `MD_AudioBirds_V1` on real recordings, visualise predictions vs. ground truth
3. **Training** build COCO-style annotations, binary classification (target vs. noise), multiclass classification
1. **Data exploration**: annotation counts, species distribution
2. **Inference**: run `MD_AudioBirds_V1` on real recordings, visualise predictions vs. ground truth
3. **Training**: build COCO-style annotations, binary classification (target vs. noise), multiclass classification

It uses recordings from the [PteroSet](https://zenodo.org/records/19137071) dataset.

## Projects using this module

- **[PteroSet](https://github.com/microsoft/PteroSet)** Machine-learning pipeline for detecting and classifying tropical bird vocalisations from passive acoustic monitoring, with leave-one-project-out cross-validation.
- **[CookInlet_Belugas](https://github.com/microsoft/CookInlet_Belugas)** Passive acoustic monitoring for endangered Cook Inlet beluga whales. A two-stage pipeline covering cetacean signal detection and multi-species classification (beluga, humpback, killer whale), plus an active-learning loop for domain adaptation.
- **[PteroSet](https://github.com/microsoft/PteroSet)**: Machine-learning pipeline for detecting and classifying tropical bird vocalisations from passive acoustic monitoring, with leave-one-project-out cross-validation.
- **[CookInlet_Belugas](https://github.com/microsoft/CookInlet_Belugas)**: Passive acoustic monitoring for endangered Cook Inlet beluga whales. A two-stage pipeline covering cetacean signal detection and multi-species classification (beluga, humpback, killer whale), plus an active-learning loop for domain adaptation.

## Install

Expand Down
1 change: 1 addition & 0 deletions docs/build_mkdocs.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
title: "Build the PyTorch-Wildlife Documentation Site"
description: "How to build and deploy the PyTorch-Wildlife MkDocs documentation site locally and to GitHub Pages."
tags:
- PyTorch-Wildlife
Expand Down
1 change: 1 addition & 0 deletions docs/cite.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
title: "Cite PyTorch-Wildlife and MegaDetector"
description: "Cite PyTorch-Wildlife and MegaDetector in your research. BibTeX entries for Hernandez et al. 2024 (PyTorch-Wildlife) and Beery et al. 2019 (MegaDetector)."
tags:
- cite PyTorch-Wildlife
Expand Down
3 changes: 2 additions & 1 deletion docs/contribute.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
title: "Contributing to PyTorch-Wildlife"
description: "Contribute to PyTorch-Wildlife: guidelines for submitting issues, pull requests, and new models to the Microsoft Biodiversity open-source conservation AI platform."
tags:
- contribute PyTorch-Wildlife
Expand All @@ -19,7 +20,7 @@ Thanks for your interest in collaborating on PyTorch-Wildlife! Here you can find
4. 🤝 Once we get your comments, we’ll move the issue to **“In progress”** and assign you as the collaborator.
5. 🛠 Work on it at your own pace, and when it’s ready, submit a pull request to the **`Collaborations`** branch.
6. 🔍 We’ll review your PR, run tests, and merge it into our **pre‑release** branch ahead of the next version.
7. 🎉 After merging, we’ll mark the issue/task as **“Done”** and credit your contribution in the release notes—thank you!
7. 🎉 After merging, we’ll mark the issue/task as **“Done”** and credit your contribution in the release notes. Thank you!

---

Expand Down
3 changes: 2 additions & 1 deletion docs/contributors.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
description: "PyTorch-Wildlife contributors — the researchers and engineers behind the Microsoft AI for Good Lab biodiversity tools."
title: "PyTorch-Wildlife Contributors"
description: "PyTorch-Wildlife contributors: the researchers and engineers behind the Microsoft AI for Good Lab biodiversity tools."
tags:
- PyTorch-Wildlife
- contributors
Expand Down
1 change: 1 addition & 0 deletions docs/core_features.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
title: "PyTorch-Wildlife Core Features: Detection, Classification, and Model Zoo"
description: "PyTorch-Wildlife core features: unified framework for wildlife AI combining detection models, pre-trained weights, datasets, and utilities for conservation research."
tags:
- PyTorch-Wildlife features
Expand Down
80 changes: 80 additions & 0 deletions docs/ecosystem-standards.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: "Ecosystem Documentation Standards for Microsoft Biodiversity Projects"
description: "The shared documentation standards every Microsoft Biodiversity ecosystem repo follows: site structure, metadata, structured data, cross-linking, and topic ownership."
tags:
- documentation standards
- open source conservation AI
- Microsoft biodiversity AI
---

# Ecosystem Documentation Standards

Every project in the Microsoft Biodiversity ecosystem publishes its documentation the same way, so
the sites read as one family and each ranks as the canonical source for its own topic. This page is
the reference for bringing a new repo up to that standard, distilled from the work on
[MegaDetector](https://microsoft.github.io/MegaDetector/), which sets the pattern.

## Site structure

Each repo ships a MkDocs Material site under `docs/`, deployed to
`https://microsoft.github.io/<Repo>/`. Use a single `<h1>` per page that matches the page title,
keep a clear navigation tree, and give every concept its own page rather than one long README. A
docs homepage leads with the value proposition in the first sentence, then links out to the
detailed pages.

## Page metadata

Every content page carries front matter:

- a `title` that is unique and leads with the page's primary topic,
- a `description` of roughly 110 to 160 characters that reads as a search snippet,
- a `tags` list scoped to that page's topic.

`mkdocs.yml` sets `site_url` and a keyword-rich `site_description`. Descriptions stay distinct from
one repo to the next so previews and snippets do not blur together.

## Structured data and social cards

A theme override (`overrides/main.html`) injects JSON-LD, gated per page so each block only appears
where it belongs. A homepage carries a connected graph: a `WebSite` node, the project as
`SoftwareSourceCode` (the hub uses `CollectionPage` plus an `ItemList` of the projects), and the Lab
as the publishing `Organization`, cross-linked by `@id`. Add `sameAs` links to the GitHub repo and
any package, paper, or model page so search engines can resolve the project as one entity. Interior
pages carry a `BreadcrumbList`, and pages with a FAQ carry a `FAQPage`. Every page also emits Open
Graph and Twitter Card tags with an absolute share image.

## Build and freshness

The site uses the `callouts` plugin so GitHub-style admonitions render in both the README and the
docs, and `git-revision-date-localized` to show a real last-updated date. The deploy workflow checks
out full history (`fetch-depth: 0`) so those dates are accurate. A self-hosted favicon and logo live
in `docs/assets/` rather than loading from an external host.

## Cross-linking and topic ownership

The hub and the projects link to each other so the ecosystem reads as a connected graph rather than
separate sites:

- The hub links out to every project with a topic-specific anchor.
- Each project links back to the hub with an umbrella anchor.
- Each project carries a short "related projects" section, with one sentence on how each neighbor
differs, rather than an identical block of links on every page.

Topic ownership keeps the projects from competing with each other. The hub owns the umbrella terms
for Microsoft biodiversity AI and open-source conservation AI. Each project owns its own area:

| Project | Owns |
|---|---|
| [MegaDetector](https://microsoft.github.io/MegaDetector/) | camera-trap image detection and blank-frame filtering |
| MegaDetector-Acoustic (documentation coming soon) | terrestrial bioacoustic classification and species identification from sound |
| [SPARROW](https://microsoft.github.io/SPARROW/) | solar-powered edge hardware, field deployment, and remote connectivity |
| [PyTorch-Wildlife](https://microsoft.github.io/Pytorch-Wildlife/) | the deep learning framework, model zoo, training, and inference |

When one project's page mentions a topic another project owns, it links to that owner rather than
trying to rank for the term itself.

## Writing

Documentation is written to be read by people. Keep prose specific and sourced to the repository,
vary sentence structure, and avoid filler. New pages add real material rather than restating the
README. Claims about accuracy, scale, or performance point to a source or are softened.
91 changes: 91 additions & 0 deletions docs/ecosystem.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,91 @@
---
title: "The Microsoft Biodiversity Ecosystem: Open-Source Conservation AI Projects"
description: "A guide to the Microsoft AI for Good Lab biodiversity ecosystem: which open-source conservation AI project fits camera traps, audio, field devices, or model development."
tags:
- Microsoft biodiversity AI
- open source conservation AI
- wildlife monitoring AI tools
- AI for Good biodiversity
- conservation AI
---

# The Microsoft Biodiversity Ecosystem

The Microsoft AI for Good Lab maintains a family of open-source projects for biodiversity
monitoring and conservation. Each one owns a distinct part of the workflow, from detecting
animals in imagery to classifying sounds, deploying field hardware, and building custom models.
This page is the directory for the ecosystem and a guide to picking the right starting point.

## Which project should I use?

Start from what you already have or what you are trying to build.

- **I have camera-trap photos and want to find the animals in them.** Use
[MegaDetector](https://microsoft.github.io/MegaDetector/), the detector that locates animals,
people, and vehicles in camera-trap images and clears the empty frames out of your review queue.
- **I have audio recordings and want to identify what is calling.** Use
MegaDetector-Acoustic (documentation coming soon) for terrestrial
bioacoustic classification and species identification from sound.
- **I am deploying a sensor in the field and need it to run on its own power.** Use
[SPARROW](https://microsoft.github.io/SPARROW/), the solar-powered edge device that runs these
models on site and sends results back over remote connectivity.
- **I want to build, train, or integrate conservation models in my own code.** Use
[PyTorch-Wildlife](https://microsoft.github.io/Pytorch-Wildlife/), the deep learning framework
and model zoo that ties the ecosystem together in Python.
- **I want to adapt a species classifier to my own region or dataset.** Use
[MegaDetector-Classifier](https://github.com/microsoft/MegaDetector-Classifier) to fine-tune
classification on top of detections.

## Projects

### Detection

- **[MegaDetector](https://microsoft.github.io/MegaDetector/)** is where the ecosystem started.
It detects animals, people, and vehicles in camera-trap imagery and filters blank frames, which
removes the bulk of manual review on large datasets. See the
[camera-trap image detection documentation](https://microsoft.github.io/MegaDetector/) for run
paths, the model zoo, and output format.
- **[MegaDetector-Overhead](https://github.com/microsoft/MegaDetector-Overhead)** brings detection
to aerial and drone imagery with point-based wildlife localization from overhead views.
- **[MegaDetector-Sonar](https://github.com/microsoft/MegaDetector-Sonar)** extends detection to
sidescan sonar imagery for underwater wildlife surveys.

### Audio

- **MegaDetector-Acoustic (documentation coming soon)** handles the
audio side of monitoring: classifying calls and identifying terrestrial species from sound
recordings, the bioacoustic counterpart to image-based detection.

### Classification

- **[MegaDetector-Classifier](https://github.com/microsoft/MegaDetector-Classifier)** fine-tunes
species classification on top of detections, so you can adapt a model to the species and regions
in your own data.

### Field hardware

- **[SPARROW](https://microsoft.github.io/SPARROW/)**, the Solar-Powered Acoustic and Remote
Recording Observation Watch, is the edge device for remote deployments. It captures imagery and
audio, runs ecosystem models on site, and reports results back over satellite or cellular links.

### Framework

- **[PyTorch-Wildlife](https://microsoft.github.io/Pytorch-Wildlife/)** is the collaborative deep
learning framework and model zoo for conservation AI. It loads detection and classification
models in a few lines of Python and is the integration point for building on top of the ecosystem.

## How the projects fit together

A typical pipeline moves from capture to insight. A field unit such as SPARROW collects imagery
and audio in a remote site. MegaDetector finds the animals in the images and discards empty frames.
MegaDetector-Classifier or a model from the PyTorch-Wildlife zoo names the species in those
detections, while MegaDetector-Acoustic does the same for the audio. PyTorch-Wildlife is the common
framework that runs each model and lets you assemble these steps into your own workflow.

## Get involved

The projects share a home in the [Microsoft Biodiversity organization](https://github.com/microsoft/Biodiversity)
and a community on [Discord](https://discord.gg/TeEVxzaYtm). See the list of teams already using
these tools on the [collaborators page](collaborators.md), and the
[ecosystem documentation standards](ecosystem-standards.md) if you are bringing a new project into
the family.
4 changes: 3 additions & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ tags:
## 👋 Welcome to PyTorch-Wildlife
**PyTorch-Wildlife** is an AI platform designed for the AI for Conservation community to create, modify, and share powerful AI conservation models. It allows users to directly load a variety of models including [MegaDetector](https://github.com/microsoft/MegaDetector), [DeepFaune](https://www.deepfaune.cnrs.fr/en/), and [HerdNet](https://github.com/Alexandre-Delplanque/HerdNet) from our ever expanding [model zoo](model_zoo/megadetector.md) for both animal detection and classification.

Our scope now spans well beyond camera-trap imagery — we have active work in [MegaDetector-Acoustic](bioacoustics.md) for bioacoustic species identification, [MegaDetector-Overhead](model_zoo/other_detectors.md) for aerial wildlife detection, and edge computing for remote field deployments.
Our scope now spans well beyond camera-trap imagery, with active work in [MegaDetector-Acoustic](bioacoustics.md) for bioacoustic species identification, [MegaDetector-Overhead](model_zoo/other_detectors.md) for aerial wildlife detection, and edge computing for remote field deployments.

**New here?** The [Microsoft Biodiversity ecosystem guide](ecosystem.md) walks through every open-source project in the family and helps you pick the right one for camera-trap images, audio, field hardware, or model development. See who is already using these tools on the [collaborators page](collaborators.md).

> **Coming from an older version?** OWL is now **MegaDetector-Overhead**, the bioacoustics module is now **MegaDetector-Acoustic**, and the repo has moved from `microsoft/CameraTraps` to `microsoft/Biodiversity` (old links redirect automatically). See the [full naming changes](releases/release_notes.md#naming-changes) in the v1.3.0 release notes.

Expand Down
1 change: 1 addition & 0 deletions docs/installation.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
title: "Install PyTorch-Wildlife: pip, conda, and Docker Setup"
description: "Install PyTorch-Wildlife for camera trap AI and wildlife detection. Supports conda, pip, and Docker on Windows, macOS, and Linux with optional CUDA GPU acceleration."
tags:
- PyTorch-Wildlife installation
Expand Down
1 change: 1 addition & 0 deletions docs/license.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
title: "PyTorch-Wildlife License"
description: "PyTorch-Wildlife license information: MIT for the core package and utilities. Model-specific licenses (AGPL-3.0, CC BY-SA) are listed in the model zoo."
tags:
- PyTorch-Wildlife license
Expand Down
1 change: 1 addition & 0 deletions docs/megadetector.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
title: "MegaDetector in PyTorch-Wildlife: Camera-Trap Animal Detection"
description: "MegaDetector: AI model for detecting animals, people, and vehicles in camera-trap images. MegaDetectorV5 and MegaDetectorV6 available via PyTorch-Wildlife."
tags:
- MegaDetector
Expand Down
Loading