About The Aviary
Overview
This project was created to answer a common question: What type of bird does a feather belong to? This is a challenging question given the wide variety of feathers that birds have - contour feathers, semiplumes, down feathers, filoplumes, bristles, and powder down - all of which display highly variable appearances.
Artificial Intelligence is a powerful tool for answering this question. We use a Convolutional Neural Network (CNN) to identify key features in uploaded images and match them against a library of learned representations to identify the species the feather came from. We rely on ResNet-50, a state-of-the-art architecture for visual recognition tasks.
How It Works
Different organizations have used AI in similar applications to identify bird species from pictures, from recordings of bird calls, and through other methods.
Our approach is unique in its focus on feathers alone. This presents a unique strength: additional context isn't needed for identification. Bird songs are difficult to capture without background noise, and you may not have time to snap a picture of the bird itself. This gives users a chance to learn about species present in an area without needing to match temporal activity patterns.
Limitations
Some feather types may not contain enough visually distinguishable features to prevent misclassification. The best results come from contour feathers, which contain the most visually salient features and are relatively distinct due to their role in giving shape and color to a bird.
Technical Details
- Model: ResNet-50 based Convolutional Neural Network
- Species Coverage: 49 bird species
- Input Size: 240×40 pixels
- Framework: TensorFlow 2.20.0 with Keras
- Backend: Flask web framework
Training Dataset: FeathersV1
Our model was trained on the dataset published by Belko et al. (2020), who introduced FeathersV1, the first publicly available machine learning dataset focused on individual bird feathers. This pioneering work encompasses 28,272 annotated images spanning 595 species across 23 avian orders, laying the groundwork for using convolutional neural networks (CNNs) in fine-grained feather classification.
Their experiments with DenseNet architectures demonstrated the feasibility of this task and provided a benchmark for future research. However, challenges remain—particularly class imbalance, feather type variability (e.g., tail, wing, contour), and data quality inconsistency due to reliance on heterogeneous collector-sourced images.
Building upon this foundation, our work seeks to lower the barrier to accessing and applying these classification models. We aim to transition the research-grade models into a practical, user-facing web application, enabling users to upload feather images and receive high-confidence species predictions, complete with taxonomic information and educational links. Our approach leverages a ResNet-50-based classifier trained on the Top-50 species subset of FeathersV1, selected to mitigate class imbalance and optimize performance for deployment on resource-limited infrastructure.
Species Database
The Aviary can identify feathers from 49 bird species, including:
- Raptors (eagles, hawks, owls)
- Waterfowl (ducks, geese, swans)
- Waders (plovers, sandpipers)
- Passerines (jays, finches)
- And many more...
Data Sources
The Integrated Taxonomic Information System (ITIS) provides species information and links scientific names with common names. The Wikipedia API helps provide links to further information for each species.
Credits
- 🎨 Icons by Freepik from Flaticon
- 🖼️ Background pattern from Toptal Subtle Patterns
- 📊 Species data from ITIS
- 📚 Additional information from Wikipedia
- 👨💻 Created by: Daniel Cisek, Dr. Nakul Padalkar, Jacob McIntosh
This application is meant for purely educational purposes.