Ayad

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 16

Arab Open University- Computer science

Faculty of Computer Studies


Information Technology and Computing
Department

PlantGuardian
Plant Diseases identification app

Ayad Khalid 2051711010


TM471: Final Year Project, May 2023
Supervisor: Dr. Sara Nabil
Abstract

This abstract presents a graduation project that aims to develop a plant diseases app, The
app will involve developing the app interface, the database of the plant diseases, image
recognition model and artificial intelligence to help users identify plants and their
diseases.
the user could also browse plant types from the database along with common diseases
and tips on how to prevent them, the main goal of this project would be to make
plantsman and gardening enthusiastic and anyone who cares about agriculture have a
useful and user-friendly application that can be accessed by anyone that can help them
diagnose and manage their plant diseases.

Acknowledgements

I would like to thank my friends for providing help with identifying what’s missing with
my project idea and plans, Dr sara nabil for examples and ideas on what the project could
be about and where to start and being a conduit for knowledge and help if I’m confused
about something, and everyone else for the positive reinforcement I got while exploring
this project.

Contents

Chapter 1: Introduction
1.1 Background
1.2 Problem statement
1.3 Aims and objectives
1.4 constraints
1.5 Summary of chapters

Chapter 2: Technological challenges and Related analysis


2.1 Introduction 2.2 image recognition system
2.3 computer vision 2.4 dataset
2.5 user interface 2.6 features
2.7 related work

Chapter 3: Requirement and analysis


3.1 introduction 3.2 requirement steps
3.3 project analysis 3.4 testing and evaluation
3.5 evidence

Conclusion
Chapter 1: Introduction

1.1 Background

Plant diseases pose a serious threat to the productivity and profitability of agriculture,
affecting millions of farmers and gardeners around the world. According to the Food
and Agriculture Organization, plant diseases reduce global crop by 10-16% annually,
resulting in economic losses of up to $220 billion.

One of the main challenges in dealing with plant diseases is their accuracy. Many
plant diseases have similar symptoms, making it hard to identify the actual cause and
apply the appropriate treatment. Also, many farmers and gardeners lack access to
reliable and up-to-date information on plant diseases and their management,
especially in remote areas.

To address this challenge, i propose the development of a plant diseases app that uses
image recognition model and AI to help users identify plants and their diseases. The
app would allow users to take a picture of a plant or a plant part and upload it to the
app. The app would then analyse the image using deep learning model trained on a
large database of plant images and diseases, and provide the user with diagnosis,
along with information on the cause and how to cure and control the disease.

The plant diseases app would have several benefits for users. First, it would improve
the accuracy and speed of plant disease diagnosis, reducing the need for high price
and slow lab tests. Second, it would increase the accessibility of plant disease
information, making it available anytime and anywhere through a user-friendly
interface. Third, it would enhance the awareness and knowledge of users on plant
diseases and their management.

The plant diseases app is a novel solution that combines cutting-edge technology and
user-centred design to address a major challenge for farmers and gardeners. By
developing this app, I aim to contribute to the improvement of plant health
management and the promotion of sustainable agriculture.
1.2 Problem statement

Agriculture people face problems everyday by dealing with pests and diseases to plants,
and people with no background information don’t know how to deal with the different
diseases and pests that effect those plants, and even something experts can mess up by
not noticing small differences in plants that can be there because a disease has infected a
plant and its killing it, and diseases and pests that kill the plants are a lot and it can be
from bacteria, fungi, nematodes and viruses, these diseases cost the global economy 220
million US dollars annually, there are also a lot of environmental and cultural problems
that affect plants causing them to need to be taken care of with treatments.

Symptoms for plant diseases can be a lot and really hard to memorise for all plants but
the most common types would be leaf spot, blight, chlorosis and necrosis.

Plants need to be taken of to avoid those issues and one of them would be to ensure plants
are taken care of in a naturally safe place and that the plants are being fertilized and are
having pesticides used to ensure no organisms eat the plants and the pesticides need to be
user-friendly and won’t affect the plants in a bad way in the long run.

So, people needed to find a more consistent way to know instantly if a plant is affected
and if it needs to be taken care of, while avoiding all those issues that can interfere with
achieving our goals.

1.3 Aims and Objectives

The aim of this project is to build an app that is easy to use and is effective at helping
users to identify the plants and their diseases using image recognition model and AI
then the app will provide all information about the visible symptoms and treatment
options for the different diseases, helping farmers and plants enthusiasts to understand
and learn more on how to save their plants.

The specific objectives of this project are:

 Developing the image recognition model to be able to identify the different


plants and different diseases.

 Creating and managing the database of plant diseases and their symptoms

 Building a friendly user interface that allows ease of access and to allow
anyone that uses it to access the full functionality of the app.

 Adding localization to the app so that its accessible to everyone in the world
no matter what language they speak
Figure 1 gnatt chart for the objectives of project

This is the time plan in which the progress of the project will go through from start to
finish.

1.4 Constraints

There are several constraints that are standing in the way of the project, like:

 Limited time and resources

 implementation of different languages in the application

 developing and training the image recognition model

 competing with big companies to provide the best experience for users.

 limited access to real life plant diseases


1.5 Summary of Chapters

Chapter 2: technological challenges and related work

This chapter is about the existing work of other developers on similar projects that
include plant diseases and image recognition models. On this chapter I will discuss
the challenges that come with using the different technologies I will be using to
identify and provide information about plant diseases.

Chapter 3: requirements and analysis

This chapter is about listing the requirements and which steps to take to make them
happen, in this chapter I will use UML diagrams to show how the app will function
and explain more about how the requirements will work and how to test it out and
analyse them through the diagrams.
Chapter 2: Technological challenges and Related analysis

2.1 Introduction
This chapter will help with understanding more about the different challenges that comes
with the development of the plant disease identification app and how the app utilizes the
different technologies to beat the challenges that stand in the way, and it will also show
and analyse what other creators and companies have done to overcome these challenges.
I will be comparing between 3 apps and in the end, I will show how it reflects into my
own app and what challenges I will have to face.

The apps are Plantix, PlantSnap and Agrio.

2.2 Image recognition system

An image recognition system in plant diseases app is a technology that uses machine
vision to capture images of plants and identify whether they are healthy or infected by
diseases or pests.

To make an image recognition system in plant diseases app I’ll be training a deep
learning model to learn from a database of plants and diseases on them and it will start
recognizing the features that infected plants will have and classifying them under certain
names depending on the disease, this way the users can simply take a picture of their
plant and the app will connect to the database and provide results by recognizing the
characteristics of the disease which is done through computer vision

Plantix uses deep learning algorithms to recognize the patterns of plant diseases inside
pictures and the image recognition system is based on convolutional neural networks
which are trained on larger database filled with images of plant diseases.

PlantSnap has the same functionalities in terms of using machine learning algorithms
including convolution neural networks to identify the plant diseases, but PlantSnap can
also be used just to identify plant species and that’s the main purpose of the application.

Agrio also uses image recognition technology to analyse photos of crops and analyse if it
has any diseases.

So, all 3 apps use similar image recognition technology, but each has its own strengths
and weaknesses in terms of accuracy or their main purpose.
2.3 Computer vision

Computer vision is artificial intelligence that lets the machine to process and analyse
certain information from plant images and through that it can train to recognize the
features and characteristics of diseases and what shape and colour do they appear in, this
way we can train it to differentiate between healthy and sick plants, and all of this can be
done by using the deep learning model method to train the AI for the app

All 3 apps are similar in their computer vision capabilities, they all have the ability to
recognize plants and diseases using machine learning and image recognition, the only
difference is PlantSnap is more focused on plant identification and information more than
diseases that can affect the plants.

2.4 Dataset
Finding and storing the data about plant diseases to help train the deep learning model is
another challenge because I need to find an up-to-date database that I can legally use to
train my model to identify the diseases, symptoms, characteristics and how to prevent the
disease from killing the plant.

In terms of datasets, Plantix, PlantSnap, and Agrio all have access to large collections of
images of plants and plant diseases.

Plantix has a large and constantly growing database of images, which includes over 400
plant species and over 60 plant diseases.

PlantSnap also has a large database of over 600,000 plants and claims to use artificial
intelligence and machine learning algorithms to improve its image recognition accuracy.
PlantSnap also provides access to its users to the database to allow manual searching of
plants using their name.

Agrio, on the other hand, has partnerships with various agricultural organizations and
universities, which may provide them with access to a diverse range of datasets.

The accuracy of those datasets is unknown because it relies on the quality of the provided
images to the image recognition model.
2.5 User interface

