Skip to content

Engineered a robust deep learning model using Convolutional Neural Networks and TensorFlow to classify 114 bird species based on audio recordings. Model achieved an impressive accuracy of 78.75%, providing valuable insights for conservationists and ecologists in the wildlife & ecological research sectors.

Notifications You must be signed in to change notification settings

Villwin007/Bird-sound-classification-using-CNN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Bird Species Identification Using Deep Learning

Overview

This project implements a Convolutional Neural Network (CNN) for automatic bird species classification using audio recordings. By converting bird sounds into spectrograms and applying deep learning techniques, we've developed a robust model for ecological monitoring and wildlife conservation.

Features

Data Collection

  • Dataset: 2161 audio files
  • 114 distinct bird species
  • Sourced from Kaggle: Bird Sound Dataset

Deployment

  • Streamlit web interface
  • Support for MP3 and WAV uploads
  • Real-time bird species classification

Project Objectives

  • Develop a CNN-based classification model using TensorFlow
  • Improve bird species identification accuracy in noisy conditions
  • Create an automated solution for ecological monitoring
  • Support conservation activities through technology

Key Technologies

  • Python
  • TensorFlow
  • Convolutional Neural Network (CNN)
  • Keras
  • Streamlit
  • Librosa
  • OpenCV
  • NumPy

Methodology

Data Preprocessing

  • Resampling audio files to standard frequency (16 kHz)
  • Converting audio to spectrograms using Short-Time Fourier Transform (STFT)
  • Applying noise reduction and normalization techniques
  • Implementing data augmentation (time stretching, pitch shifting)

Model Architecture

  • 3 Convolutional layers (32, 64, 128 filters)
  • Max-pooling layers for dimensionality reduction
  • 2 Fully connected layers
  • Softmax output layer
  • Adam optimizer (learning rate: 0.001)
  • Dropout regularization

Performance Metrics

  • Accuracy: 0.7875
  • Precision: 0.7919
  • Recall: 0.6875
  • F1-Score: 0.7129

Challenges Addressed

  • Handling similar bird call patterns
  • Managing background noise in recordings
  • Accounting for variations in bird vocalizations

Potential Applications

  • Biodiversity monitoring
  • Population tracking
  • Habitat health assessment
  • Conservation research

Installation

Prerequisites

pip install tensorflow
pip install scikit-learn
pip install opencv-python
pip install librosa
pip install numpy
pip install pandas
pip install streamlit
pip install streamlit_extras

Usage

  1. Clone the repository
git clone https://github.com/your-repo/Bird-Sound-Classification.git
  1. Install requirements
pip install -r requirements.txt
  1. Run Streamlit Application
streamlit run main.py
  1. Access the app at http://localhost:8501

License

This project is licensed under the MIT License. Please review the LICENSE file for more details.

Contact

Future Work

  • Expand dataset with more bird species
  • Improve model generalization
  • Reduce computational complexity
  • Real-time bird sound classification

About

Engineered a robust deep learning model using Convolutional Neural Networks and TensorFlow to classify 114 bird species based on audio recordings. Model achieved an impressive accuracy of 78.75%, providing valuable insights for conservationists and ecologists in the wildlife & ecological research sectors.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages