Skip to content

Commit f735993

Browse files
authored
Merge pull request #899 from IkkiOcean/bird_species_classification
feat:Bird species classification
2 parents 8acaec7 + 6a5861f commit f735993

File tree

9 files changed

+14619
-0
lines changed

9 files changed

+14619
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
- The link for the dataset used in this project: https://www.kaggle.com/datasets/veeralakrishna/200-bird-species-with-11788-images
2+
3+
- Caltech-UCSD Birds-200-2011 (CUB-200-2011) is an extended version of the CUB-200 dataset, with roughly double the number of images per class and new part location annotations.
4+
5+
- Number of categories: 200
6+
7+
- Number of images: 11,788
58.4 KB
Loading
52.7 KB
Loading
70.3 KB
Loading
96.8 KB
Loading
85.8 KB
Loading

Bird Species Classification/Model/bird_species_classification.ipynb

Lines changed: 14524 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
**Bird Species Classification Using Deep Learning**
2+
3+
**🎯 Goal**
4+
5+
The primary goal of this project is to build a robust bird species classification system using deep learning models. The system is designed to classify images of birds into one of 200 species, providing an efficient and accurate solution for wildlife monitoring and research.
6+
7+
**🧵 Dataset**
8+
9+
The dataset used for this project is available on Kaggle: 200 Bird Species Dataset. It contains 11,788 images, divided into 200 different bird species.
10+
11+
Link: https://www.kaggle.com/datasets/veeralakrishna/200-bird-species-with-11788-images
12+
13+
**🧾 Description**
14+
15+
This project implements several deep learning models to classify bird species based on images. The project explores the capabilities of modern Convolutional Neural Networks (CNNs), focusing on models like InceptionResNetV2, InceptionV3, and VGG16. Each model is fine-tuned using the bird species dataset to achieve optimal performance. The results from each model are compared to determine the most accurate model for this classification task.
16+
17+
**🧮 What I had done!**
18+
19+
1. Data Collection: Downloaded the bird species dataset from Kaggle.
20+
2. Data Preprocessing:
21+
• Resized the images to a uniform size for consistency across models.
22+
• Augmented the dataset with transformations (e.g., rotation, flipping) to enhance the model’s generalization.
23+
3. Model Selection: Selected four CNN architectures — InceptionResNetV2, InceptionV3, and VGG16.
24+
4. Model Training:
25+
• Fine-tuned each model on the bird species dataset.
26+
• Utilized ImageNet pretrained weights as a baseline, followed by further training on the dataset.
27+
5. Evaluation: Evaluated each model based on accuracy.
28+
29+
30+
**🚀 Models Implemented**
31+
32+
1. InceptionResNetV2:
33+
• Combines Inception modules and residual connections for high accuracy.
34+
• Chosen for its ability to handle complex image classification tasks.
35+
2. InceptionV3:
36+
• Selected for its efficient use of factorized convolutions, which reduce computational complexity.
37+
3. VGG16:
38+
• A classical CNN architecture that is known for its deep and uniform layer structure, making it effective for image recognition.
39+
40+
Each of these models was chosen based on their proven track record in image classification and their ability to handle the complexity of the bird species dataset.
41+
42+
**📚 Libraries Needed**
43+
44+
• TensorFlow
45+
• NumPy
46+
• Matplotlib
47+
• scipy
48+
• Pandas
49+
50+
**📊 Exploratory Data Analysis Results**
51+
52+
Below are some visualizations derived from the dataset (example EDA images must be included here):
53+
54+
- Inception_resnet_v2 Accuracy
55+
![Inception_resnet_v2](./Images/inception_resnet_v2.png)
56+
- Inception_v3 Accuracy
57+
![Inception_v3](./Images/InceptionV3.png)
58+
- Masked Bird Images using Segmentation Images from dataset
59+
- ![Masked_Bird_Image](./Images/masked_image_1.png)
60+
- ![Masked_Bird_Image](./Images/masked_image_2.png)
61+
- ![Masked_Bird_Image](./Images/masked_image_3.png)
62+
63+
**📈 Performance of the Models based on the Accuracy Scores**
64+
65+
Model | Accuracy
66+
--- | ---
67+
InceptionResNetV2 | 97.07%
68+
InceptionV3 | 97.38%
69+
VGG16 | 98.78%
70+
71+
The table above shows the performance of each model based on the key metric.
72+
73+
**📢 Conclusion**
74+
75+
From the results, it is evident that VGG16 performs the best among all models, achieving the highest accuracy (98.78%), while InceptionResNetV2 and InceptionV3, perform similar.
76+
77+
In conclusion, VGG16 is the best-fitted model for this bird species classification task, based on the achieved accuracy.
78+
79+
**✒️ Your Signature**
80+
81+
Vivek Prakash
82+
GitHub: https://github.com/IkkiOcean
83+
LinkedIn: https://www.linkedin.com/in/vivek-prakash-b46830283/
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
matplotlib==3.5.1
2+
numpy==1.22.3
3+
Pillow==9.2.0
4+
tensorflow==2.9.1
5+
tarfile

0 commit comments

Comments
 (0)