Another challenge would be to design a fully user-friendly interface that any user can use
to interact and navigate within the app and it should be clear and straightforward to avoid
confusion and to make it efficient to find the information needed, another big part of
having a great UI is to make it accessible by people from all countries and to be able to
use the app with the language they prefer.

Plantix has a user-friendly interface that is easy to navigate around the app and it allows
the user to quickly access different parts of the app and make it easy to use the app from
taking a picture to detecting diseases and displaying them to the user, it also provides
recommendations on how to handle certain types of diseases depending on where the user
is currently using the app from.

PlantSnap also has a similar interface to plantix in terms of ease of use but its more
interactive and visually appealing, it also provides a lot of plant information to the user
instantly including the plant name, family and more.

Agrio is primarily used by professionals so the design of the interface is complex and
very detailed with analytics and insights which may confuse people who are new to
agriculture, so Plantix and PlantSnap are used more due to its simplicity.

2.6 Features
One of the challenges that face any app is how to design Special features that would
attract people and would make the app special from any other app in the market and those
would be the features of that app, trying to come up with unique and useful Features are
hard and they are usually not the main point of the app but they hold the main idea of the
app together and those include performance and accessibility that would make the app
more interactive and efficient to use.
Plantix:
Personalized recommendations: provides customized recommendations for managing
plant diseases based on the user's location and crop type.

Community support: allows users to connect with plant health experts and other users for
advice and support.

Weather data: provides real-time weather data for the user's location to help with disease
management.

Crop monitoring: offers a crop monitoring feature to track the growth and health of plants
over time.

PlantSnap:
Personalized recommendations: provides recommendations for similar plants based on
the user's search history.

Social sharing: allows users to share their plant photos and discoveries on social media.

Offline access: offers offline access to the plant database for users without internet
connectivity.

Agrio:
Disease detection: can detect multiple types of plant diseases and pests, including
bacterial, fungal, and viral infections.

Real-time analysis: provides real-time analysis of plant health, enabling quick diagnosis
and treatment of diseases.

AI-powered recommendations: provides customized recommendations for managing


plant diseases based on the user's data and history.

Easy data management: allows users to store and manage their data in the cloud for easy
access and analysis.
PlantGuardian (what features to expect):

Community support: allows users to connect with other users for support and
communication.

App interface customization: allowing users to be able to control how the interface
look like in terms of looks and feel.

Offline access: offline access to the app without the need for internet.

Updates: constant updating the app to keep up with changes and adding new
features.

2.7 Related work


Reviewing other developers work in this subject’s field is essential to be able to identify
the strengths and weaknesses of my app and to know how I can improve upon it, some of
the apps and research studies include:

 Plantix: a popular plant disease app that uses AI to diagnose diseases and it
also features a large database of plant diseases and symptoms, the app also
provides a way to contact with specialists to get support about plant related
information. [1]

 PlantSnap: an app that identifies plants and flowers by analysing a photo of


them. It provides users with information about the identified plant's species,
family, and genus, as well as other useful information like planting tips and
common uses.[2]

 Agrio: a mobile app that provides farmers with personalized crop


management advice based on image recognition and machine learning
technology. It offers farmers real-time insights into crop health, weather
forecasts, and soil conditions to optimize yield and minimize waste.[3]

 DeepPlant: DeepPlant is a research project that uses deep learning techniques


to classify plant diseases from leaf images. It achieved high accuracy rates in
identifying 20 different plant diseases, including bacterial, fungal, and viral
diseases. [4]

 PlantVillage: PlantVillage is a web-based platform that uses crowdsourcing


and AI to diagnose plant diseases. It allows users to upload images of plant
diseases, which are then analysed by a community of experts and volunteers,
who provide feedback and recommendations. [5]
References: -

I. Plantix:
Plantix. (2021). Plantix - grow smart. Retrieved from https://www.plantix.net/

II. PlantSnap:
PlantSnap. (n.d.). PlantSnap - Identify Plants, Flowers, Trees & More. Retrieved May 12,
2023, from https://www.plantsnap.com/

III. Agrio:
Agrio. (n.d.). Agrio - Grow Better. Retrieved May 12, 2023, from
https://www.agrio.com/

4. DeepPlant:
Mohanty, S. P., Hughes, D. P., & Salathé, M. (2016). Using deep learning for image-
based plant disease detection. Frontiers in Plant Science, 7, 1419.
https://doi.org/10.3389/fpls.2016.01419

