Purr - Real?
Purr-Real? is a web platform that maps cat sightings using user-uploaded photos. A computer vision model identifies and categorizes cats by breed or fur characteristics, where photo metadata is used to geolocate each sighting. The result is an interactive map showing real-world distributions of local cats.
How We Built It
The initial framework consisted of a crude node.js web framework built by Gemini. From there we worked on creating a baseline Landing and Gallery page. We started with a crude node.js web framework built by Gemini to get us started. From there we created our landing page and our gallery An AI model was developed to predict the cat breeds of uploaded images. A convolutional neural network (CNN) was used for this task. We used the Oxford-IIIT Pet Dataset to train a convolutional neural network for cat classification. Since the dataset includes both cats and dogs, we first filtered the dataset to retain only cat images. These images were then organized by breed (species) to support the classification.
The dataset provides predefined training and test splits. We used the provided test set for final evaluation. From the original training set, we created a validation set by randomly splitting the data into 80% training and 20% validation.
Challenges
Due to time constraints, the quality of our models were not as good as we would like. We ran into an extremely inaccurate initial model that labeled all of our values as sphynx cats. Accuracy was improved through normalizing the dataset. With the normalization and running the model on a small epoch of 100 to 170, we were able to see improvements in the accuracy from less than 22% to a 25%.
On the hardware side, the Arduino 101 would start to freeze whenever its bluetooth was enabled, which was a common fault of the Arduino 101s. To mitigate this, we had to use the wired protocol of Inter-Integrated Circuit (I2C) as a bridge between the two devices but have the Arduino as a Master Device sending information to the Indicator which would send that information to MongoDB to be used.
What we learned
Aiden - Learned how to implement and integrate an AI model written in Python into a website environment that doesn’t natively support Python Andy - Developing and training an AI model to meet specifications. Jahyun - How to implement fundamental knowledge in programming into the project. Josh - Gained a broader understanding of Digital Ocean and the platform’s accessibility when deploying and uploading a website to the cloud.
Accomplishments
We are proud to have developed a proof-of-concept website that brings our core concept to life, demonstrating key features that can be further developed and implemented into a functional product.
Next Steps
Future improvements would primarily revolve around improving the model and tracking features.
On the modeling side, we would look into enhancing the model’s ability to distinguish cats based on prominent features (such as coat patterns and facial structure). This would allow the system to better identify and match cats from user-uploaded images, which would improve accuracy in tracking individual animals over time.
For the hardware component, we plan to reduce the size and power consumption of the tracking device by utilizing a compact microcontroller like the ESP32. This would support the development of a lightweight, attachable tracker capable of monitoring both location and any health deviations within the feline.
These capabilities would be integrated into an app designed to function as a social platform for cat lovers. Users could share sightings, upload images, and contribute to a collective map of cat activity.
Additionally, compiled data on cat populations and movement patterns could be used to analyze regional trends and detect potential health anomalies within specific areas.
Log in or sign up for Devpost to join the conversation.