Advanced AI Plant Identification & Medicinal Uses

Job ID: 39363015

Budget: ₹12,500 – ₹37,500 INR

Precision Agriculture Project: Medicinal Plant Classification using CNN with Part-Based Recognition
Updated Project Objective
Train a Convolutional Neural Network (CNN) model capable of identifying medicinal plants from images of different parts such as leaves, roots, stems, or flowers. The system should be able to:

Predict the name of the plant

Identify which plant part is shown in the image

Return the medicinal use of that specific plant part

Step-by-Step Requirements for the Freelancer
1. Dataset Collection and Labeling
The dataset must be organized by plant species and further subdivided by plant parts.

Each folder should contain multiple labeled images for every plant part.

Folder Structure:

markdown
Copy
Edit
dataset/
Neem/
leaf/
img1.jpg, img2.jpg
root/
img1.jpg, img2.jpg
stem/
img1.jpg
Tulsi/
leaf/
img1.jpg, img2.jpg
root/
img1.jpg
Each image must be labeled with:

Plant name (e.g., "Neem")

Plant part (e.g., "leaf")

Create a CSV or JSON file mapping image paths to their labels, if needed for training.

Classes should be created by combining plant name and part name, for example:

Neem_leaf

Neem_root

Tulsi_leaf

2. Model Building Using CNN
Objective:
Recognize both the plant and the plant part from an input image.

Two Modeling Approaches:
Approach A: Multi-Label Classification

CNN has two output heads:

One for plant name (softmax)

One for plant part (softmax)

Approach B: Single Combined Classification

CNN outputs combined classes such as Neem_leaf, Tulsi_root, etc.

Recommendation:

Start with Approach B for simplicity and expand to Approach A later for better flexibility and modularization.

Requirements:
Use TensorFlow/Keras or PyTorch for model implementation.

Apply image augmentation techniques for generalization.

Split dataset into training, validation, and test sets (e.g., 70/20/10).

Save the trained model in a deployable format (.h5, .pt, or TFLite).

3. Medicinal Knowledge Base Mapping
Create a structured JSON or SQLite database that maps:

Plant name

Part

Medicinal use of that specific part

Example:

json
Copy
Edit
{
"Neem": {
"leaf": "Used for skin disorders and detoxification.",
"root": "Has antibacterial properties.",
"stem": "Used in dental hygiene as neem sticks."
},
"Tulsi": {
"leaf": "Treats fever, cough, and cold.",
"root": "Used for reducing inflammation."
}
}
The system must fetch the correct medicinal description based on the predicted plant and part.

4. User Interface (Web or Mobile Application)
Design a minimal and clean interface allowing users to:

Upload or capture an image

View the predicted plant and part

Read the medicinal use of the part

Display Format:

Plant Name: Neem

Detected Part: Leaf

Medicinal Use: Used for skin disorders and detoxification

Confidence Score: 94.2%

Optional Features:

A feedback button: "Is this correct?"

Option to report misclassification

5. Model Integration and Backend Development
Use Flask, Django, or FastAPI for the backend.

Backend responsibilities:

Load the trained model

Receive images via API

Run prediction

Fetch medicinal data from the database

Return structured JSON response

The frontend should interact with the backend using API endpoints.

6. Deployment
Deploy the application on any of the following platforms:

Render

Heroku

AWS

Google Cloud

For mobile: Use React Native or Flutter; convert model to TensorFlow Lite

Ensure the deployed system can:

Accept real-time or uploaded images

Predict and display accurate results

Be accessed via browser or mobile app

7. Bonus Features
Allow users to submit new images to improve the dataset

Text-to-speech integration to read medicinal use aloud

Multilingual support (English, Hindi, etc.)

Admin panel for updating the medicinal database

Final Deliverables
Fully labeled image dataset (with train/val/test split)

Trained CNN model capable of predicting plant and part

Medicinal database in JSON or SQLite format

Full-stack application with:

Image input

Model prediction

Medicinal use display

API documentation for integration

Deployment on a web server or mobile platform

Source code repository (preferably GitHub or GitLab)

Installation and usage manual

Walkthrough video (optional but recommended)

A detailed 10-page project report (see structure below)

Project Report Structure (10 Pages)
This report must be written manually without plagiarism or AI involvement. The structure should include:

Introduction

Importance of medicinal plants

Role of AI and image recognition in precision agriculture

Problem Statement

Challenge of identifying plants in rural or tribal settings

Need for part-wise recognition

Difficulty in manual classification

Objectives

Build a system to classify plants based on parts

Link plant parts to their medicinal uses

Provide an accessible, easy-to-use interface

Literature Survey

Overview of similar works (cite 3–5 research papers)

Limitations in current methods

Contribution of this project

System Architecture

Data flow diagram

Module-wise description (Frontend, Backend, CNN Model, Database)

Dataset Description

Number of plants and parts

Image count per class

Sources of data

Image augmentation techniques

Model Architecture

Layers of the CNN

Loss functions

Training details

Accuracy and validation metrics

Implementation Tools

Python, TensorFlow, Flask, React Native, etc.

Justification of tool choices

Results and Observations

Accuracy achieved

Sample predictions with screenshots

Discussion of false positives/negatives

Conclusion and Future Scope

Summary of the solution

Future improvements (e.g., real-time detection, more plant species, offline mode)