MegaDetector
Deep learning tools that accelerate the review of motion-triggered wildlife camera images.
https://github.com/microsoft/biodiversity
Category: Biosphere
Sub Category: Terrestrial Wildlife
Keywords
ai-for-good bioacoustics biodiversity camera-traps computer-vision conservation conservation-ai deep-learning ecology edge-ai machine-learning megadetector pytorch-wildlife sparrow wildlife-monitoring
Keywords from Contributors
wildlife cameratraps aiforearth sustainable climate-change web-map climate cntk 3d-map deeplearning
Last synced: about 17 hours ago
JSON representation
Repository metadata
Microsoft AI for Good Lab — Biodiversity research hub. Open-source AI models, edge devices, and tools for biodiversity monitoring and conservation. Hosts SPARROW-Studio at /SPARROW-Studio. Your source for MegaDetector, SPARROW, PytorchWildlife, Bioacoustics, and more.
- Host: GitHub
- URL: https://github.com/microsoft/biodiversity
- Owner: microsoft
- License: mit
- Created: 2018-10-11T18:02:42.000Z (over 7 years ago)
- Default Branch: main
- Last Pushed: 2026-05-13T00:12:31.000Z (about 19 hours ago)
- Last Synced: 2026-05-13T02:22:06.091Z (about 17 hours ago)
- Topics: ai-for-good, bioacoustics, biodiversity, camera-traps, computer-vision, conservation, conservation-ai, deep-learning, ecology, edge-ai, machine-learning, megadetector, pytorch-wildlife, sparrow, wildlife-monitoring
- Language: Python
- Homepage: https://www.microsoft.com/en-us/research/group/ai-for-good-research-lab/
- Size: 515 MB
- Stars: 1,007
- Watchers: 51
- Forks: 292
- Open Issues: 39
- Releases: 10
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Citation: citation.cff
- Security: SECURITY.md
README.md

