https://github.com/alexisbalayre/ladybugai
LadybugAI: Machine Learning for Species Classification and Spot Counting
https://github.com/alexisbalayre/ladybugai
computer-vision deep-learning machine-learning
Last synced: about 1 month ago
JSON representation
LadybugAI: Machine Learning for Species Classification and Spot Counting
- Host: GitHub
- URL: https://github.com/alexisbalayre/ladybugai
- Owner: AlexisBalayre
- Created: 2024-03-01T16:03:31.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-03-01T16:19:00.000Z (over 1 year ago)
- Last Synced: 2025-03-16T23:27:33.075Z (7 months ago)
- Topics: computer-vision, deep-learning, machine-learning
- Language: Jupyter Notebook
- Homepage:
- Size: 67.5 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Ladybug Classification and Spot Counting using Machine Learning
## Overview
This project, developed by Alexis BALAYRE, Augustin CREUSILLET, and Julien GODFROY, is a comprehensive exploration into the realm of machine learning and computer vision. Our goal is to classify two species of ladybugs - _Harmonia axyridis_ and _Coccinella septempunctata_ - and accurately count the spots on their backs. This task is not just academically challenging but also of ecological interest, as _Harmonia axyridis_ is considered invasive in Europe.
## Dataset
We utilise a curated dataset consisting of high-resolution images of the two ladybug species, accompanied by segmentation masks for more precise analysis. Each image in the dataset is labeled with the correct species and the number of spots, which serves as the ground truth for our models.
## Features
- **Data Preparation and Exploration**: Detailed exploration of the dataset, including visualization of the images and segmentation masks to understand the features of each species.
- **Clustering and Visualisation**: Implementing K-means clustering to identify distinct groups within the data based on the features extracted from the images.
- **Classification Model**: Training a RandomForest classifier to distinguish between the two species of ladybugs.
- **Spot Counting**: Utilising region-based properties to count the number of spots on each ladybug, which is crucial for accurate species classification.
- **Deep Learning Approach**: Experimenting with Convolutional Neural Networks (CNNs) to enhance classification accuracy and spot counting.## Technologies
This project leverages the power of Python and several libraries, including:
- **Pandas & Numpy** for data manipulation,
- **Matplotlib & Seaborn** for data visualisation,
- **Scikit-Learn** for machine learning algorithms and preprocessing,
- **Keras** for building and training deep learning models,
- **Scikit-Image** for image processing tasks.## Getting Started
To replicate our findings or explore the dataset with your methods, please ensure you have Python 3.6+ installed. Clone this repository, navigate to the project directory, and install the required dependencies:
```
pip install -r requirements.txt
```## Usage
The main analysis is presented in a Jupyter notebook format. To start exploring, run:
```
jupyter ladybug_classification.ipynb
```Navigate through the notebook to understand the workflow, from data loading and preprocessing to modeling and evaluation.
## License
This project is open-sourced under the MIT license.