MegaDetector
Deep learning tools that accelerate the review of motion-triggered wildlife camera images.
https://github.com/microsoft/CameraTraps
Category: Biosphere
Sub Category: Terrestrial Wildlife
Keywords
camera-traps computer-vision conservation machine-learning megadetector pytorch pytorch-wildlife wildlife
Keywords from Contributors
ecology cameratraps aiforearth measurement transformers observability web-map distributed sustainable conversation
Last synced: about 5 hours ago
JSON representation
Repository metadata
PyTorch Wildlife: a Collaborative Deep Learning Framework for Conservation.
- Host: GitHub
- URL: https://github.com/microsoft/CameraTraps
- Owner: microsoft
- License: mit
- Created: 2018-10-11T18:02:42.000Z (over 6 years ago)
- Default Branch: main
- Last Pushed: 2025-05-28T17:33:34.000Z (about 1 month ago)
- Last Synced: 2025-06-22T18:03:51.526Z (5 days ago)
- Topics: camera-traps, computer-vision, conservation, machine-learning, megadetector, pytorch, pytorch-wildlife, wildlife
- Language: Python
- Homepage: https://microsoft.github.io/CameraTraps/
- Size: 486 MB
- Stars: 904
- Watchers: 52
- Forks: 267
- Open Issues: 20
- Releases: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Security: SECURITY.md
README.md
📣 Announcements
V 1.2.3
-
We have fully recreated our documentation page with MKDocs. Please take a look and let us know what you think! (Special thanks to @ss26 for creating the foundation of this documentation page!)
-
We have released new MegaDetector V6 model weights. MDV6-yolov9-e and MDV6-yolov10-e are now retrained at 1280 input resolution to match the original V5 setup. In addition, we have added both compact and extra versions for YOLOv9 MIT and RT-DETR Apache implementations, expanding the range of V6 options for different deployment needs.
-
Our Model Zoo now includes new performance numbers evaluated using pycocotools, enabling easier and more standardized comparisons with MIT and Apache models. All metrics are reported on 1280-sized input images to ensure consistency across versions. While V5 and V6 now deliver comparable performance, V6 models are still significantly smaller. Model weights for all versions, including MIT and Apache variants, are available for download, and we’ll be releasing the inference code for MIT and Apache models soon.
-
To further improve V6 model generalization performance, our next iteration of V6 training will incorporate some new public camera trap datasets from LILA, including Orinoquía Camera Traps and other datasets that have bounding boxes and are currently not in V6's training pool.
Previous versions:
👋 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, DeepFaune, and HerdNet from our ever expanding model zoo for both animal detection and classification. In the future, we will also include models that can be used for applications, including underwater images and bioacoustics. We want to provide a unified and straightforward experience for both practicioners and developers in the AI for conservation field. Your engagement with our work is greatly appreciated, and we eagerly await any feedback you may have.
Explore the codebase, functionalities and user interfaces of Pytorch-Wildlife through our documentation, interactive HuggingFace web app or local demos and notebooks.
🚀 Quick Start
👇 Here is a quick example on how to perform detection and classification on a single image using PyTorch-wildlife
import numpy as np
from PytorchWildlife.models import detection as pw_detection
from PytorchWildlife.models import classification as pw_classification
img = np.random.randn(3, 1280, 1280)
# Detection
detection_model = pw_detection.MegaDetectorV6() # Model weights are automatically downloaded.
detection_result = detection_model.single_image_detection(img)
#Classification
classification_model = pw_classification.AI4GAmazonRainforest() # Model weights are automatically downloaded.
classification_results = classification_model.single_image_classification(img)
More models can be found in our model zoo
⚙️ Install Pytorch-Wildlife
pip install PytorchWildlife
Please refer to our installation guide for more installation information.
📃 Documentation
Please also go to our newly made dofumentation page for more information:
🖼️ Examples
MegaDetector
Image detection using
Credits to Universidad de los Andes, Colombia.
MegaDetector
and AI4GAmazonRainforest
Image classification with
Credits to Universidad de los Andes, Colombia.
MegaDetector
and AI4GOpossum
Opossum ID with
Credits to the Agency for Regulation and Control of Biosecurity and Quarantine for Galápagos (ABG), Ecuador.
🖋️ Cite us!
We have recently published a summary paper on Pytorch-Wildlife. The paper has been accepted as an oral presentation at the CV4Animals workshop at this CVPR 2024. Please feel free to cite us!
@misc{hernandez2024pytorchwildlife,
title={Pytorch-Wildlife: A Collaborative Deep Learning Framework for Conservation},
author={Andres Hernandez and Zhongqi Miao and Luisa Vargas and Sara Beery and Rahul Dodhia and Juan Lavista},
year={2024},
eprint={2405.12930},
archivePrefix={arXiv},
}
Also, don't forget to cite our original paper for MegaDetector:
@misc{beery2019efficient,
title={Efficient Pipeline for Camera Trap Image Review},
author={Sara Beery and Dan Morris and Siyu Yang},
year={2019}
eprint={1907.06772},
archivePrefix={arXiv},
}
🤝 Existing Collaborators and Contributors
The extensive collaborative efforts of Megadetector have genuinely inspired us, and we deeply value its significant contributions to the community. As we continue to advance with Pytorch-Wildlife, our commitment to delivering technical support to our existing partners on MegaDetector remains the same.
Here we list a few of the organizations that have used MegaDetector. We're only listing organizations who have given us permission to refer to them here or have posted publicly about their use of MegaDetector.
We are also building a list of contributors and will release in future updates! Thank you for your efforts!
[!IMPORTANT]
If you would like to be added to this list or have any questions regarding MegaDetector and Pytorch-Wildlife, please email us or join us in our Discord channel:
Citation (https://github.com/microsoft/CameraTraps/blob/main/)
cff-version: 1.2.0 title: Efficient Pipeline for Camera Trap Image Review message: >- If you use this software, please cite it using the metadata from this file. type: software authors: - given-names: Sara family-names: Beery - given-names: Dan family-names: Morris email: [email protected] - given-names: Siyu family-names: Yang identifiers: - type: url value: 'https://arxiv.org/abs/1907.06772' description: 'arXiv preprint, 1907.06772, 2019' repository-code: 'http://github.com/ecologize/CameraTraps' keywords: - Camera traps - Conservation - Computer vision license: MIT
Owner metadata
- Name: Microsoft
- Login: microsoft
- Email: [email protected]
- Kind: organization
- Description: Open source projects and samples from Microsoft
- Website: https://opensource.microsoft.com
- Location: Redmond, WA
- Twitter: OpenAtMicrosoft
- Company:
- Icon url: https://avatars.githubusercontent.com/u/6154722?v=4
- Repositories: 7143
- Last ynced at: 2025-06-27T00:27:08.276Z
- Profile URL: https://github.com/microsoft
GitHub Events
Total
- Create event: 16
- Release event: 3
- Issues event: 43
- Watch event: 126
- Delete event: 14
- Member event: 3
- Issue comment event: 49
- Push event: 135
- Pull request review comment event: 4
- Pull request review event: 16
- Pull request event: 63
- Fork event: 31
Last Year
- Create event: 16
- Release event: 3
- Issues event: 43
- Watch event: 126
- Delete event: 14
- Member event: 3
- Issue comment event: 49
- Push event: 135
- Pull request review comment event: 4
- Pull request review event: 16
- Pull request event: 63
- Fork event: 31
Committers metadata
Last synced: about 2 months ago
Total Commits: 1
Total Committers: 1
Avg Commits per committer: 1.0
Development Distribution Score (DDS): 0.0
Commits in past year: 1
Committers in past year: 1
Avg Commits per committer in past year: 1.0
Development Distribution Score (DDS) in past year: 0.0
Name | Commits | |
---|---|---|
Javier Delgado Barbaro (iMetaverse LLC) | v****l@m****m | 1 |
Committer domains:
Issue and Pull Request metadata
Last synced: 2 days ago
Total issues: 118
Total pull requests: 234
Average time to close issues: about 2 months
Average time to close pull requests: 17 days
Total issue authors: 77
Total pull request authors: 31
Average comments per issue: 2.9
Average comments per pull request: 0.42
Merged pull request: 169
Bot issues: 5
Bot pull requests: 49
Past year issues: 36
Past year pull requests: 47
Past year average time to close issues: about 1 month
Past year average time to close pull requests: 23 days
Past year issue authors: 25
Past year pull request authors: 13
Past year average comments per issue: 1.44
Past year average comments per pull request: 0.26
Past year merged pull request: 36
Past year bot issues: 0
Past year bot pull requests: 4
Top Issue Authors
- microsoft-github-policy-service[bot] (5)
- aweaver1fandm (5)
- JaimyvS (4)
- VLucet (4)
- yodaka0 (3)
- arky (3)
- nathanielrindlaub (3)
- aa-hernandez (3)
- VYRION-Ai (3)
- barlavi1 (3)
- ehallein (2)
- davidwhealey (2)
- rozimurodnorhojaev05 (2)
- dvelasco3 (2)
- AP-DP (2)
Top Pull Request Authors
- zhmiao (82)
- aa-hernandez (47)
- dependabot[bot] (45)
- agentmorris (12)
- microsoft-github-policy-service[bot] (4)
- JoejynWan (4)
- yangsiyu007 (4)
- BenCretois (3)
- chrisyeh96 (3)
- luvargas2 (2)
- brianhogg (2)
- jgoodheart (2)
- ss26 (2)
- VLucet (2)
- persts (2)
Top Issue Labels
- bug (26)
- enhancement (15)
- question (12)
- good first issue (4)
- Waiting for more info (2)
- help wanted (1)
- New Feature (1)
- discussion (1)
Top Pull Request Labels
- dependencies (45)
- python (38)
- .NET (2)
Package metadata
- Total packages: 1
-
Total downloads:
- pypi: 1,168 last-month
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 30
- Total maintainers: 2
pypi.org: pytorchwildlife
a PyTorch Collaborative Deep Learning Framework for Conservation.
- Homepage: https://github.com/microsoft/CameraTraps/
- Documentation: https://pytorchwildlife.readthedocs.io/
- Licenses: MIT
- Latest release: 1.2.3 (published about 1 month ago)
- Last Synced: 2025-06-26T20:05:34.575Z (1 day ago)
- Versions: 30
- Dependent Packages: 0
- Dependent Repositories: 0
- Downloads: 1,168 Last month
-
Rankings:
- Dependent packages count: 9.379%
- Average: 38.75%
- Dependent repos count: 68.121%
- Maintainers (2)
Dependencies
- python 3.8-slim build
- absl-py ==2.1.0
- aiofiles ==23.2.1
- aiohttp ==3.9.3
- aiosignal ==1.3.1
- altair ==5.2.0
- annotated-types ==0.6.0
- anyio ==4.2.0
- asttokens ==2.4.1
- async-timeout ==4.0.3
- attrs ==23.2.0
- backcall ==0.2.0
- cachetools ==5.3.2
- certifi ==2023.11.17
- charset-normalizer ==3.3.2
- click ==8.1.7
- colorama ==0.4.6
- contourpy ==1.1.1
- cycler ==0.12.1
- decorator ==5.1.1
- exceptiongroup ==1.2.0
- executing ==2.0.1
- fastapi ==0.109.0
- ffmpy ==0.3.1
- filelock ==3.13.1
- fire ==0.5.0
- fonttools ==4.47.2
- frozenlist ==1.4.1
- fsspec ==2023.12.2
- google-auth ==2.27.0
- google-auth-oauthlib ==1.0.0
- gradio ==4.8.0
- gradio-client ==0.7.1
- grpcio ==1.60.0
- h11 ==0.14.0
- httpcore ==1.0.2
- httpx ==0.26.0
- huggingface-hub ==0.20.3
- idna ==3.6
- importlib-metadata ==7.0.1
- importlib-resources ==6.1.1
- ipython ==8.12.3
- jedi ==0.19.1
- jinja2 ==3.1.3
- joblib ==1.3.2
- jsonschema ==4.21.1
- jsonschema-specifications ==2023.12.1
- kiwisolver ==1.4.5
- lightning-utilities ==0.10.1
- markdown ==3.5.2
- markdown-it-py ==3.0.0
- markupsafe ==2.1.4
- matplotlib ==3.7.4
- matplotlib-inline ==0.1.6
- mdurl ==0.1.2
- multidict ==6.0.4
- munch ==2.5.0
- numpy ==1.24.4
- oauthlib ==3.2.2
- opencv-python ==4.9.0.80
- opencv-python-headless ==4.9.0.80
- orjson ==3.9.12
- packaging ==23.2
- pandas ==2.0.3
- parso ==0.8.3
- pexpect ==4.9.0
- pickleshare ==0.7.5
- pillow ==10.1.0
- pkgutil-resolve-name ==1.3.10
- prompt-toolkit ==3.0.43
- protobuf ==3.20.1
- psutil ==5.9.8
- ptyprocess ==0.7.0
- pure-eval ==0.2.2
- pyasn1 ==0.5.1
- pyasn1-modules ==0.3.0
- pydantic ==2.6.0
- pydantic-core ==2.16.1
- pydub ==0.25.1
- pygments ==2.17.2
- pyparsing ==3.1.1
- python-dateutil ==2.8.2
- python-multipart ==0.0.6
- pytorch-lightning ==1.9.0
- pytorchwildlife *
- pytz ==2023.4
- pyyaml ==6.0.1
- referencing ==0.33.0
- requests ==2.31.0
- requests-oauthlib ==1.3.1
- rich ==13.7.0
- rpds-py ==0.17.1
- rsa ==4.9
- scikit-learn ==1.2.0
- scipy ==1.10.1
- seaborn ==0.13.2
- semantic-version ==2.10.0
- shellingham ==1.5.4
- six ==1.16.0
- sniffio ==1.3.0
- stack-data ==0.6.3
- starlette ==0.35.1
- supervision ==0.16.0
- tensorboard ==2.14.0
- tensorboard-data-server ==0.7.2
- termcolor ==2.4.0
- thop ==0.1.1
- threadpoolctl ==3.2.0
- tomlkit ==0.12.0
- toolz ==0.12.1
- torch ==1.10.1
- torchaudio ==0.10.1
- torchmetrics ==1.3.0.post0
- torchvision ==0.11.2
- tqdm ==4.66.1
- traitlets ==5.14.1
- typer ==0.9.0
- typing-extensions ==4.9.0
- tzdata ==2023.4
- ultralytics-yolov5 ==0.1.1
- urllib3 ==2.2.0
- uvicorn ==0.27.0.post1
- wcwidth ==0.2.13
- websockets ==11.0.3
- werkzeug ==3.0.1
- yarl ==1.9.4
- zipp ==3.17.0
- PytorchWildlife *
- munch *
- ultralytics *
- wget *
- _libgcc_mutex 0.1
- _openmp_mutex 4.5
- bzip2 1.0.8
- ca-certificates 2023.11.17
- ld_impl_linux-64 2.40
- libffi 3.4.2
- libgcc-ng 13.2.0
- libgomp 13.2.0
- libnsl 2.0.1
- libsqlite 3.44.2
- libuuid 2.38.1
- libxcrypt 4.4.36
- libzlib 1.2.13
- ncurses 6.4
- openssl 3.2.0
- pip 23.3.2
- python 3.8.18
- readline 8.2
- setuptools 69.0.3
- tk 8.6.13
- wheel 0.42.0
- xz 5.2.6
- absl-py ==2.1.0
- aiofiles ==23.2.1
- annotated-types ==0.7.0
- antlr4-python3-runtime ==4.9.3
- anyio ==4.6.0
- appdirs ==1.4.4
- asttokens ==2.4.1
- attrs ==24.2.0
- certifi ==2024.8.30
- cffi ==1.17.1
- chardet ==5.2.0
- charset-normalizer ==3.3.2
- click ==8.1.7
- contourpy ==1.3.0
- crowsetta ==5.1.0
- cycler ==0.12.1
- decorator ==5.1.1
- defusedxml ==0.7.1
- exceptiongroup ==1.2.2
- executing ==2.1.0
- fastapi ==0.115.0
- ffmpy ==0.4.0
- filelock ==3.16.1
- fire ==0.6.0
- fonttools ==4.54.0
- fsspec ==2024.9.0
- gradio ==4.44.0
- gradio-client ==1.3.0
- grpcio ==1.66.1
- h11 ==0.14.0
- httpcore ==1.0.5
- httpx ==0.27.2
- huggingface-hub ==0.25.1
- idna ==3.10
- importlib-resources ==6.4.5
- ipython ==8.27.0
- jedi ==0.19.1
- jinja2 ==3.1.4
- joblib ==1.4.2
- kiwisolver ==1.4.7
- markdown ==3.7
- markdown-it-py ==3.0.0
- markupsafe ==2.1.5
- matplotlib ==3.9.2
- matplotlib-inline ==0.1.7
- mdurl ==0.1.2
- mpmath ==1.3.0
- multimethod ==1.12
- munch ==4.0.0
- mypy-extensions ==1.0.0
- networkx ==3.3
- numpy ==1.26.4
- nvidia-cublas-cu12 ==12.1.3.1
- nvidia-cuda-cupti-cu12 ==12.1.105
- nvidia-cuda-nvrtc-cu12 ==12.1.105
- nvidia-cuda-runtime-cu12 ==12.1.105
- nvidia-cudnn-cu12 ==9.1.0.70
- nvidia-cufft-cu12 ==11.0.2.54
- nvidia-curand-cu12 ==10.3.2.106
- nvidia-cusolver-cu12 ==11.4.5.107
- nvidia-cusparse-cu12 ==12.1.0.106
- nvidia-nccl-cu12 ==2.20.5
- nvidia-nvjitlink-cu12 ==12.6.68
- nvidia-nvtx-cu12 ==12.1.105
- omegaconf ==2.3.0
- opencv-python ==4.10.0.84
- opencv-python-headless ==4.10.0.84
- orjson ==3.10.7
- packaging ==24.1
- pandas ==2.2.3
- pandera ==0.21.0
- parso ==0.8.4
- pexpect ==4.9.0
- pillow ==10.4.0
- prompt-toolkit ==3.0.47
- protobuf ==3.20.1
- psutil ==6.0.0
- ptyprocess ==0.7.0
- pure-eval ==0.2.3
- py-cpuinfo ==9.0.0
- pycparser ==2.22
- pydantic ==2.9.2
- pydantic-core ==2.23.4
- pydub ==0.25.1
- pygments ==2.18.0
- pyparsing ==3.1.4
- python-dateutil ==2.9.0.post0
- python-multipart ==0.0.10
- pytorchwildlife *
- pytz ==2024.2
- pyyaml ==6.0.2
- requests ==2.32.3
- rich ==13.8.1
- ruff ==0.6.7
- scikit-learn ==1.6.0
- scipy ==1.14.1
- seaborn ==0.13.2
- semantic-version ==2.10.0
- setuptools ==75.6.0
- shellingham ==1.5.4
- six ==1.16.0
- sniffio ==1.3.1
- soundfile ==0.12.1
- stack-data ==0.6.3
- starlette ==0.38.6
- supervision ==0.23.0
- sympy ==1.13.3
- tensorboard ==2.17.1
- tensorboard-data-server ==0.7.2
- termcolor ==2.4.0
- thop ==0.1.1
- threadpoolctl ==3.5.0
- tomlkit ==0.12.0
- torch ==2.4.1
- torchaudio ==2.4.1
- torchvision ==0.19.1
- tqdm ==4.66.5
- traitlets ==5.14.3
- triton ==3.0.0
- typeguard ==4.4.1
- typer ==0.12.5
- typing-extensions ==4.12.2
- typing-inspect ==0.9.0
- tzdata ==2024.2
- ultralytics ==8.2.100
- ultralytics-thop ==2.0.8
- ultralytics-yolov5 ==0.1.1
- urllib3 ==2.2.3
- uvicorn ==0.30.6
- wcwidth ==0.2.13
- websockets ==12.0
- werkzeug ==3.0.4
- wget ==3.2
- wrapt ==1.17.0
- Pillow *
- chardet *
- gradio *
- mkdocs *
- mkdocs-get-deps *
- mkdocs-material *
- mkdocs-material-extensions *
- mkdocstrings *
- mkdocstrings-python *
- pymdown-extensions *
- scikit-learn *
- setuptools *
- supervision ==0.23.0
- timm *
- torch *
- torchaudio *
- torchvision *
- tqdm *
- ultralytics *
- wget *
- yolov5 *
- Pillow *
- chardet *
- gradio *
- scikit-learn *
- setuptools *
- supervision ==0.23.0
- timm *
- torch *
- torchaudio *
- torchvision *
- tqdm *
- ultralytics *
- wget *
- yolov5 *
Score: 13.893471099433487