metadata
tags:
- image-classification
- Birds
- Kaggle
- MobileNetV3Large
metrics:
- accuracy
model-index:
- name: MobileNetV3Large-Bird-Classification-Kaggle
results:
- task:
name: Image Classification
type: image-classification
metrics:
- name: Accuracy
type: accuracy
value: 0.9336
500 Species Bird Classification
by Daniel Glownia
Data
- Size: 224 x 224 x 3
- 500 different bird species with at least 130 train images per species
- 80% male birds (more colorful) and only 20% female (sex is not labeled)
- One bird per image
- Bird takes up 50%+ of pixels
- Some images include noise like watermarks
Dataset | Image count |
---|---|
Train | 85,085 |
Test | 2,500 |
Validation | 2,500 |
CNN Implementation
- MobileNetV3 as base model(transfer learning)
- Trained on 100 epochs
- Optimizer: Adam
- Loss: Categorical Cross Entropy
epochs = 100
batch_size = 256
inputs = pretrained_model.input
x = processing_layers(inputs)
x = Dense(256, activation='relu')(pretrained_model.output)
x = Dropout(0.2)(x)
x = Dense(128, activation='relu')(x)
x = Dropout(0.2)(x)
x = Dense(64, activation='relu')(x)
x = Dropout(0.2)(x)
outputs = Dense(500, activation='softmax')(x)
model = Model(inputs=inputs, outputs=outputs)
Results
The following confusion matrix represents the lowest performing classes. Classes with perfect scores were removed.
Dataset | Accuracy |
---|---|
Train | 84.87% |
Test | 92.20% |
Validation | 93.36% |