Machine Learning Model for Wheat Yield Estimation
Wheat is one of the most significant crops, with an annual worldwide grain production of 700 million tons. Pakistan being an agricultural country, ranking top 7 in wheat producing countries, Wheat is Pakistan?s staple diet. As per the latest statistics from the United States Department of Agricultur
2025-06-28 16:34:03 - Adil Khan
Machine Learning Model for Wheat Yield Estimation
Project Area of Specialization Artificial IntelligenceProject SummaryWheat is one of the most significant crops, with an annual worldwide grain production of 700 million tons. Pakistan being an agricultural country, ranking top 7 in wheat producing countries, Wheat is Pakistan’s staple diet. As per the latest statistics from the United States Department of Agriculture annual report on grain in Pakistan, 80 percent of farmers grow wheat on over 9 million hectares. Wheat flour forms around 72 percent of the nation’s daily caloric intake. With an annual per-capita consumption estimate of around 124kg, Pakistan is one of the world’s foremost consumers of wheat.
Accessing the production of wheat spikes, as the grain-bearing organ, is a proxy useful measure of grain production. Thus, being able to detect and count spikes accurately from images of wheat field is an essential component of estimating the wheat yield correctly. Conventionally, the wheat yield estimation is based on the statistically estimates, which can be affected by environmental factors like rainfall, temperature, Wind, Light/Sunshine, and Parasites, etc. Along with the various technological developments, the application of machine learning for image processing has enhanced the potential to analyze the condition of the crops with less time and effort involved. Thus, an ICT Solution is required to that is not costly and help the local farmer to estimate the wheat yield accurately.
The goal is to develop a robust and reliable real-time system that accurately estimates the wheat yield by detecting and counting the wheat spikes. The model will be developed in two main stages: the training stages used to train the CCN model for spike detection, and the testing stage in which the trained model will be applied to test images.
During the training phase, the annotated dataset of wheat field images, Called SPIKE, will be used to train the Convolution Neural Networks (CNN). Before using images as input to the model, segmentation techniques will be used within the boxes around spikes formed by the manual annotation. The segmented images will then be used as input to train the model, to accurately detect and count the spikes. Once the model is trained based on the annotated dataset, it will be given as input the images of wheat field without annotation of spikes and the task of the model will be to detect spikes accurately which will be further used for the yield estimation.
As wheat yield estimation will be fully depended on how precisely the proposed model detects the spikes. After image segmentation, the segmented spikes will be used to train the proposed model. So that proposed model detects spikes precisely by drawing a boundary around the edges of the spikes accurately.
Project Objectives- Segment the spikes edges precisely from the annotated regions in the image
- Accurately detect the wheat spikes from images
- Build a reliable model for wheat yield estimation
- To facilitate the local farmers in effective planning of the expected crop yield.
- JAVA
- XML
- Python
- Django REST Framework
- Android studio
- Android Emulator
- Visual Studio Code
- Spyder
Our system will consist of the following modules:
Data Collection:During this stage, we will be collecting wheat field images to train and evaluate the model. Images will be collected from the local fields and benchmarked dataset of images will also be used in training and evaluation of the model
User Interface:Android application will be developed through which the farmer will be able:
- To capture the image of a wheat plot in the field
- Send a request to the server via REST API
- Get the Response back from the server, reporting and visualizing the result to the user
Django rest framework will be used to create a REST API
- A request from the user through the Android application will be sent to the server
- REST API will be used to CREATE, RETRIEVE, UPDATE, and DELETE data from the server
- Once an image sent to the server, the REST API will be used to report the result to the user
The yield estimation model will have sub-modules implemented:
- Image preprocessing
- Convolutional Neural Network
Image preprocessing:
In image preprocessing, the image segmentation will be applied in the boxes formed by the manual annotation to segment the spikes with edges detected accurately. These segmented images will then be forward to train CNN.
Convolutional Neural Network:
The segmented images will then be used to train the model. During the training phase, the parameters of the CNN will be tuned as we go through the process. Once the error is zero or within the predefined threshold value, we will be using those parameter values in the model.
Once the proposed model is trained, the trained will be validated against validation images. If error against validation data is within the predefined threshold value, the model will be label as reliable; otherwise, the model will be trained against the shuffled data to get the model which could be used to estimate the yield accurately.
Benefits of the Project- To facilitate the local farmers in effective planning of expected crop yield
- Affordable Solution as compared to unmanned aerial view or satellite imaging Solution
- Estimating yield early will help the user to make proactive decision and planning which will be helpful in terms of Cost and Profit by considering the number of options.
- By estimating the grain yield of different breeds, it may help the biologists or breeders to select those breeds having high throughput with the hope to improve the grain yield.
- Convention ground base method for crop yield estimation is not only inaccurate, costly, time-consuming but also ineffective because of slow data collection process that prevents approximate steps from being taken quickly.
Android Application:
The Andriod application developed will be capable of:
- Image Acquisition
- Responsible for sending the filed image to a server for further processing
- Getting the response back from the server
- Visualizing the response to the user
Django REST API:
Django Rest-Framework will be used to create a REST API.
REST API will be responsible for:
- Sending an image to the server
- To perform CRUD Operation
- After processing on image, reporting the result back to the user which will be visualized by Andriod Application
Reliable Machine Learning Model:
A Reliable Machine Learning to estimate the yield of the wheat field
A full Documentation Having Following Diagrams about the system
User Manual for Andriod Application:
A user manual will be provided to use the android application effectively.
Final Deliverable of the Project Software SystemType of Industry Agriculture Technologies Artificial Intelligence(AI)Sustainable Development Goals Sustainable Cities and Communities, Responsible Consumption and ProductionRequired Resources| Item Name | Type | No. of Units | Per Unit Cost (in Rs) | Total (in Rs) |
|---|---|---|---|---|
| Total in (Rs) | 80000 | |||
| Image Capturing device | Equipment | 1 | 35000 | 35000 |
| Internet device + Internet Package for 6 Months | Equipment | 1 | 15000 | 15000 |
| Application Server for Hosting Service | Equipment | 1 | 20000 | 20000 |
| Stationary | Miscellaneous | 1 | 10000 | 10000 |