Inspiration

Our inspiration comes from our shared group passion of other sciences, specifically biology, along with computer science! Throughout our many years of science classes we all learned about what a keystone species is and its importance. A keystone species is, a species on which other species in an ecosystem largely depend, such that if it were removed the ecosystem would change drastically. As a keystone species, bees are responsible for sustaining ecosystems and billions of dollars in agricultural crops each year. Without them our agriculture would completely flip! When we heard about the theme, hack for health, and how that included environmental health when we stumbled on the problem of honeybee loss and native bee endangerment it just made sense for it to be the main part of our project. We all realize the great impact have on our lives agriculturally, environmentally, and as human species we depend on them!

What it does

Our website has four pages: home, bee facts, bee conservation, and bee games. Each page serves a different function. For example, our home page entails a brief description of our website along with a machine learning model that differentiates bees from other insects, non insects, and wasps! Then, our bee facts and bee conservation pages shows html cards with lost of information and pictures. It was a nice way to organize things. After that, our bee game page features bee conservation games for young children that we created in microsoft makecode arcade! Our project teaches a young audience about bees, and how and why we need to protect them through an interactive interface.

Our machine learning model on Google Colab uses a dataset to be able to apply the model to a greater scope of scenarios. We trained the model so that in the future, we could use models like these to make sure that automated pesticide sprayers can accurately identify insects, so that they do not accidentally harm the wrong insect.

TL;DR -- We created an interactive, informational website!

How we built it

We started off creating our home pages in HTML and then added files for additional pages as we went. It started with just the bee facts and bee conservation pages until we found that we had lots of time. Following that, we went on kaggle and found a bee differentiating data set, created a machine learning model in teachable machine, displayed it with emojis and labels in a fun way, and then added it to our home page. Some of our group members like game design so with the time left to spare we created three unique bee games to simulate / embed onto our website.

To build our machine learning model, we first downloaded an image dataset from Kaggle that included 4 separate classes: bees, wasps, other insects, and other non-insects. We then uploaded this dataset to our Google Colab and unzipped the file. We then created our training and validation datasets with a batch size of 32 by splitting the main file. Then we augmented the data so that we have even more data to train on and so that the objects in the image have different orientations and are in different positions for greater accuracy. We then removed unnecessary class names/labels from the list of class names using an array and a for loop. We then trained the model using the TensorFlow Sequential model with 5 layers and 10 epochs. Lastly, we used matplotlib to create line graphs that showed the accuracy of our training dataset vs. our validation dataset.

Challenges we ran into

It was hard at first to create a working teachable machine model that could run on replit and function. Replit has permissions that prevented us from embedding the model in just javascript due to its camera protection rules so we had to find a tutorial on how to do it in p5.js. Replit would also not host our websitr for free so we had to swtic

When we first attempted to upload our dataset, it told us that there were no images in the dataset, so we had to use another method to upload the dataset. Furthermore, when we first trained our dataset, the validation accuracy was significantly lower than the training accuracy, meaning we overfitted our data. We found that using the dropout method, which randomly removes some output during training, helped to increase the validation accuracy to the same level as the training accuracy.

Accomplishments that we're proud of

We are proud of working together to create a wonderful website! Going into this hackathon none of us expected that we would accomplish as much as we did in this timeframe. We are proud of creating two functional machine learning models in a simplified and technical version for data science and for a children's educational tool.

We are proud that we were able to use our resources to create a machine learning model from a large dataset.

What we learned

Together we shared our knowledge and taught skills to each other in different cs fields that not all of us were familiar with. We learned about hard work, teamwork, and perseverance to finish our project and not give up in the middle.

What's next for Bee Protection Resource

As highschool students we created this with the combination and extent of all our cs education combined, webdev, gamedev, machine learning, python, etc. In the future we would either like to add to the website or recreate it once we gain more technical cs skills to not have to use other sources like teachable machine and makecode arcade to just directly make models and games ourselves.

Furthermore, for our machine learning model, we hope to include more classes that are specific to species of bees and possibly identifying endangered species of bees. Lastly, we hope that our model can improve in accuracy even more in the future to have real world use.

Built With

Share this project:

Updates