Crop Weed Identification Among Crop Seedlings Using TensorFlow.
Risab Biswas
Jalpaiguri, West Bengal
Proper weed identification is critical to getting the correct recommendations for weed control options. If a producer notices a new weed on their land, it is important to identify it quickly so that action can be taken to prevent it from spreading. Our approach is to solve this critical problem usign Computer Vision and Deep Learning techniques. A simple but yet powerful Convolutional Network can correctly identify the weed type among the plant seedlings. The deep learning model is powered by the model optimisation tool provided by the Intel® Distribution of OpenVINO™ toolkit. The classifier can succesfully classify among 12 species of weeds and plant seedlings. This methodology finds it's application in Agriculture, Horticulture, Floriculture, Forestry and every aspect of crop improvement. ...learn more
Project status: Under Development
Robotics, RealSense™, Internet of Things, Artificial Intelligence
Groups
Internet of Things,
Student Developers for AI,
DeepLearning,
Artificial Intelligence India
Intel Technologies
OpenVINO,
Intel Opt ML/DL Framework
Overview / Usage
Proper identification can mean selecting the correct herbicide needed to control a particular weed or can result in control cost savings if a less expensive herbicide is available. Sometimes, proper plant identification can indicate that no action needs to be taken if the plant turns out to be an occasional interloper or rare native plant, or simply a plant that can be easily managed with some simple agronomic adjustments.
Why is it important to detect weeds while they are still seedlings?
This can be a proper justification:-
Successful cultivation of maize depends largely on the efficacy of weed control. Weed control during the first six to eight weeks after planting is crucial, because weeds compete vigorously with the crop for nutrients and water during this period. Annual yield losses occur as a result of weed infestations in cultivated crops. Crop yield losses that are attributable to weeds vary with type of weed, type of crop, and the environmental conditions involved. Generally, depending on the level of weed control practiced yield losses can vary from 10 to 100 %. Rarely does one experience zero yield loss due to weeds... Yield losses occur as a result of weed interference with the crop's growth and development....This explains why effective weed control is imperative. In order to do effective control the first critical requirement is correct weed identification.
My Inspiration:-
-
To use this dataset to build a model to classify crop and weed seedlings using the OpenVino Toolkit and Intel Powered PC.
-
To Start a project to create a dataset of crop and weed seedling images in a local farming community. Then create a weed detection model based on your dataset. Deploy your model as a web app so farmers can use it.
-
Can a ground based weed detector be built using an AI Vision Kit? Something similar to this:
https://www.youtube.com/watch?v=O_Q1WKCtWiA
Methodology / Approach
The data used for creating the project is open sourced by the Computer Vision and Signal Processing Group, Department of Engineering – Aarhus University.
The dataset contains 5,539 images of crop and weed seedlings. The images are grouped into 12 classes as shown in the title image. These classes represent common plant species in Danish agriculture. Each class contains rgb images that show plants at different growth stages. The images are in various sizes and are in png format.
- Create a Trainimg and Testing Data, by spliting the entire dataset. The data should not be biased and should be balanced.
- Build and Train your model in Keras. ( I am using Keras because of it's rapid prototyping capabilities).
- Use K.get_session() to get TF session and output the model as .pb file.
- Optimize our model to create an *.xml and *.bin file using the forzen inference graph(.pb file). The .pb file contains the classifier.
- Get the interface to tensors in the graph using their names.
- Predict the results as usual tensorflow problem.
- Then we will create a setup using the Inference API so that it is easily gets optimized results on the CPU using the camera and finally we identify theweeds and the plants seperatly given input as an image, a video or even a live camera feed.
- Once the identification is done, the required preventive measures can be taken.
Technologies Used
Hardwares Used :-
- Intel Powered PC (Intel 7th Gen i5 NUC - NUC7i5BNH Barebone).
- Intel RealSense Camera.
Technologies Used :-
- Intel Optimised Python.
- Intel Optimised TensorFlow.
- Intel's OpenVino ToolKit for Computer Vision.
The entire backend is developed on Python.
Other links
Collaborators
There are no people to show.