From 48075cba82db3f2dc13454387a341ea8c6444453 Mon Sep 17 00:00:00 2001 From: Alexander Merdian-Tarko Date: Sun, 1 Dec 2024 00:35:46 +0100 Subject: [PATCH] Update readme --- README.md | 44 +++++++++++++++++---------- anno_1440.jpg => media/anno_1440.jpg | Bin 2 files changed, 28 insertions(+), 16 deletions(-) rename anno_1440.jpg => media/anno_1440.jpg (100%) diff --git a/README.md b/README.md index 902aefb..11ad58c 100644 --- a/README.md +++ b/README.md @@ -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 @@ -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 diff --git a/anno_1440.jpg b/media/anno_1440.jpg similarity index 100% rename from anno_1440.jpg rename to media/anno_1440.jpg