Crop Weed Identification Among Crop Seedlings Using TensorFlow.

Risab Biswas

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

Links [2]

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:-

  1. To use this dataset to build a model to classify crop and weed seedlings using the OpenVino Toolkit and Intel Powered PC.

  2. 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.

  3. 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.

  1. Create a Trainimg and Testing Data, by spliting the entire dataset. The data should not be biased and should be balanced.
  2. Build and Train your model in Keras. ( I am using Keras because of it's rapid prototyping capabilities).
  3. Use K.get_session() to get TF session and output the model as .pb file.
  4. Optimize our model to create an *.xml and *.bin file using the forzen inference graph(.pb file). The .pb file contains the classifier.
  5. Get the interface to tensors in the graph using their names.
  6. Predict the results as usual tensorflow problem.
  7. 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.
  8. Once the identification is done, the required preventive measures can be taken.

Technologies Used

Hardwares Used :-

  1. Intel Powered PC (Intel 7th Gen i5 NUC - NUC7i5BNH Barebone).
  2. Intel RealSense Camera.

Technologies Used :-

  1. Intel Optimised Python.
  2. Intel Optimised TensorFlow.
  3. Intel's OpenVino ToolKit for Computer Vision.

The entire backend is developed on Python.

Collaborators

There are no people to show.

Comments (0)