You are on page 1of 30

Crop Yield Prediction Based On Remote Sensing Data

Sl. No Contents Page. No


1 Chapter-1: Introduction
1.1: Introduction 2
1.2: Scope & Objective 3
1.3: Company Profile 4
2 Chapter-2: Literature Survey
2.1: Existing System 5
2.2: Proposed System 6
2.3: Tools & Technology used
2.3.1: Introduction to Python 9
2.3.2: Features of Python
2.3.3: Kaggle 10
2.3.4: Kaggle Community
3 Chapter-3: Software Requirement Specification
3.1: Hardware Requirements 11
3.2: Software Requirements
3.3: Feasibility Study 12
3.3.1: Economical Feasibility
3.3.2: Technical Feasibility
3.3.3: Social Feasibility
3.4: Functional Requirements 13
3.5: Non-Functional Requirements
4 Chapter-4: System Analysis & Design
4.1: System Design 14
Fig 4.1: Sequence Diagram for Crop Yield 15
4.2: Sequence Diagram
Fig 4.2: Use Case Diagram for Predicting the Crop Yield 16
4.3: Use Case Diagram
5 Chapter-5: Implementation
5.1: Coding 17
5.2: Images
Fig 4.3: Soybean Yield maps from 2012 to 2015 23
Fig 4.4: Basic workflow of our approach 24
Fig 4.5: Crop Yield Energy Predicting
Fig 4.6: Estimating Crop Yield through Deep Learning 25
Table 4.7: Year wise Crop Prediction values
6 Chapter-6: Software Testing 26
6.1: Testing Levels 27
7 Chapter-7: Conclusion 28
8 Chapter-8: Future Enhancement 29
9 Chapter-9: Bibliography
9.1: References 30
9.2: Links

DSATM Dept of MCA Page 1


Crop Yield Prediction Based On Remote Sensing Data

CHAPTER-1

INTRODUCTION

1.1 Introduction:-

There's always a significant risk factor to the farmers when deciding to grow a particular crop
during a particular season, on a particular piece of land. Irrespective of the capital put in terms of
soil nutrients, water and seed quality, the crop may fail bringing disastrous losses to the farmer
and his family, eventually leading to more serious problems like debt and suicide.

The exact reason though, may not be possible to be found out, often. In order to try and prevent
such cases, there has been some significant research in the field of precision agriculture, by
which attempts have been made to improve the crop production of farmers with the help of the
data available from the past experiences of farming particular crops during particular seasons.
But, the extents of their success ultimately depend on how well the real-time situations go with
the kind of learning model the project uses and the factors that it considers in the data set.

This field is a subject of a lot of research still, allowing umpteen scopes to pick the combinations
various strategies and factors apply them to bring out a model that suits the requirements.

DSATM Dept of MCA Page 2


Crop Yield Prediction Based On Remote Sensing Data

1.2 Scope & Objective:-

Technological change in agriculture is reflected directly on the prediction of crops. It


enhances the productivity of land and improves the capability of agricultural labour.

Technical change in agriculture ranges from the use of high yielding varieties of seeds, irrigation,
fertilizer and machines such as pump sets, mechanical devises for tilling the soil, sowing and
harvesting for rising per hectare output.

Scope of crop yield prediction in agriculture is a production plant where the resources of nature
such as land, water, air, soil energy, etc. are used as inputs and then converted into a single
primary unit that is crop plants and their yield which are indispensable for human beings. It is
mainly proposed for the betterment of the crop production through across country and help in
food production.

To develop initial machine learning models for crop yield predictions to analyze the performance
of the model developed and also to explore the spatial & temporal granularity, and constraints
therein in the database

Therefore, the study of prediction, both partial and total prediction of crops is also a study of the
technological change in the crop sector.

There are several Objectives in Crop yield prediction which influence the plant growth

1. It includes mainly the prediction of soil nature that comprises of moisture


2. Determining pH of soil
3. Soil Tilth etc
4. Other factors such as irrigation salinity
5. Rainfall and growing methods.