5. PlantVillage:
Hughes, D. P., Salathé, M., & Liu, Y. (2015). Crowd-driven machine learning for disease
diagnosis in plants. PloS One, 10(6), e0123261.
https://doi.org/10.1371/journal.pone.0123261
Chapter 3: Requirement and analysis

3.1 Introduction

This Chapter of the report will involve talking about the requirements the application will
need to finish and going in depth into them by breaking them down into smaller problems
and analysing them by using UML diagrams to understand how the different
requirements will be implemented and how will they exactly work.

3.2 Requirement Steps

To start off with the application some ground Requirements need to be met to be able to
start with the project and what steps am I taking for each of the requirement for my
project: -

 What is the scope of the app: the scope of the app is going to depend on how
many types of plants and diseases it can detect.

 How effective are the images in the dataset: collecting or finding a large
collection of plants and their diseases that are in good quality and quantity to
ensure the training model makes the best use of those images.

 Developing the deep learning model: designing and developing the model
using convolutional neural networks class and then training it using the
dataset I collected for the plants and diseases.

 Testing the model: making a few tests with the model like sending different
images of plants and diseases and then expecting correct feedback and how
accurate it is, how fast it produces data and how much does quality effect the
results.

 Developing the interface: creating an interface using flutter and firebase to


build the app and making sure its user-friendly and fully functional and then
combining the model with the interface and make sure it provides accurate
diagnoses without performance issues.

 Testing phase: make sure to test everything developed and making sure its
fully functional and there shouldn’t be any errors or issues, and if there are
issues then bug fixing them until they are as required.

When finishing these steps, we would have tackled the main problem and the objective of
this project which is to create a friendly easy to use and efficient plant and plant diseases
detection app that different people could use for their agricultural purposes and interests.
3.3 Project analysis

Analysing a project is fully understanding the details of the application from the different
interactions between the users and the system and the exchanging information between
the parties and how each action affects the results for the user.

Figure 2 Use case of the project's application.

From the use case in Figure 1 we can see that the user interacts with the system through
the interface and can do different activities like browsing gardening tips, change language
and more but the most important part is the action of uploading an image through gallery
or by taking a picture and then the application will analyse the diseases and plant type
and find the information through the database and after that the user will receive
information about the plants and if it exists then also what disease is infecting the plant
and will display solutions on how to handle these types of diseases that usually affect
these kinds of plants, and the developer’s job is controlling the whole database and info
and the system that provide the service to the user and he manages the performance,
accuracy of details and system that the user will use.

3.4 Testing and evaluation

Figure 3 Flow chart of image analysis example


This Flow chart explains the process of capturing an image and uploading it into the
application and how the system will handle the image and capture the characteristics of
the disease to identify what potential diseases the plant could have which then the user
can confirm and then the app will provide the solutions to that disease which then the
user will follow to take care of it.

3.5 Social, professional, legal, and ethical evidence

As for the social issue then the app will be designed to be accessible and user-friendly for
people from all backgrounds including those with disabilities and language barrier
because the app will have localization settings to adjust to people from different cultures
and won’t have any content that is offensive or discriminatory towards them and the app
won’t feature any type of sound queues and will be usable without the needs for good
hearing.

As for professional issues then the app will ensure professionalism and prioritize
performance and accuracy of information and reliability of interface due to having
multiple testing phases where a thorough bug fixing, and diagnosis will be made to
ensure the app won’t have any bugs or errors.

As for legal issues then there won’t be any issues due to having no data saved from the
user and will be an instant feedback app that won’t store any sensitive data from the user
and wont be using any copyrighted material from other companies or any other illegal
materials.

As for ethical issues then there won’t be any difference between the quantity and quality
of plants and diseases to ensure consistent results for all users.

Conclusion

Our world is advancing really fast and with faster advancement people tend to rely more
on devices to live out their lives and to make life easier in every single aspect of it, so
with my app it will make agriculture as a whole much easier to handle plants and manage
their diseases without having former knowledge about all the different plants and diseases
and making planting and agriculture as a whole a more enjoyable and easy to get into
instead of having old knowledge from people who are expert about these topics or trying
to find books that explain these topics and also risking not being able to identify diseases
and pests correctly because you could miss or you could’ve forgotten or received the
wrong information about that topic so the app will be a reliable source and it would not
fail you.

Software/tools used: - Lucidchart – Ganttproject

You might also like