Computer vision for precision agriculture
Data science reinvents completely new methods for agriculture. It goes from field analysis to each plant control. It allows tracking every growing top dynamics to identify the aging and anomalies like diseases, drying, etc using computer vision.
It’s actually for expensive or specific types of plants. Let’s demonstrate it in the medical cannabis project example.
The certified company operates a fully automated plantation in the USA. The robot with an HD camera is used for the periodical circuiting of the plantation. The software detects grow tops and identifies them, providing information on the growing process for every top as a result.
Technology
The first step of this project was to detect grow tops on images. To do it, a neural network was trained on a labeled dataset. To put the pictures into the neural network, they have to be of the same size, like these:
When growing tops on the image were detected, we had to determine the size of the bud for each of them. To do it, a standard OpenCV blobDetector was used, as it was suitable for our situation. The idea is to detect areas of similar characteristics using provided parameters, that are color(dark or light), shape(circularity, convexity, inertia), area and others.
Here are some examples of detected blobs in our case:
The next problem was tracking these detections. There are multiple options that could have been used for it. One of them is the usage of some OpenCV algorithms with the filter. All of them were tested, but because of high similarities between targets of tracking and a possible not affine transformation (some of the plants were moved, the scene shifted, the camera made zoom — all indifference of one frame!), were inefficient. Another option is using DeepTracking, which is one of the options using neural networks. But, in our case, we just went with heuristics.