Skip to content

A project utilizing Convolutional Neural Networks (CNNs) to classify animal images. It evaluates model performance, sensitivity to manipulated images, and robustness. The project incorporates color constancy algorithms for preprocessing to enhance results and analyzes outcomes across different scenarios.

Notifications You must be signed in to change notification settings

erenyurtcu/Animal-Classification

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Animal Classification Project

πŸ“‹ Project Description

This project is part of a learning initiative aimed at understanding and implementing Convolutional Neural Networks (CNNs) for image classification. The objective is to classify animal images, such as distinguishing between "panda" and "dog," using CNN models. Through this project, participants will:

  • Explore the factors that contribute to a "good" model.
  • Analyze the impact of model depth and parameter efficiency.
  • Understand the sensitivity of CNNs to data manipulations and improve their resilience.

The project consists of four main steps, as outlined below.

πŸ—“ Steps in the Project

  1. Model Training and Testing:
    • Build a CNN model.
    • Train and test the model on a dataset of animal images.
  2. Testing with Manipulated Images:
    • Evaluate the model on test images manipulated under different lighting conditions.
    • Identify any performance degradation and analyze its causes.
  3. Color Constancy Algorithm Application:
    • Apply a color constancy algorithm to correct manipulated images.
    • Retest the model and compare the performance.
  4. Result Analysis and Reporting:
    • Compare test results across the three scenarios.
    • Suggest solutions for performance improvement if scores remain low.

The most effective model and proposed solution will have the opportunity for project presentation.

You can access the code and notebook files for this project via the links below:

πŸ—‚οΈ File Structure

  • animal_classification.ipynb: Contains all the steps of the project, including CNN implementation, testing, and analysis.

πŸ› οΈ Technologies Used

  • Python
  • TensorFlow/Keras
  • NumPy
  • Matplotlib
  • OpenCV (for image manipulation and color constancy algorithms)

βš™οΈ Requirements

To run the project, the following components are required:

  • Python 3.8 or higher
  • Required Python libraries:
    pip install tensorflow numpy matplotlib opencv-python

πŸš€ How to Run

  1. Clone this repository:
    git clone https://github.com/erenyurtcu/Animal-Classification
  2. Open the animal_classification.ipynb notebook in Jupyter Notebook or any compatible environment.
  3. Run the cells in sequence to execute the steps of the project.

πŸ“ˆ Goals and Objectives

  • Develop a CNN model for animal classification.
  • Evaluate the model’s sensitivity to manipulated input data.
  • Apply image processing techniques to improve model robustness.
  • Compare and analyze results to identify the best solution.

🌐 Links

πŸ“Š Evaluation Criteria

  • Accuracy of the CNN model on the original dataset.
  • Robustness to manipulated data.
  • Improvement in scores after applying color constancy.
  • Depth vs. performance trade-offs in CNN design.

✍️ Notes

  • The dataset and additional implementation details are described in the linked repositories.
  • For any questions or issues, feel free to reach out via GitHub or Kaggle.

About

A project utilizing Convolutional Neural Networks (CNNs) to classify animal images. It evaluates model performance, sensitivity to manipulated images, and robustness. The project incorporates color constancy algorithms for preprocessing to enhance results and analyzes outcomes across different scenarios.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published