This project contains the training code for the Microsoft AI for Earth Species Classification API, along with the code for our API demo page. This API classifies handheld photos of around 5000 plant and animal species. There is also a pipeline included for training detectors, and an API layer that simplifies running inference with an existing model, either on whole images or on detected crops.
The training data is not provided in this repo, so you can think of this repo as a set of tools for training fine-grained classifiers. If you want lots of animal-related data to play around with, check out our open data repository at lila.science, including LILA's list of other data sets related to conservation.
No problem! The model is publicly available:
- PyTorch model file
- ONNX model file
- TFLite model file
- Class list (scientific names)
- Class list (common names)
- Taxonomy file used for Latin → common mapping
Your one-stop-shop for learning how to run this model is the classify_images.py script in the root of this repo.
Thanks to Joe Syzmanski for converting the model to TFLite.
See the README in the PyTorchClassification
directory to get started training your own classification models with this PyTorch-based framework.
This repo was also used as the basis for the winning entry in the first round of the AIcrowd Snake Species Identification Challenge. To replicate those results, see snakes.md.
This repository is licensed with the MIT license.
The FasterRCNNDetection directory is based on https://github.com/chenyuntc/simple-faster-rcnn-pytorch.
The PyTorchClassification directory is based on the ImageNet example from the PyTorch codebase.