This project aims to classify animal images using a Convolutional Neural Network (CNN). The dataset contains 50 different types of animals, but for this project, we selected 10 animal types: Collie, Dolphin, Elephant, Fox, Moose, Rabbit, Sheep, Squirrel, Giant Panda, and Polar Bear. Each type consists of 650 images. The goal is to forecast the type of animal based on the given image.
- Numpy: For linear algebra operations.
- Pandas: For data manipulation and processing.
- Cv2: For image-related tasks such as resizing.
- Os: For handling directory operations.
- Matplotlib: For visualizing data.
- Seaborn: For enhanced visualization.
- Sklearn: For splitting the dataset into training and test sets, and for evaluating the model's performance using various metrics.
- TensorFlow: For image processing, model building, and preventing overfitting.
- Importing Necessary Libraries: Import required libraries for data handling and model development.
- Preparing Data: Load and preprocess the data for use in the model.
- Encoding and Transforming Data: Convert the target labels into a categorical structure suitable for classification.
- Splitting Data: Divide the dataset into training and testing sets.
- Data Augmentation: Apply transformations to the images to enhance the model’s ability to generalize.
- Model Creation: Define the layers and parameters of the CNN model.
- Early Stopping: Implement early stopping to prevent overfitting during model training.
- Visualization: Plot the training and testing loss/accuracy graphs to evaluate model performance.
- Model Evaluation: Test the model’s performance on unseen test images using a confusion matrix.
- Image Manipulation: Apply purple, yellow, and green filters to test images and observe the model's response.
- Evaluating Filtered Images: Measure the model's success when working with the manipulated images.
- Gray World Algorithm: Apply the Gray World Color Constant Algorithm to corrected images.
- Re-evaluation: Evaluate the model performance again using the corrected images.
- Comparison: Compare model performance with different types of test images.
- To access the detailed project and its implementation, please click here.