This repository contains a comprehensive analysis of butterfly species classification using various convolutional neural network (CNN) models. It is part of the project for the Principles of Artificial Intelligence subject, focusing on model performance evaluation and improvement strategies.Detailed analysis of confusion matrices, training accuracy, and loss trends are included to provide comprehensive insights.
Butterfly species classification is a challenging task due to the subtle visual differences between species. This project employs three popular neural network architectures—ResNet50, DenseNet121, and MobileNetV3Small—to tackle this classification problem. The goal is to analyze their performance, identify areas for improvement, and suggest enhancements.
- butterflies_imagesprep,ipynb : Python notebook consisting the implementation during the process of web crwaling a total of 6500 images for 10 classes of butterflies subspecies.
- butterflies_classification.ipynb: Python notebook consisting the process of training and evaluating the three models.
- Confusion Matrix Analysis:
Provides a visual summary of the the three models. Highlights key metrics, such as correct classifications and misclassifications. Offers detailed insights into error patterns and potential biases in the model.
Model Performance Comparison: Compares accuracy, mean average precision (mAP), and training times across the three models. Identifies the best performing model based on these metrics.
- Training Accuracy and Loss Trends
Examines the evolution of training and validation accuracy. Analyzes training and validation loss to understand overfitting or underfitting trends.
Performance Metrics:
ResNet50: Accuracy - 72.08%, mAP - 9.99%, Training Time - 2700s. DenseNet121: Accuracy - 81.55%, mAP - 10.06%, Training Time - 2699s. MobileNetV3Small: Accuracy - 10.28%, mAP - 9.95%, Training Time - 2007s.
project by:
- Marissa Sara Damia binti Bakar Jamili
- Ain Syahiidah binti Mohd Nor Hisham
- Farah Batrisyia binti Mohd Ishak