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

CSE4028

Object-oriented software
Development
Lab - 1
Chlorophyll - The Crop Protection App

Submitted To:
Akila Victor

Submitted By:
Eshika Shah - 19BCE0271 - (L31 + L32)
Apurva Sharma - 19BCE0162 - (L27 + L28)
Kaushal Damania - 19BCE0156 - (L27 + L28)
Ayushee Nandani - 19BCE0517 - (L27 + L28)
Inspiration
Every year, an estimated 10% of the global produce goes waste due to pests and
crop pathogens. This is the reason why crop productivity in many countries is
declining. For example, India is among the top producers of several crops such
as wheat, rice, pulses, sugarcane, and cotton. Most farmers cannot tell if a crop
is diseased or not just by looking at it. Farmers rely on the income they get from
their crops and many go broke if their crops turn bad.

Objective
The emerging resistance of crop pathogens to fungicides poses a challenge to
food security and compels the discovery of new antifungal compounds.
Productive agriculture systems are always vulnerable to hazards of climate and
pests and diseases causing threats to the food security of any nation. Healthy
and productive plants not only are essential but are the very essence of
humankind, environment, for food, fiber, energy, and general well-being. This is
beneficial not just to farmers, but also to the society at large. Therefore we
wanted to do our part and came up with the idea of Chlorophyll- The Crop
Protection App -

An artificially intelligent web app that identifies if your crop is diseased. We plan
on creating a pest detection algorithm that provides farmers with the phone
numbers of local pest control facilities. We also show effective tips on agriculture
and display predicted weather data so that farmers can plant their crops
accordingly.

Proposed Features

1. Predicting disease of the crop


Detection of plant disease through some automatic technique is beneficial
as it reduces a large work of monitoring in big farms of crops, and at a very
early stage itself it detects the symptoms of diseases i.e. when they appear
on plant leaves. The algorithm would help the farmers to identify the
diseased crop using a deep learning algorithm image segmentation
technique, which is an important aspect for disease detection in plant leaf
disease.

2. Providing remedies
Now that the farmer knows the plant disease the app also provides
information about the disease and provides measures to eradicate the
disease, and lists necessary precautions.

3. Reminder to water the crops


Create an alarm-based schedule that alerts the farmer to water the crops
and provides information about the number of fertilizers and pesticides
needed to monitor plant health.

4. Accurate weather data in the app


Provide weather information with good accuracy so that the farmers can
schedule the harvest accordingly.

5. Hand on the degree of soil fertility


The user can determine if the fertility of the soil is suitable for the healthy
growth of crops.
Advantages
- Predicting the plant diseases would let the farmer catch the problem early
and can refrain from causing huge damage to crops. The user-friendly
design of the application would also show the sample diseased plant and
the farmer can compare the type of plant disease.
- The application would also provide remedies to the farmer once the
disease is detected, once the disease is known, we render some
information regarding the disease and list points on how to cure it on a
clean interface.
- Providing reminders to water the crops will help the farmer in case there
are special needs for a particular crop. And would help them schedule and
plan proper nourishment for each type of crop accordingly.
- By providing weather and soil fertility data, the farmer would be able to
formulate the kind of fertilizers and pesticides to use.

Disadvantages
- The deep learning model would have some limitations when it comes to
accurate predictions since the background noise volume is immeasurable
and can affect the prediction accuracy.
- There are limitations to the number of diseases the application can predict
as it is based on a deep learning model with 10 classes or categories of
diseases.
- Creating reminders could be a hindrance as it is a web application,
therefore we are planning to integrate Google Calendar API, which would
add reminders to user’s Google calendars.

Challenges
- Since this is a web application, making it user-friendly and mobile-friendly
for a farmer could be difficult.
- Integrating each feature with a good interface and making the application
scalable is one of the biggest challenges.
- Creating a model with good prediction accuracy and deploying that model
into the application.
Process model detailed explanation
Description of problem:

The biggest threats that food security currently faces are pests along with crop diseases and the
lack of necessary infrastructure to identify them. Oftentimes, the diseased crops are either
misdiagnosed or go unnoticed completely until it’s too late. The brunt of this issue is mostly
faced by the farmers whose entire livelihoods depend on the sale of crops. Although various
efforts have been enforced to battle crop loss due to diseases such as the development of local
plant clinics, the creation of new and improved pesticides, and so on, the one thing they lack is
accessibility.

Smartphones and the internet on the other hand have become more and more accessible to
remote areas in this day and age. Most of them come equipped with quality cameras and other
helpful features.

Hence, we plan to create a web app that will help farmers identify whether their crop is diseased
or not. We believe automation of the disease detection process would remove the scope of
mistakes made by the farmers in detecting the disease and would lead to better crop yield
overall. We also plan to provide functionalities like providing contact details of local pest control
facilities, suggested remedies for the affected plants, providing accurate weather updates,
reminders for watering crops, and other effective tips on agriculture and soil fertility.
Here, the requirements for this particular project are mostly well defined and all the system
features we plan to include are also well defined from the start. Hence, the most appropriate
process model to be used here will be the waterfall SDLC model.

Why a waterfall model?


The waterfall model is quite simple to implement and is quite systematic and linear in nature.
In our web app we would implement the following:
1. Correct identification of the plant disease.
2. Providing effective known remedies.
3. Accurate weather updates so that the farmers can plan their harvest schedule early on.
4. Information on soil fertility.
5. A user-friendly UI so that the web app is easy to use.

Our requirements and goals for this project are properly known and well established. Along with
this, the tech stack that we will require is also identified from the start. Along with this, the
project can be divided into proper phases such as learning the concept, design, implementation,
testing, installation, troubleshooting, and finally operation and maintenance.
A schedule can be set with deadlines for each stage of development and a product can proceed
through the development process model phases one by one.
Each phase can be divided among the four team members so that the workflow is evenly
distributed and no one is overworked. Along with this each stage along with its process can be
properly documented along with the results.

Since each phase is targeted singularly, the quality of work produced will be high and errors will
be less. We gauged other models as well but after careful analysis, we decided to go with the
waterfall model. The iterative waterfall model overcomes the disadvantage of lack of feedback in
the waterfall model but in over case each part of the development process is mostly
independent of each other and does not require feedback to the processes which are already
completed.

Hence to reduce the unnecessary increase in complexity we decided not to go with an iterative
waterfall model. The spiral model focuses on risk management and is meant for large-scale
projects. Our project is not large scale and it has minimum risk. Testing is only required
post-development hence the spiral model was not a good fit for our project. The incremental
model works best with parallel processes and parallel integration with step-by-step deployment.
Our projects only had two parallel processes which are loosely coupled and did not require
separate testing. Also, the end product requires a UI to be deployed Hence we decided to not
choose an increment model as it did not provide a lot of benefits and would require parallel
work.

Gantt chart and activity planning


Process name Team members

1. Brainstorming

2. Initial features Eshika, Apurva, Kaushal, Ayushee

3. Feasibility analysis Eshika, Apurva, Kaushal, Ayushee

4. Documentation Eshika, Apurva, Kaushal, Ayushee

5. Requirement analysis Eshika, Apurva, Kaushal, Ayushee

6. Design

7. Database design Apurva

8. UI design Ayushee

9. Making ML model Eshika

10. Web-app client design Kaushal

11. Development

12. Web-app functionality Kaushal

13. Training ML model Eshika

14. API for model Apurva

15. Documentation for model Ayushee

16. API for user data Apurva

17. Documentation for user Ayushee

18. Linking API to web-app Kaushal

19. Improving prediction Eshika

20. Improving UI Ayushee

21. Testing

22. Testing ML model Eshika

23. Testing web-app Ayushee

24. Testing backend Apurva, Kaushal

25. Bug fixes Eshika, Apurva, Kaushal, Ayushee

26. Deployment
27. Deploying backend Apurva, Kaushal

28. Deploying web-app Eshika, Ayushee

29. Final product testing Eshika, Apurva, Kaushal, Ayushee

You might also like