|
|
--- |
|
|
license: apache-2.0 |
|
|
language: |
|
|
- et |
|
|
- en |
|
|
tags: |
|
|
- image classifier |
|
|
metrics: |
|
|
- accuracy |
|
|
--- |
|
|
# Introduction |
|
|
Hello, and welcome to the Estonian Bird Classifier model page! This model was created by Karl-Erik Kanal as a part of his Bachelor's thesis and can recognise 50 common Estonian bird species. |
|
|
|
|
|
# About the model |
|
|
The model estonian_birds_classifier is a pretrained InceptionV3 model on ImageNet weights that has been trained using transfer learning to recognise 50 bird species that can be found in Estonia. |
|
|
The complete list of birds that it can classify can be found in the label map provided with the model. |
|
|
|
|
|
The model was trained and tested using a custom-made dataset for this model, with 5926 images in the training set and 1064 images in the test set. |
|
|
On the test set, the model achieved 74% accuracy, 89% Top-3 accuracy and 91% Top-5 accuracy with a loss of 1.119. |
|
|
In comparison, the [Google AIY bird classifier](https://tfhub.dev/google/aiy/vision/classifier/birds_V1/1) that can recognise 45 species of the 50 achieved 71% accuracy on the test set with the 5 species taken out, while this model achieved 75% accuracy with the same 45 species. |
|
|
|
|
|
# How to use |
|
|
**The model requires the images to be resized to 150 x 150 and normalized before predicting.** You can use the ImageDataGenerator class from keras.preprocessing.image to achieve this. |
|
|
The images should be well-cropped to achieve the best results. |
|
|
|
|
|
You can load in the model like you would load in other Keras type models by using the load_model function. |
|
|
You can load the labels into a dataframe using pandas read_csv. The labels of the birds are provided both in Estonian and in Latin. |
|
|
|
|
|
model = keras.models.load_model('estonian_birds_classifier.h5') |
|
|
labels = pd.read_csv('ebc_labelmap.csv', sep=";") |