These are the features that should be considered while predicting the crop yield.

DSATM Dept of MCA Page 3


Crop Yield Prediction Based On Remote Sensing Data

1.3 Company Profile:-

Innovation Labs at the Startup Village, Dayananda Sagar University is set up to inculcate
Research, Innovation and Incubation through partnership with industries.

It has 14 Labs spread over 25,000 sft of Space which are set up in partnership with IBM,
BOSTON, NVIDIA, Rexroth, ETAS, AUTODESK, ANALOG DEVICES, Solid Works, GE
Healthcare, DASSAULT SYSTEMS, AWS NOKIA, VMware, Intel AI Academy, etc

These Labs provide facilities and infrastructure for Product designers, entrepreneurs, academic
and industry researchers for their work in domains ranging from Machine Learning, Industrial
Design, industrial automation, Mobile and cloud computing, virtualization, Healthcare, IoT,
Automotive Systems, Signal Processing, PCB design, Additive manufacturing etc.

We have resource people with strong experience from industry and trained by the industry on
cutting edge-technologies to support innovation and research.

DSATM Dept of MCA Page 4


Crop Yield Prediction Based On Remote Sensing Data

CHAPTER-2
LITERATURE SURVEY

2.1 Existing System:-

According to Dodds and Bartram paperwork on crop yield prediction which was
published in 2016, It is estimated that 795 million people still live without an adequate food
supply (FAO 2015), and that by 2050 there will be two billion more people to feed. Ending
hunger and improving food security are primary goals in the 2030 Agenda for Sustainable
Development of the United Nations. A central challenge of addressing food security issues is
yield estimation, namely being able to accurately predict crop yields well before harvest.
Agricultural monitoring, especially in developing countries, can improve food production and
support humanitarian efforts in light of climate change and droughts. Existing approaches rely on
survey data and other variables related to crop growth (such as weather and soil properties) to
model crop yield. The approaches are very successful in the United States, where data are
plentiful and of relatively high quality [1].

Comprehensive surveys of weather parameters and land cover types such as the Cropland Data
Layer are publicly available and greatly facilitate the crop yield prediction task. However,
information about weather, soil properties, and precise land cover data are typically not available
in developing countries, where reliable yield predictions are most needed. Remote sensing data,
on the other hand, are globally available and relatively inexpensive.

It was frequently used in computational sustainability applications, such as species distribution


modeling which was proposed by Daniel Fink, Theodoros Damoulas, and Jaimin Dave in
2013[2]

DSATM Dept of MCA Page 5


Crop Yield Prediction Based On Remote Sensing Data

Poverty mapping which was published by Ermon et al. 2015 and Xie et al & Jean et al in
2016.Multi-spectral satellite images, which include information in addition to the visible
wavelengths (RGB), have fairly high spatial and temporal resolution, and contain a wealth of
information on vegetation growth and thus on agricultural outcomes [3].

However, useful features are hard to extract since the data are high-dimensional and
unstructured. This is proposed in certain papers that an approach based on modern representation
learning ideas, which have recently led to massive improvements in a range of computer vision
tasks.

According to Krizhevsky, Sutskever, and Hinton papers published in 2014 it has to overcome the
scarcity of training data by employing a new dimensionality reduction technique. Specifically, it
treats raw images as histograms of pixel counts, and uses a mean-field approximation to achieve
tractability. Deep learning architectures, including CNNs and LSTMs, are then trained on these
histograms to predict crop yields. While this approach performs well, it does not explicitly
account for spatio-temporal dependencies between data points, e.g., due to common soil
properties. It overcomes this limitation by incorporating a Gaussian Process layer on top of the
neural network models [4].

2.2 Proposed System:-

Introducing a scalable, accurate, and inexpensive method to predict crop yield using
publicly available remote sensing data and machine learning. The deep learning approach can
predict crop yield with high spatial resolution several months before harvest, using only globally
available covariates. It believe the solution can potentially help making informed planting
decisions, setting appropriate food reserve level, identifying low-yield regions and improving
risk management of crop-related derivatives.

