Bird Identification App

Computer vision system with transfer learning for automatic recognition of Dutch bird species

πŸ“… February - April 2023 (Year 1 - Block C)
πŸ–ΌοΈ Image Classification
πŸ”§ MobileNet, TensorFlow, Figma
πŸ‘€ Solo project (8 weeks)

Project Overview

Computer vision app for birdwatchers to identify 7 Dutch bird species via photos. MobileNet transfer learning model trained on custom dataset of 2800+ images collected with Google Image Scraper. Completed full product development cycle from data collection to Figma prototype with A/B testing. The project combines technical model development with user-centered design for a mobile app.

Challenges

Working with limited training data (400 images per species) required smart use of transfer learning and data augmentation. Visually similar bird species like blue tit and great tit were difficult to distinguish and required careful feature extraction. Manual data curation of all scraped images to guarantee data quality was time-consuming. Finding balance between model accuracy and mobile deployment efficiency (MobileNet vs heavier architectures).

Results

Model achieved 95.2% test accuracy with consistently high scores (92-98% precision, 92-100% recall) for all 7 bird species. Transfer learning with MobileNet made these results possible with relatively little data. Complete Figma prototype developed with camera interface, spotting hotspots map, and species directory. A/B test with 10 users showed preference for colorful design variant. Project demonstrates complete ML pipeline from data collection to production-ready model with user-friendly interface.

95%
Test Accuracy
7
Bird Species
2800+
Training Images
10
User Tests (A/B)

Model Development: Transfer Learning Pipeline

🧠 From Data Collection to Trained Model

The project demonstrates the complete machine learning lifecycle: from collecting and annotating custom data via Google Image Scraper to a production-ready model with 95% accuracy. By combining transfer learning with MobileNet with data augmentation, excellent results were achieved with limited training data.

Classification of 7 Dutch Bird Species

🐦 Blackbird
🐦 Blue Tit
🐦 Dunnock
🐦 Chaffinch
🐦 Great Tit
🐦 House Sparrow
🐦 Robin

Data Collection & Preprocessing

Model Architecture: MobileNet Transfer Learning

Why MobileNet?

MobileNet is specifically designed for mobile deployment and offers an ideal balance between accuracy and efficiency. The pre-trained weights from ImageNet provide a strong foundation for feature extraction, achieving better performance even with a relatively small custom dataset of ~400 images per class.

Architecture Details

Training Strategy

Model Performance & Results

95.2%
Test Accuracy
0.17
Test Loss
92-98%
Per-Class Precision
92-100%
Per-Class Recall

Detailed Classification Report

The model achieves consistently high scores across all bird species:

Error Analysis: Inter-Class Similarity

Confusion matrix analysis shows that classification errors mainly occur between visually similar species:

  • Blue Tit vs Great Tit: Both tits have similar color patterns and body shapes
  • House Sparrow vs Dunnock: Similar size and brown tones make distinction harder
  • Robin variations: Differences within species due to variations in color intensity and body shape at different ages
Confusion Matrix

UI/UX Design: Figma Prototype

User-Centered Design Approach

Complete app interface designed in Figma with focus on intuitive navigation and clean visual hierarchy:

πŸ“Έ Camera & Upload

Direct camera access for instant photos or upload from gallery for identification

πŸ—ΊοΈ Spotting Hotspots

Map with popular birdwatching locations for community engagement

πŸ“š Species Directory

Overview of most common species with search functionality

ℹ️ Detail Pages

Extensive information per bird species with characteristics and habitat info

A/B Testing: Color Scheme Optimization

🎨 User Testing Insights

An A/B test with 10 users showed a clear preference for the more colorful variant. The vibrant colors resonated better with the nature theme and made the app visually more appealing to the target audience of birdwatchers and nature enthusiasts.

Design Deliverables

Prototype Walkthrough

Technology Stack

🧠 MobileNetV2
πŸ”₯ TensorFlow/Keras
🐍 Python
🎨 Figma
πŸ“Š NumPy/Pandas
πŸ–ΌοΈ Scikit-Image
πŸ“ˆ Matplotlib
πŸ” Scikit-Learn

Complete ML Workflow

Technical Challenges & Learnings

  • Transfer learning is powerful for small datasets: MobileNet's pre-trained weights enabled 95% accuracy with only ~400 images per class.
  • Data augmentation is essential: Doubling dataset size via augmentation significantly improved model robustness without additional data collection.
  • Manual data curation matters: Investing time in carefully selecting scraped images prevents label noise and increases model quality.
  • Inter-class similarity requires attention: Similar bird species (like tits and sparrows) are naturally harder to distinguish and require more diverse training examples.
  • Early stopping prevents overfitting: Monitoring validation loss and stopping when no improvement saves training time and improves generalization.
  • User research validates design choices: A/B testing with real users gave concrete feedback on color preferences that would otherwise be purely speculative.

Presentation & Feedback

"Presentation to instructors was received positively. The combination of high model accuracy (95%) and a well-developed Figma prototype showed that both technical and design aspects were well executed."

What I Would Do Differently

Check Out My Other Projects