Inspiration
I (Ayham) heard all about this problem while spending three weeks with conservation scientists in the Amazon rainforest in Ecuador.
What it does
An AI that can run on your phone and detect what spececies an animal is from a photo. If it is an undiscovered species (meaning its unrecognised by the AI), you can then classify future photos as this new animal with a handful of photos and without having to retrain the network at all. This helps conservationist researchers quickly detect and catalog all the new species in an area so that they can convince government enviromentalists to protect that area before logging / oil companies destroy the area and all its endemic species.
How we built it
We transfer learned a pretrained image classifer network in Pytorch into a kind of face recognition network for animals. The final network was a siamese network with triplet loss and we trained it on 20 classes of animal photos. Each class had 100 example photos that we downloaded from CIFAR100.
Challenges we ran into
It was very hard to get the training images. Big image databases are hard to get access to and it is even harder to get a select few photos without downloading the entire database. Also even finetuning very small image networks was really slow and we couldn't get to our desired performance in 8 hours.
Accomplishments that we're proud of
Each one of us contributed to creating a new practical AI even when we had a highly varied amount of AI & coding experience. It was also amazing how this AI could genuinely be useful for protecting endemic species and that we managed to get any kind of final results at all within a single day.
What we learned
We learned a lot of technical skills around how to collect image data and train AIs in Python. Also, we learned about how "face verification" networks worked and how to present concisely and clearly as we iterated on our 8 min presentation until we got it down to 3 mins.
What's next for ARNET
There are so many avenues for further improving our AI. We could try training on many different kinds of image models, finding the optimal hyperparameters for each model, and getting way more animal classes to train on each with way more examples. We could also do much more validation performance benchmarking and it would be tons of fun to try to build this AI into an easy to use phone app that could be shared with conservation scientists in the field.
Built With
- cifar100
- imagenet
- linuxone
- pytorch
Log in or sign up for Devpost to join the conversation.