DSATM Dept of MCA Page 6


Crop Yield Prediction Based On Remote Sensing Data

The system aims to help farmers to cultivate proper crop for better yield production. To be
precise and accurate in predicting crops, the project analyze the nutrients present in the soil and
the crop productivity based on location.

It can be achieved using unsupervised and supervised learning algorithms, like Kohonen Self
Organizing Map (Kohenon’s SOM) and BPN (Back Propagation Network). Dataset will then
trained by learning networks. It compares the accuracy obtained by different network learning
techniques and the most accurate result will be delivered to the end user. Along with this, the end
user is provided with proper recommendations about fertilizers suitable for every particular crop.

Algorithms used are Kohonen Self Organizing Map and Back Propagation Network, whereas
Kohonen’s SOM is basically Self-organizing neural networks which are used to cluster input
patterns into groups of similar patterns. They're called "maps" because they assume a topological
structure among their cluster units; effectively mapping weights to input data. The Kohonen
network is probably the best example, because it's simple, yet introduces the concepts of self-
organization and unsupervised learning easily. And BPN is a Back propagation it is a supervised
learning algorithm, for training Multi-layer Perceptrons (Artificial Neural Networks).

Gaussian process models provide a flexible, non-parametric approach to modeling that sustains
uncertainty about the function. However, computational demands and the joint Gaussian
assumption make them inappropriate for some applications. Approximations for Gaussian
processes and use stochastic process composition to create non-Gaussian processes. It illustrates
the models on simple regression tasks to give a sense of how uncertainty propagates through the
model.

A histogram is a plot that lets you discover, and show, the underlying frequency distribution
(shape) of a set of continuous data. This allows the inspection of the data for its underlying
distribution (e.g., normal distribution), outliers, skewness, etc.

DSATM Dept of MCA Page 7


Crop Yield Prediction Based On Remote Sensing Data

Steps Involved in the crop yield prediction process are as follows:-

1. "Download data" Downloading data from Google Earth Engine to Google Drive. Users
then need to export data from Google Drive to their local folder, e.g., their clusters. The
trick there is that first concatenated all images across all the years’ available (say 2003 to
2015), then download the huge image at once, which could be hundreds of times faster.
2. "Clean data" How the raw data is preprocessed, including slicing the huge images to get
individual images, 3-D histogram calculations, etc.
3. "Model" The CNN/LSTM model structure.
4. "Model batch" Since training different models for each year and each month, a batch
code is used for training.
5. "Model semi supervised" A recent contribution, extending the model with semi-
supervised deep generative model, however it doesn't work well.
6. "Result analysis" Plot results, plot yield map, etc

Kohonen Self Organizing Map Algorithm:-

1. Randomize the node weight vectors in a map

2. Randomly pick an input vector

3. Traverse each node in the map

1. Use the Euclidean distance formula to find the similarity between the input vector
and the map's node's weight vector

2. Track the node that produces the smallest distance (this node is the best matching
unit, BMU)

4. Update the weight vectors of the nodes in the neighborhood of the BMU (including the
BMU itself) by pulling them closer to the input vector

DSATM Dept of MCA Page 8


Crop Yield Prediction Based On Remote Sensing Data

2.3 Tools and Technology used:-

2.3.1 Introduction to Python:-

Python is an interpreted, high level, general purpose programming language. Created by


Guido Van Rossum and first released in 1991, python has a design philosophy that emphasizes
code readability. It provides constructs that enable clear programming on both small and large
scales. It supports multiple programming paradigms including object oriented, imperative,
functional and procedural and has a large and comprehensive standard library. Python is said to
be relatively easy to learn and portable, meaning its statements can be interpreted in a number of
operating system, including UNIX-based systems, Mac-OS, MS- DOS, and various versions of
Microsoft windows . The source code is freely available and open for modification and reuse.

2.3.2 Features of Python:-

1. Easy to learn

2. Free and open source

3. Portability

4. Extensible and embeddable

5. Large standard libraries to solve common tasks

6. A high-level, interpreted language

7. Object-oriented

8. Scalable

9. Easy to maintain

10. GUI Programming

11. Easy to read

DSATM Dept of MCA Page 9


Crop Yield Prediction Based On Remote Sensing Data

2.3.3 Kaggle:-

Kaggle is an online community of data scientists and machine learners, owned by Google.
Kaggle allows users to find and publish data sets, explore and build models in a web-based data-
science environment, work with other data scientists and machine learning engineers, and enter
competitions to solve data science challenges. Kaggle got its start by offering machine learning
competitions and now also offers a public data platform, a cloud-based workbench for data
science, and short form AI education. On 8 March 2017, Google announced that they were
acquiring Kaggle.

2.3.4 Kaggle Community:-

In June 2017, Kaggle announced that it passed 1,000,000 registered users, or Kaggle. The
community spans 194 countries. It is the largest and most diverse data community in the world
ranging from those just starting out to many of the world's best known researchers. Kaggle
competitions regularly attract over a thousand teams and individuals. Kaggle's community has
thousands of public and code snippets (called "kernels" on Kaggle). Many of these researchers
publish papers in peer-reviewed journals based on their performance in Kaggle competitions. By
March 2017, the Two Sigma Investments fund was running a competition on Kaggle to code a
trading algorithm.

DSATM Dept of MCA Page 10


Crop Yield Prediction Based On Remote Sensing Data

CHAPTER-3
SOFTWARE REQUIREMENT SPECIFICATIONS

3.1 Hardware Requirements:-


1. Input device :- Keyboard, Mouse
2. Output device :- Standard Monitor
3. Processor :- Intel dual core or above
4. Ram :- 4gb or above
5. Hard disk :- 500gb

3.2 Software Requirements:-

1. OS : Windows 7 and above


2. Tool : Kaggle
3. Coding : Python

3.3 Feasibility Study:-

Feasibility study aims to objectively and rationally uncover the strengths and weaknesses of
an existing or proposed system, opportunities and threats present in the environment the
resources required to carry through, and ultimately the prospects for success. In its simplest
terms, the two criteria to judge feasibility are cost required and value to be attained.

A well-designed feasibility study should provide a historical background of the project;


generally, feasibility studies precede technical development and project implementation. A
feasibility study evaluates the project potential for success. Three key considerations involved in
the feasibility analysis are

1. Economical Feasibility.
2. Technical Feasibility.
3. Social Feasibility.

DSATM Dept of MCA Page 11


Crop Yield Prediction Based On Remote Sensing Data

3.3.1 Economical Feasibility:-

This study is carried out to check the economic impact that the system will have on the
organization. The amount of fund that the organization can pour into the work and development
of the system is limited. The expenditures must be justified. Thus the developed system as Well
within the budget and this was achieved because most of the technologies used are freely
available.

3.3.2 Technical Feasibility:-

This study is carried out to check the technical feasibility, that is, the technical
requirements of the system. The developed system must have a modest requirement; as only
minimal or null changes are required for implementing this system.

3.3.3 Social Feasibility:-

The aspect of study is to check the level of acceptance of the system by the user. This
includes the process of training the user to use the system efficiently. The user must not feel
threatened by the system, instead must accept it as a necessity. The level of acceptance by the
users solely depends on the methods that are employed to educate the user about the system and
to make him familiar with it. His level of confidence must be raised so that he is also able to
make some constructive criticism, which is welcomed, as he is the final user of the system.

DSATM Dept of MCA Page 12


Crop Yield Prediction Based On Remote Sensing Data

3.4 Functional Requirements:-

Functional Requirement defines a function of a software system and how the


system must behave when presented with specific inputs or conditions. These may include
calculations, data manipulation and processing and other specific functionality.

3.5 Non-Functional Requirements:-

Non-functional requirements are requirements which specify criteria that can be


used to judge the operation of a system, rather than specific behaviors. This should be contrasted
with functional requirements that specify specific behavior or functions. Typical non-functional
requirements are reliability, scalability, and cost. Non-functional requirements are often called
the utilities of a system. Other terms for non-functional requirements are "constraints", "quality
attributes" and "quality of service requirements".

DSATM Dept of MCA Page 13


Crop Yield Prediction Based On Remote Sensing Data

CHAPTER-4
SYSTEM ANALYSIS AND DESIGN

4.1 System Design:-

Taking into account all of the behaviors of a system as a whole in the context of its
environment is the systems perspective.

While the concept of system itself is a more general notion that indicates separation of part of the
universe from the rest, the idea of a systems perspective is use a non-reductionist approach to the
task of describing the properties of the system itself.

In the systems perspective, once one has identified the system as a separate part of the universe,
one is not allowed to progressively decompose the system into isolated parts. Instead, one is
obligated to describe the system as a whole.

If one uses separation into parts, as part of the description of the system properties, this is only
part of a complete description of the behavior of the whole, which must include a description of
the relationships between these parts and any additional information needed to describe the
behavior of the entire system.

DSATM Dept of MCA Page 14


Crop Yield Prediction Based On Remote Sensing Data

4.2 Sequence Diagram:-

A sequence diagram simply depicts interaction between objects in


a sequential order i.e. the order in which these interactions take place. We can also use the terms
event diagrams or event scenarios to refer to a sequence diagram. Sequence diagrams describe
how and in what order the objects in a system function.

Fig. 4.1 Sequence Diagram for Crop Yield

DSATM Dept of MCA Page 15


Crop Yield Prediction Based On Remote Sensing Data

4.3 Use Case Diagram:-

A use case diagram at its simplest is a representation of a user's interaction


with the system that shows the relationship between the user and the different use
cases in which the user is involved.

Fig. 4.2 Use Case Diagram for Predicting the Crop Yield

DSATM Dept of MCA Page 16


Crop Yield Prediction Based On Remote Sensing Data

CHAPTER-5
IMPLEMENTATION

5.1 Coding:-

#pull_MODIS.py

import time
import sys
import numpy as np
import pandas as pd
import itertools
import os
import urllib
ee.Initialize()
def export_oneimage(img,folder,name,region,scale,crs):
task = ee.batch.Export.image(img, name, {
'driveFolder':folder,
'driveFileNamePrefix':name,
'region': region,
'scale':scale,
'crs':crs
})
task.start()
while task.status()['state'] == 'RUNNING':
print 'Running...'
# Perhaps task.cancel() at some point.
time.sleep(10)
print 'Done.', task.status()
locations = pd.read_csv('locations.csv')
# Transforms an Image Collection with 1 band per Image into a single Image with items
as bands
# Author: Jamie Vleeshouwer
def appendBand(current, previous):
# Rename the band
previous=ee.Image(previous)
current = current.select([0,1,2,3,4,5,6])
# Append it to the result (Note: only return current item on first element/iteration)
accum = ee.Algorithms.If(ee.Algorithms.IsEqual(previous,None),
current, previous.addBands(ee.Image(current)))
# Return the accumulation

DSATM Dept of MCA Page 17


Crop Yield Prediction Based On Remote Sensing Data

return accum
imgcoll = ee.ImageCollection('MODIS/MOD09A1') \
.filterBounds(ee.Geometry.Rectangle(-106.5, 50,-64, 23))
img=imgcoll.iterate(appendBand)
for loc1, loc2, lat, lon in locations.values:
fname = '{}_{}'.format(int(loc1), int(loc2))
offset = 0.11
scale = 500
crs='EPSG:4326'
region = str([
[lat - offset, lon + offset],
[lat + offset, lon + offset],
[lat + offset, lon - offset],
[lat - offset, lon - offset]])
while True:
try:
export_oneimage(img,'Data',fname,region,scale,crs)
except:
print 'retry'
time.sleep(10)
Continue
Break

import time
import sys
import numpy as np
import pandas as pd
import itertools
import os
import urllib
ee.Initialize()
def export_oneimage(img,folder,name,region,scale,crs):
task = ee.batch.Export.image(img, name, {
'driveFolder':folder,
'driveFileNamePrefix':name,
'region': region,
'scale':scale,
'crs':crs
})
task.start()

DSATM Dept of MCA Page 18


Crop Yield Prediction Based On Remote Sensing Data

while task.status()['state'] == 'RUNNING':


print 'Running...'
# Perhaps task.cancel() at some point.
time.sleep(10)
print 'Done.', task.status()
locations = pd.read_csv('locations_remedy.csv')
# Transforms an Image Collection with 1 band per Image into a single Image with items
as bands
# Author: Jamie Vleeshouwer
def appendBand(current, previous):
# Rename the band
previous=ee.Image(previous)
current = current.select([0,1,2,3,4,5,6])
# Append it to the result (Note: only return current item on first element/iteration)
accum = ee.Algorithms.If(ee.Algorithms.IsEqual(previous,None),
current, previous.addBands(ee.Image(current)))
# Return the accumulation
return accum
county_region
= ee.FeatureCollection('ft:18Ayj5e7JxxtTPm1BdMnnzWbZMrxMB49eqGDTsaSp')
imgcoll = ee.ImageCollection('MODIS/MOD09A1') \
.filterBounds(ee.Geometry.Rectangle(-106.5, 50,-64, 23))\
.filterDate('2001-12-31','2015-12-31')
img=imgcoll.iterate(appendBand)
img=ee.Image(img)
img_0=ee.Image(ee.Number(0))
img_5000=ee.Image(ee.Number(5000))
img=img.min(img_5000)
img=img.max(img_0)
# img=ee.Image(ee.Number(100))
# img=ee.ImageCollection('LC8_L1T').mosaic()
for loc1, loc2, lat, lon in locations.values:
fname = '{}_{}'.format(int(loc1), int(loc2))
offset = 0.11
scale = 500
crs='EPSG:4326'
# filter for a county
region = county_region.filterMetadata('STATE num', 'equals', loc1)
region = ee.FeatureCollection(region).filterMetadata('COUNTY num', 'equals', loc2)
region = region.first()
region = region.geometry().coordinates().getInfo()[0]
# region = str([
# [lat - offset, lon + offset],

DSATM Dept of MCA Page 19


Crop Yield Prediction Based On Remote Sensing Data

# [lat + offset, lon + offset],


# [lat + offset, lon - offset],
# [lat - offset, lon - offset]])
while True:
try:
export_oneimage(img, 'Data_county', fname, region, scale, crs)
except:
print 'retry'
time.sleep(10)
Continue
Break
# while True:
# try:
# export_oneimage(img,'Data_test',fname,region,scale,crs)
# except:
# print 'retry'
# time.sleep(10)
# continue
# break

import time
import sys
import numpy as np
import pandas as pd
import itertools
import os
import urllib
ee.Initialize()
def export_oneimage(img,folder,name,scale,crs):
task = ee.batch.Export.image(img, name, {
'driveFolder':folder,
'driveFileNamePrefix':name,
'scale':scale,
'crs':crs
})
task.start()
while task.status()['state'] == 'RUNNING':
print 'Running...'
# Perhaps task.cancel() at some point.
time.sleep(10)

DSATM Dept of MCA Page 20


Crop Yield Prediction Based On Remote Sensing Data

print 'Done.', task.status()


locations = pd.read_csv('locations_final.csv',header=None)

#Transforms an Image Collection with 1 band per Image into a single Image with items
as bands
# Author: Jamie Vleeshouwer
def appendBand(current, previous):
# Rename the band
previous=ee.Image(previous)
current = current.select([0,1,2,3,4,5,6])
# Append it to the result (Note: only return current item on first element/iteration)
accum = ee.Algorithms.If(ee.Algorithms.IsEqual(previous,None),
current, previous.addBands(ee.Image(current)))
# Return the accumulation
return accum
county_region=
ee.FeatureCollection('ft:1S4EB6319wWW2sWQDPhDvmSBIVrD3iEmCLYB7nMM')
imgcoll = ee.ImageCollection('MODIS/MOD09A1') \
.filterBounds(ee.Geometry.Rectangle(-106.5, 50,-64, 23))\
.filterDate('2002-12-31','2016-8-4')
img=imgcoll.iterate(appendBand)
img=ee.Image(img)
img_0=ee.Image(ee.Number(-100))
img_16000=ee.Image(ee.Number(16000))
img=img.min(img_16000)
img=img.max(img_0)
# img=ee.Image(ee.Number(100))
# img=ee.ImageCollection('LC8_L1T').mosaic()
for loc1, loc2, lat, lon in locations.values:
fname = '{}_{}'.format(int(loc1), int(loc2))
# offset = 0.11
scale = 500
crs='EPSG:4326'
# filter for a county
region = county_region.filterMetadata('StateFips', 'equals', int(loc1))
region = ee.FeatureCollection(region).filterMetadata('CntyFips', 'equals', int(loc2))
region = ee.Feature(region.first())
# region = region.geometry().coordinates().getInfo()[0]
# region = str([
# [lat - offset, lon + offset],
# [lat + offset, lon + offset],
# [lat + offset, lon - offset],
# [lat - offset, lon - offset]])

DSATM Dept of MCA Page 21


Crop Yield Prediction Based On Remote Sensing Data

while True:
try:
export_oneimage(img.clip(region), 'test', fname, scale, crs)
except:
print 'retry'
time.sleep(10)
Continue
Break
# while True:
# try:
# export_oneimage(img,'Data_test',fname,region,scale,crs)
# except:
# print 'retry'
# time.sleep(10)
# continue
# break

DSATM Dept of MCA Page 22


Crop Yield Prediction Based On Remote Sensing Data

5.2 Images:-

Visualization of crop yield prediction results

Fig. 4.3 Soybean Yield maps from 2012 to 2015


It is measured in bushel per acre. Predictions are made in October. Our predicted yields well
match the ground-truth patterns and largely outperform the competing approaches.

DSATM Dept of MCA Page 23


Crop Yield Prediction Based On Remote Sensing Data

Fig.4.4 Basic workflow of our approach

Fig.4.5 Crop Yield Energy Predicting

DSATM Dept of MCA Page 24


Crop Yield Prediction Based On Remote Sensing Data

Fig.4.6 Estimating Crop Yield through Deep Learning

Table.4.7 Year wise Crop Prediction values

DSATM Dept of MCA Page 25


Crop Yield Prediction Based On Remote Sensing Data

CHAPTER-6
SOFTWARE TESTING

The purpose of testing is to discover errors. Testing is the process of trying to discover
every conceivable fault or Weakness in a work product. It provides a way to check the
functionality of components, sub assemblies, assemblies and/or a finished product. It is the
process of exercising software with the intent of ensuring that the Software system meets its
requirements and user expectations and does not fail in an unacceptable manner. There are
various types of test. Each test type addresses a specific testing requirement.

6.1 Testing Levels:-

All major activities of various testing level are described below.

1. Unit Testing
2. Integration Testing
3. Functional Testing
4. System Testing
5. White Box Testing
6. Black Box Testing

1. Unit Testing:- Unit testing involves the design of test cases that validate that the
internal program logic is functioning properly, and that program inputs produce valid
outputs. All decision branches internal code flow should be validated. It is the testing
of individual software units of the application .it is done after the completion of an
individual unit before integration. This is a structural testing, that relies on knowledge
of its construction and is invasive. Unit tests perform basic tests at component level
and test a specific business process, application, and system configuration.

DSATM Dept of MCA Page 26


Crop Yield Prediction Based On Remote Sensing Data

2. Integration Testing:- Integration tests are designed to test integrated software


components to determine if they actually run as one program. Testing is event driven
and is more concerned with the basic outcome of screens or fields. Integration tests
demonstrate that although the components were individually satisfaction, as shown by
successfully unit testing, the combination of components is correct and consistent.
Integration testing is specifically aimed at exposing the problems that arise from the
combination of components.

3. Functional Testing:- Functional tests provide systematic demonstrations that


functions tested are available as specified by the business and technical requirements,
system documentation, and user manuals.

4. System Testing:- System testing ensures that the entire integrated software system
meets requirements. It tests a configuration to ensure known and predictable results.
An example of system testing is the configuration oriented system integration test.
System testing is based on process descriptions and flows, emphasizing pre-driven
process links and integration points.

5. White Box Testing:- White Box Testing is a testing in which in which the software
tester has knowledge of the inner workings, structure and language of the software, or
at least its purpose. It is purpose. It is used to test areas that cannot be reached from a
black box level.

6. Black Box Testing:- Black Box Testing is testing the software without any
knowledge of the inner workings, structure or language of the module being tested.
Black box tests, as most other kinds of tests, must be written from a definitive source
document, such as specification or requirements document, such as specification or
requirements document.

DSATM Dept of MCA Page 27


Crop Yield Prediction Based On Remote Sensing Data

CHAPTER-7
CONCLUSION

As per the proposed system it presents a deep learning framework for crop yield
prediction using remote sensing data. It allows for real-time forecasting throughout the year and
is applicable worldwide, especially for developing countries where field surveys are hard to
conduct. Was the first to use modern representation learning ideas for crop yield prediction, and
successfully learn much more effective features from raw data than the hand-crafted features that
are typically used. It is been proposed as Reduction approach based on histograms and present a
Deep Gaussian Process framework that successfully removes spatially correlated errors, which
might inspire other applications in remote sensing and computational sustainability.

DSATM Dept of MCA Page 28


Crop Yield Prediction Based On Remote Sensing Data

CHAPTER-8
FUTURE ENHANCEMENT

Apart from predicting crop yield through remote sensing data and satellite data,
IoT technology can be implemented to determine the crop yield, it can be called as Smart
Farming.

IoT brings a lot of advantages into agriculture and farming such as , IoT sensors capable of
providing farmers with information about crop yields, rainfall, pest infestation, and soil nutrition
are invaluable to production and offer precise data which can be used to improve farming
techniques over time.

With a future of efficient, data-driven, highly-precise yielding methods, it is definitely safe to


call this type of farming smart. IoT will forever change the way to grow food.

DSATM Dept of MCA Page 29


Crop Yield Prediction Based On Remote Sensing Data

CHAPTER-9
BIBLIOGRAPHY

9.1 References:-

[1].Dodds F, and Bartram J. 2016. The Water, Food, Energy and Climate Nexus:
Challenges and an Agenda for Action. Rout ledge.

[2].Fink D, Damoulas T and Dave J. 2013. Adaptive spatiotemporal exploratory models:


Hemisphere-wide species distributions from massively crowd sourced ebird data. In
AAAI.

[3].Ermon S, Xue Y, Toth R, Dilkina B, Bernstein R, Damoulas T, Clark P, DeGloria S,


Mude, A, Barrett C and Gomes, C. 2015. Learning large-scale dynamic discrete choice
models of spatio-temporal preferences with application to migratory pastoralism in East
Africa. In AAAI Conference on Artificial Intelligence.

[4].Krizhevsky A, Sutskever I and Hinton G.E. 2012. Image net classification with deep
convolutional neural networks. Advances in Neural Information Processing Systems
25(2):2012

9.2 Links:-

1. https://github.com/JiaxuanYou/crop_yield_prediction
2. http://sustain.stanford.edu/crop-yield-analysis
3. https://www.kaggle.com/gicopg/machine-learning-project

DSATM Dept of MCA Page 30

You might also like