Deep-Way: A Neural Network Architecture for Unmanned Ground Vehicle Path Planning — A Review
By: Tanmay Debnath
Tags: Deep Learning, Artificial Intelligence, Machine Learning, Technology, Research

Agriculture is the backbone of human civilization and ever since human intelligence came out in the form of robotics, the possibilities in the agriculture domain of increased exponentially and with AI now powering every segment of the technical and non-technical domains, the applications now reached new heights. Researchers are coming out with new ideas and methods to incorporate some of the necessary changes in the domain. One such is the introduction of ‘Deep-Way’. Let’s dive into a journey of deep learning segment, that would address some of the important measures in the agricultural field.

One of the earlier processes to perform the global path planning automation was the way to cluster the generated data and then perform some form of actions. Based on the ariel footages from the drones, clusters would be formed based on the crops, segmenting various crops over a particular land, and then planning iteration would have to be performed…

Now, there’s a remedy for it. Introduction of ‘Deep-Way’. A novel deep-learning algorithm that would perform the path planning based on the row-wise crop environments. I would discuss some of eh important aspects of those research and the application methodologies for the same. I would move in a less-mathematical way and let the readers (at any level of studies) understand vividly the method implied in the same.

DATASET:

Since no such dataset was present for the experimentation, the authors build their own [mentioned in [1, 2]]. They devised an algorithm for generating grids of shape H * W, with a random number of rows, denoted by N (the max value for the rows has been considered 50 and the min to be 20). In addition to the generated datasets, they have used some of the images taken from google satellite images, comprising of the row-based crop scenarios. Those images have been manually processed for the extraction of grids and waypoints. This remarks on the application of the algorithm in a real-life scenario.

Occupancy grid generation using the above-stated algorithm. Firstly random borders are generated, then, N row centers (yellow) are identified starting from the image center. Starting (blue) and ending (red) points are found at the intersection with the borders, with some random displacement to add variability. The actual row lines are then generated, adding holes with a certain probability. Finally, the target waypoints (green) are found with the method.

Google satellite image for the testing of the algorithm

METHODOLOGY:

So, given a grid map of the row crop, Deep-Way estimates the positions of the different end-points in the system from the images dataset itself. The authors claim that the earlier methods were mostly hard-cored and one of the key-points of Deep-way is that it uses the Deep Learning method to learn the crop's grid map and predicts all the waypoints simultaneously with their corrections using features from the entire image.

a. Waypoint Estimation:

Firstly, they have divided the input image into several small divisions. Without this division, the confidence score would tend to zero (the algorithm won’t understand anything from the picture). The smaller divisions would be k times smaller and would lead to smaller interactions with the pixels. Now, the algorithm has been designed such that they calculate the problem as a regression problem. It analyzes the input map (from the google dataset and the generated rough lines) along with the superimposed grid cells and calculates the probability of the placement of the waypoint and the correspondence coordinate compensation in the form of small distances over the x and y-axis.

For obtaining the final waypoint estimation from the range of probabilities, they have implemented a confidence threshold (tc), and using the threshold find all the probabilities which exceed beyond this threshold. Finally using a suppression algorithm, the highest of all probabilities is chosen and the waypoint is selected.

b. Network Design:

The fully convolutional neural network (DeepWay) is directly operated into the scenario. The input would be the grid map (obviously a tensor). DeepWay then calculates the other values of the waypoints along the path that we have to follow. Each module is composed of a series of convolution 2D layers with Mish as the activation function. To reduce the spatial dimension, each module ends with a layer of strides two.

The first two dimensions, after the N dimensions applications, would be reduced by (k+1) dimensions. To match the dimensions, a transpose convolutional layer with stride 2 is interposed with the final output. After the concatenation, finally, the output layer is computed with a 1X1 convolution operation with sigmoid and tanh function for the first and last two channels, respectively.

The schematic architecture of DeepWay

c. Waypoint refinement and path generation:

From the above algorithm, we achieve points in space. Now, we need to find the pathway. We cluster predicted points using the DBSCAN (best for clustering the groups that are close to each other). Some might even remain unclustered, because of the drastically small shape of the plot. For them, we project the points perpendicular to the rows (just like PCA). Row angle: measured using the Hough transform technique (classic Computer Vision — used for the line drawing).

[Quick Question]: If a line can be using the hough transform, then why bother with the neural network?

Ans: Well, Hough transform requires some parameters defined well before, but this is not possible when we consider a large amount of data and with such irregularities. For ease, we need DeepWay.

After ordering the points, a refinement approach is administered such that all the duplicate points are removed and the points which are missing are put. Then, to get the final order, the two groups can be clustered into A and B, representing the start and end of the row. Once the final group is achieved, the pattern in which they are stored is A-B-B-A. Now, to compute the global path from one waypoint to the other, they have employed the A* algorithm. This would determine the shortest path from cluster A to B.

The total algorithm in a single shot

Still have a problem? Check out the references!

[Note: I have kept the architecture of the blog similar to that of the research paper, such that even if you want to read the full paper, you would be acquainted with the structure of the paper.]

REFERENCES: