Inspiration

Biodiversity loss is a significant environmental problem currently faced around the globe however people are often completely oblivious to it . Our solution aims to increase awareness surrounding this issue and help organisations monitor biodiversity. The gamification of the solution encourages users to upload photos of birds that they see in their local area and keep engaged thus providing constantly updated statistics of specific bird populations.

What it does

BirdHouse allows the user to upload a photo of a bird which is then classified by a convolutional neural network to identify the species. This information, along with the date spotted, is stored in a database for use by environmental organisations. The user then receives a bird avatar to add to their Bird House as well as a fun fact regarding the species.

How we built it

We started by experimenting with different machine learning algorithms for multiclass classification in python. Used supervised learning on an existing dataset of 525 classes and 87260 images with attached labels (https://www.kaggle.com/datasets/gpiosenka/100-bird-species/data ). Starting by using a random forest but this took too long so moved on to a convoluted neural network using tensorflow libraries. Then went from there tuning hyperparameters such as number of epochs. The user interface was developed using PyQt. The database used to store user information was an SQL database.

Challenges we ran into

Initial trials with a random forest model and the python sklearn module took too long to train so we had to adapt our approach to instead use a convolutional neural network. We also experienced issues dealing with .jpg images without the use of helper libraries.

Accomplishments that we're proud of

We are proud of the fact we used an integrated technology stack consisting of a database, machine learning model and user interface. We are also proud of the performance of our CNN as it achieved an 80% accuracy.

What we learned

We learned how to use tensor flow and how to incorporate an ML model into a desktop application.

What's next for BirdHouse

The next development for BirdHouse is the creation of a mobile application with a built in camera. This would make it easier for users to classify birds when they are out and about.

We also aim to expand the convolutional neural network by using a larger dataset with more bird species and increasing the accuracy using different data augmentation methods.

To help monitor biodiversity of other species we would like to expand BirdHouse to include other animals.

Finally, we would like to develop the user interface by adding a unique avatar and description for each species of bird.

Built With

Share this project:

Updates