CNN Based Medicinal Plant Classification
Budget: ₹1,500 – ₹12,500 INR
Project Requirement Document
Title: Medicinal Plant Classification Using CNN Based on Plant Parts
Project Objective
Develop a backend system that uses a Convolutional Neural Network (CNN) model to classify medicinal plants based on their parts (leaf, root, stem, flower) from images. The system must predict the plant name and the specific plant part from the input image and retrieve the corresponding medicinal use from a structured database.
This project focuses entirely on the machine learning model, data preparation, and documentation. No user interface or cloud deployment is required.
Scope of Work
1. Dataset Collection and Labeling
The freelancer is required to collect and label the dataset based on reference image links provided by the client.
The dataset should follow a structured folder hierarchy as shown below:
link of the dataset to be used: https://www.quantitative-plant.org/dataset
Copy
Edit
dataset/
├── Neem/
│ ├── leaf/
│ ├── root/
│ └── stem/
├── Tulsi/
│ ├── leaf/
│ └── root/
Each image must be clearly labeled with:
Plant Name (e.g., Neem, Tulsi)
Plant Part (e.g., leaf, root, stem)
Labels should be combined for model classification (e.g., Neem_leaf, Neem_root).
A label mapping file (CSV or JSON) should be created to link images with class names.
The dataset must not be small; it should contain a sufficient number of images per class to ensure the model performs well on unseen or random plant parts in the future.
2. CNN Model Development
Build a CNN model using either TensorFlow/Keras or PyTorch to classify images based on combined labels such as Neem_leaf, Tulsi_root, etc.
Implement appropriate data preprocessing and augmentation techniques to improve model robustness.
Use a single-output classification approach.
The dataset should be split into:
70% training
20% validation
10% testing
Train the model and provide the final trained file in one of the following formats: .h5, .pt, or .tflite.
3. Medicinal Use Database
Create a structured database (either in JSON or SQLite) that contains the medicinal use of each plant part.
Example:
json
Copy
Edit
{
"Neem": {
"leaf": "Used for skin disorders and detoxification.",
"root": "Has antibacterial properties.",
"stem": "Used in dental hygiene."
},
"Tulsi": {
"leaf": "Treats fever, cough, and cold.",
"root": "Used for inflammation reduction."
}
}
The model should be able to return the medicinal use based on the predicted plant and part combination.
4. Project Deliverables
Model and Code
Labeled dataset organized in the correct folder structure
Trained CNN model file (.h5, .pt, or .tflite)
Complete and clean source code with all dependencies specified
JSON or SQLite medicinal use database
Instructions or scripts to run the project on a local machine
Documentation (Minimum 4 Pages in PDF or DOCX Format)
The documentation should include:
Model Architecture
Detailed explanation of the CNN layers and structure used
Purpose of each major layer or block
System Design
Workflow of the entire system from input to prediction
Dataset pipeline and class handling
Data Preprocessing
Techniques used for cleaning, augmenting, and normalizing images
Strategy for handling class imbalance if any
Model Classes Description
Clear list and explanation of all combined classes used for training (e.g., Neem_leaf, Tulsi_root)
Number of images per class
Execution Instructions
Steps to set up the local environment (Python version, libraries)
How to run the training and inference scripts locally
Sample commands and expected outputs
Performance Results
A table summarizing:
Training accuracy
Validation accuracy
Test accuracy
If available: precision, recall, F1-score
Mention specific areas where the model underperformed or showed errors
Include sample misclassified images if possible
Timeline
The complete project, including model, dataset, and documentation, must be delivered within 4 days from the date of assignment.
Notes
No frontend or deployment functionality is required.
The freelancer must collect and prepare the dataset using publicly available sources as suggested by the client.
Ensure the dataset has enough volume and variety to allow future scalability and robustness of the model.
Title: Medicinal Plant Classification Using CNN Based on Plant Parts
Project Objective
Develop a backend system that uses a Convolutional Neural Network (CNN) model to classify medicinal plants based on their parts (leaf, root, stem, flower) from images. The system must predict the plant name and the specific plant part from the input image and retrieve the corresponding medicinal use from a structured database.
This project focuses entirely on the machine learning model, data preparation, and documentation. No user interface or cloud deployment is required.
Scope of Work
1. Dataset Collection and Labeling
The freelancer is required to collect and label the dataset based on reference image links provided by the client.
The dataset should follow a structured folder hierarchy as shown below:
link of the dataset to be used: https://www.quantitative-plant.org/dataset
Copy
Edit
dataset/
├── Neem/
│ ├── leaf/
│ ├── root/
│ └── stem/
├── Tulsi/
│ ├── leaf/
│ └── root/
Each image must be clearly labeled with:
Plant Name (e.g., Neem, Tulsi)
Plant Part (e.g., leaf, root, stem)
Labels should be combined for model classification (e.g., Neem_leaf, Neem_root).
A label mapping file (CSV or JSON) should be created to link images with class names.
The dataset must not be small; it should contain a sufficient number of images per class to ensure the model performs well on unseen or random plant parts in the future.
2. CNN Model Development
Build a CNN model using either TensorFlow/Keras or PyTorch to classify images based on combined labels such as Neem_leaf, Tulsi_root, etc.
Implement appropriate data preprocessing and augmentation techniques to improve model robustness.
Use a single-output classification approach.
The dataset should be split into:
70% training
20% validation
10% testing
Train the model and provide the final trained file in one of the following formats: .h5, .pt, or .tflite.
3. Medicinal Use Database
Create a structured database (either in JSON or SQLite) that contains the medicinal use of each plant part.
Example:
json
Copy
Edit
{
"Neem": {
"leaf": "Used for skin disorders and detoxification.",
"root": "Has antibacterial properties.",
"stem": "Used in dental hygiene."
},
"Tulsi": {
"leaf": "Treats fever, cough, and cold.",
"root": "Used for inflammation reduction."
}
}
The model should be able to return the medicinal use based on the predicted plant and part combination.
4. Project Deliverables
Model and Code
Labeled dataset organized in the correct folder structure
Trained CNN model file (.h5, .pt, or .tflite)
Complete and clean source code with all dependencies specified
JSON or SQLite medicinal use database
Instructions or scripts to run the project on a local machine
Documentation (Minimum 4 Pages in PDF or DOCX Format)
The documentation should include:
Model Architecture
Detailed explanation of the CNN layers and structure used
Purpose of each major layer or block
System Design
Workflow of the entire system from input to prediction
Dataset pipeline and class handling
Data Preprocessing
Techniques used for cleaning, augmenting, and normalizing images
Strategy for handling class imbalance if any
Model Classes Description
Clear list and explanation of all combined classes used for training (e.g., Neem_leaf, Tulsi_root)
Number of images per class
Execution Instructions
Steps to set up the local environment (Python version, libraries)
How to run the training and inference scripts locally
Sample commands and expected outputs
Performance Results
A table summarizing:
Training accuracy
Validation accuracy
Test accuracy
If available: precision, recall, F1-score
Mention specific areas where the model underperformed or showed errors
Include sample misclassified images if possible
Timeline
The complete project, including model, dataset, and documentation, must be delivered within 4 days from the date of assignment.
Notes
No frontend or deployment functionality is required.
The freelancer must collect and prepare the dataset using publicly available sources as suggested by the client.
Ensure the dataset has enough volume and variety to allow future scalability and robustness of the model.
Related categories:
Python
Machine Learning (ML)
Backend Development
Deep Learning
Convolutional Neural Network