📣 Announcements
What we've been up to
Hey everyone! It’s been a while since our last update — we hope you haven’t forgotten about us! 😊
Over the past couple of months we’ve been thinking hard about the future of PyTorchWildlife and cooking up some exciting new features just for you.
After two years of community use, one thing has become super clear: most people prefer a nice graphical interface over writing code. People have been asking for a more seamless, unified experience that covers data management, processing, AI inference, analysis, and annotation all in one place.
So we built Sparrow Studio — a clean, unified UI built on top of PyTorchWildlife that brings exactly those tools together:
- Local and cloud-based data storage & management
- AI inference using the PyTorchWildlife model zoo
- Post-inference statistics and analysis
- Pre- and post-inference data annotation (easy bounding-box and category editing)
- Embedding visualization and feature retrieval tools
We’re kicking things off with a beta test before the official release. The Windows MSI installer is available directly on Zenodo: SPARROW Studio Installer (signed). Mac and Linux builds are in progress — reach out if you’d like to be on that list.
We’ve also expanded PyTorchWildlife itself into bioacoustics and overhead animal localization — both are out in this release:
- A dedicated bioacoustics module with several newly trained bioacoustics models
- OWL (Overhead Wildlife Locator) — our new generalized, point-based detection model for overhead imagery. (publication on the way.)
Sparrow Studio already has dedicated support for both, so beta testers can run inference and annotate bioacoustics recordings or overhead images directly in the UI.
The future of PyTorchWildlife
With Sparrow Studio stepping into the picture, PyTorchWildlife itself will gradually evolve into a clean, stable API + high‑quality model zoo layered on top of a general model inference engine — called PW-Engine, while Sparrow Studio becomes the intuitive, everything‑in‑one-place frontend.
PW-Engine (PyTorch-Wildlife Engine) is an inference core written in Rust. It is model-agnostic and targets the full PyTorch-Wildlife model zoo and future third party models (e.g. BioClip and Perch) through four consumption surfaces: an HTTP REST API, a single-binary CLI, Python bindings, and a native C library for desktop integration. All four surfaces are feature-complete today; a data-management layer and MLOps functionality are the next milestones. PW-Engine also powers Sparrow Studio under the hood, and the same surfaces are open to anyone building their own frontend. A short overview — what it is, how it fits alongside the current Python API and Sparrow Studio, and how to pilot it — is here: PW-Engine Overview.
If you’re interested in API or backend work, or you run an inference-heavy pipeline and want to pilot PW-Engine early, we’d love your help shaping the next chapter of PyTorchWildlife. We’ll update our public task board later.
And one dream we’ve had for a long time: letting non‑coders fine‑tune their own models on their own data. Thanks to recent advances, we’re finally close — and this will be a major focus for both PyTorchWildlife and Sparrow Studio next.
Why "Sparrow Studio"?
Some of the UI features we needed for PyTorchWildlife also fit naturally as a frontend for Project Sparrow, another effort in our group focused on remote data-collection hardwares and edge computing. Since the name “Sparrow” already carried a warm, lively spirit — and the overlap between the projects made things simpler — we decided to call the UI Sparrow Studio. The name just reflects some shared roots and a bit of personality we liked.
Stay tuned! These updates are dropping very soon, and we’d genuinely love to have you in the Sparrow Studio beta. Drop us a message anytime — the more feedback the better! 🐦

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 practitioners 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 documentation page for more information:
🖼️ Examples
Image detection using MegaDetector
Credits to Universidad de los Andes, Colombia.
Image classification with MegaDetector and AI4GAmazonRainforest
Credits to Universidad de los Andes, Colombia.
Opossum ID with MegaDetector and AI4GOpossum
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},
}
🚀 We’re Open for Contributions!
We’re excited to announce that Pytorch-Wildlife is now open to community contributions!
If you’d like to get involved and help improve the project, we’d love to have you on board.
👉 Check out our Contribution Guidelines:
You’ll find everything you need there — from how to pick an issue, to submitting your first pull request.
Let’s build this together! 🐾🌱
🤝 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 (citation.cff)
cff-version: 1.2.0
message: "If you use this software, please cite both papers below."
title: "Microsoft Biodiversity"
authors:
- name: "Microsoft AI for Good Lab"
url: "https://github.com/microsoft/Biodiversity"
preferred-citation:
type: article
title: "Pytorch-Wildlife: A Collaborative Deep Learning Framework for Conservation"
authors:
- family-names: "Hernandez"
given-names: "Andres"
- name: "et al."
year: 2024
references:
- type: article
title: "Efficient Pipeline for Camera Trap Image Review"
authors:
- family-names: "Beery"
given-names: "Sara"
- family-names: "Morris"
given-names: "Dan"
- family-names: "Yang"
given-names: "Siyu"
year: 2019
Owner metadata
- Name: Microsoft
- Login: microsoft
- Email: opensource@microsoft.com
- 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: 7780
- Last ynced at: 2026-05-11T00:03:59.506Z
- Profile URL: https://github.com/microsoft
GitHub Events
Total
- Push event: 4
- Create event: 1
Last Year
- Push event: 4
- Create event: 1
Committers metadata
Last synced: 3 days ago
Total Commits: 3,144
Total Committers: 71
Avg Commits per committer: 44.282
Development Distribution Score (DDS): 0.565
Commits in past year: 72
Committers in past year: 9
Avg Commits per committer in past year: 8.0
Development Distribution Score (DDS) in past year: 0.569
| Name | Commits | |
|---|---|---|
| Dan Morris | d****s@c****u | 1368 |
| Marcel Simon | a****n@m****m | 340 |
| Siyu Yang | y****u@m****m | 282 |
| amritagupta | g****0@g****m | 268 |
| zhmiao | z****o@m****m | 171 |
| Christopher Yeh | c****6 | 169 |
| aa-hernandez | 6****z | 77 |
| annie.enchakattu | a****u@g****m | 63 |
| Vardhan Duvvuri | G****r@G****g | 62 |
| Daniela Ruiz | d****1@u****o | 55 |
| Isai Daniel | 8****8 | 48 |
| v-andreshern | v****n@m****m | 18 |
| Annie Enchakattu | 3****u | 15 |
| Vardhan duvvuri | v****i@g****g | 12 |
| Ubuntu | l****x@l****t | 12 |
| Vardhan Duvvuri | v****i@o****m | 12 |
| Daniela | v****z@m****m | 10 |
| Ubuntu | f****s@n****t | 10 |
| arashno | a****h@g****m | 10 |
| Patrick Flickinger | p****n@m****m | 10 |
| Sundar Sripada V. S. | s****6@g****m | 9 |
| Default User | u****r@u****t | 7 |
| Ubuntu | c****e@c****t | 6 |
| Daniela Ruiz | d****1@d****1@u****o | 6 |
| Ubuntu | m****t@m****t | 6 |
| Sara Beery | s****y@g****m | 6 |
| SuhailSaify | s****8@g****m | 6 |
| dependabot[bot] | 4****] | 6 |
| Siyu Yang | y****7@i****m | 5 |
| Darío Hereñú | m****a@g****m | 4 |
| and 41 more... | ||
Committer domains:
- microsoft.com: 9
- uniandes.edu.co: 2
- cs.stanford.edu: 1
- gramener.com: 1
- glp-098.gramener.org: 1
- gramener.org: 1
- lynxvm.vby1cnsztnbubpoopriasnvbxa.jx.internal.cloudapp.net: 1
- nactidownloadvm.5svuschbwnqu5b5t3fbzyv3y5b.xx.internal.cloudapp.net: 1
- ubuntu.localhost: 1
- coyotevm.vby1cnsztnbubpoopriasnvbxa.jx.internal.cloudapp.net: 1
- da.ruizl1: 1
- meerkatvm.vby1cnsztnbubpoopriasnvbxa.jx.internal.cloudapp.net: 1
- alfa1.vnhlf41xn1iunobjzwnj3sqaqc.bx.internal.cloudapp.net: 1
- meyerperin.com: 1
- condorvm.vby1cnsztnbubpoopriasnvbxa.jx.internal.cloudapp.net: 1
- mallardvm.vby1cnsztnbubpoopriasnvbxa.jx.internal.cloudapp.net: 1
- onemoremallard.5zrdgxxmlslenhl3jfsvnatlfg.jx.internal.cloudapp.net: 1
- megadetector-float.fywutlkdhe2etlddvntzl12x1a.ex.internal.cloudapp.net: 1
- dmultiplicitas.onmicrosoft.com: 1
- brunel.ac.uk: 1
- synthetaic.com: 1
- osu.edu: 1
- slalom.com: 1
- amnh.org: 1
- bhconsulting.ca: 1
- pa.h4nqyl4svykevn4x5gbo3tfbhh.cx.internal.cloudapp.net: 1
- megadetector-float2.fywutlkdhe2etlddvntzl12x1a.ex.internal.cloudapp.net: 1
- google.com: 1
Issue and Pull Request metadata
Last synced: 8 days ago
Total issues: 0
Total pull requests: 0
Average time to close issues: N/A
Average time to close pull requests: N/A
Total issue authors: 0
Total pull request authors: 0
Average comments per issue: 0
Average comments per pull request: 0
Merged pull request: 0
Bot issues: 0
Bot pull requests: 0
Past year issues: 0
Past year pull requests: 0
Past year average time to close issues: N/A
Past year average time to close pull requests: N/A
Past year issue authors: 0
Past year pull request authors: 0
Past year average comments per issue: 0
Past year average comments per pull request: 0
Past year merged pull request: 0
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
Top Pull Request Authors
Top Issue Labels
Top Pull Request Labels
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: 11.215408521666184