
Birds Species Identifier
An Zero-Shot Learning Model that Can Predict over 200 Bird Spices
Video Demo
Introduction
We implement a zero-shot learning model consists of a CNN model and a classification function based on weighted attributes and run the model on the CUB dataset. In our study, our model achieves a final accuracy of 31.2% on a test set contains a mixture of known data of 175 bird species and unseen data of 25 bird species. This result demonstrates that our model successfully achieves the zero-shot learning goal.
Approach Overview
Image Pre-processing
-
Resize all images to a unified width and length based on the smallest image (264 × 121) to meet the CNN inputs requirement.
Dataset Splitting
-
CUB-200 Contains 200 birds species. The dataset are labeled as whether specific attributes are presented in the pictures or not
-
The whole dataset is split to two groups: 175 of the as seen dataset, 25 of them are unseen dataset.
-
For the seen dataset of 175 species, it is further split into a training set and a validation set, consisting of 85% and 15% of the seen dataset respectively.
CNN (Convolution Neural Network)
-
An Convolutional neural network is constructed followed the ResNet50 (Wide Residual networks) architecture.
-
The CNN is trained using the training data set and the attributes labels
-
Validation set accuracy can reach 95.3%
Classification Using Weighting Attributes
-
Euclidean distance give each attributes the same weight thus it is ineffective for classification
-
Solution: Weight each attributes differently. Less appeared attribute should have move weight
-
Using the weighted attributed to calculate Euclidean distance can significantly increase the test accuracy
-
Final model has 31.2% accuracy over the test dataset