Skip to content

Commit

Permalink
Update readme
Browse files Browse the repository at this point in the history
  • Loading branch information
alexvmt committed Nov 30, 2024
1 parent 450a80b commit 48075cb
Show file tree
Hide file tree
Showing 2 changed files with 28 additions and 16 deletions.
44 changes: 28 additions & 16 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,20 +1,25 @@
# Tiger detection
# Tiger classification

This repository contains tools to detect and classify tigers in camera trap images,
using public camera trap images from LILA BC and free GPU resources in Google Colab.
This repository contains scripts and notebooks to classify tigers (and other species) in camera trap images,
using ML (e. g. [MegaDetector](https://github.com/agentmorris/MegaDetector)),
open source tools and data (e. g. [LILA BC](https://lila.science/))
and free compute resources (i. e. Colab and Kaggle).

![tiger](anno_1440.jpg 'tiger')
![tiger](media/anno_1440.jpg 'tiger')

*Credentials: LILA BC, MegaDetector, own illustration.*


## Motivation
## Motivation and relevance

- tigers are an endangered species
- tigers are an endangered species,
NGOs like the [Nepal Tiger Trust](https://www.nepaltigertrust.org/) protect them
- there is no open and easy way for ecologists/researchers/NGOs
to detect and classify their camera trap images with regard to tigers
to classify their camera trap images with regard to tigers
- ML and open data/tools can help reduce the amount of manual labor
when sifting through large amounts of camera trap data, looking for the needle in the haystack
when sifting through large amounts of camera trap images, looking for the needle in the haystack
- goal: train a species classifier for Nepal (focussing on tigers)
and make it available through [EcoAssist](https://addaxdatascience.com/ecoassist/)

## Data

Expand All @@ -23,20 +28,27 @@ when sifting through large amounts of camera trap data, looking for the needle i
- [LILA BC](https://lila.science/)
- amur tiger re-identification [challenge](https://cvwc2019.github.io/challenge.html) at CVWC 2019

**Data preparation**
**Sample and download images (Colab)**

1. Define relevant species classes (tiger, other mamals, birds etc.)
2. Sample n images per class randomly from LILA BC (e. g. from the last i years)
3. Download sampled images and check for errors/inconsistencies
4. Run images through [MegaDetector](https://github.com/agentmorris/MegaDetector) to get bounding boxes (and filter out empty images, vehicles and people if any)
5. Use mewc-snip to crop images
6. Build train, val and test sets
1. Download image URLs and labels from LILA BC
2. For each selected species: sample and download images, create train test split if applicable
3. Copy images to Drive

*Note: Since Colab and Drive have limited capacities, one might have to further split up the process.*

**Preprocess images (Kaggle)**

1. Run [MegaDetector](https://github.com/agentmorris/MegaDetector) on all images
2. Snip images
3. Copy snipped images to Kaggle Output

*Note: Images must have been previously downloaded to Drive via Colab and then uploaded to Kaggle (zipped folder).*

## Training

- [MEWC](https://github.com/zaandahl/mewc)
- EfficientNetV2
- Google Colab
- Kaggle

## Deployment

Expand Down
File renamed without changes

0 comments on commit 48075cb

Please sign in to comment.