1 Introduction

Nowadays, there have been many research areas on intelligent systems, autonomous robot in outdoor environments, especially intelligent transportation in outdoor environments, such as in [13]. Autonomous vehicle navigation becomes an important in various applications of motion path planning, localization task. In automatic navigation of mobile systems, path planning is required to create path network for any robot/vehicle auto-traveling and considered to be the initial step in any autonomous vehicle systems. So far, researches on path planning have been achieved several milestone successes in industrial applications as well as in academic disciplines, including applications in mobile robot/vehicle and aerospace. There are many studies on the planning algorithms and implementations [4]. So far, there have been several proposed methods for road detecting and path planning [57]. Studies on planning algorithm and implementations have considered the issues of road detection and path planning. They can be categorized into two folds of global and local path planning methods, respectively. The global path planning is concerned with the high-level path, the whole path for movement from the source to the destination of travel itinerary. It deals with the navigation around the global region. Contrarily, the local path planning is related to the low-level path, which is suitable for further detail of specific paths. In essence, it is a segment of a certain global path but with more details to allow for avoiding local obstacle. An autonomous robot/vehicle has to deal with in reality such as determining appropriate turning-angle and speed.

The objective of this paper is to develop an efficient application for constructing the shortest path, which provides a real trajectory for autonomous vehicle navigation in the outdoor environments. Although path planning product can be provided by several commercial services, these services are typically with high cost and sometimes not all of its characteristic will be used or valid for the actual demand of a user, e.g., traffic conditions might not be useful for some applications or some special regional is not updated in the commercial version. In our proposal, the global path for vehicle motion is self-constructed using road map and satellite images, which are retrieved from free charge online service. In the case that roads are outdated in some regions of the map services, updating map is required and can be performed by road detection using aerial/satellite images. The proposed method consists of several parts as follows. A road network is estimated using road map and satellite images, which is retrieved from online map services, such as Google Maps, OpenStreetMap, and Bing Maps service. The road network is refined using some image processing techniques. The road network in image pixel coordinate is converted into the global coordinate system, so that it provides more convenient for online vehicle navigation. Finally, the shortest path for vehicle motion is estimated based on the shortest path planning algorithms, such as Dijkstra, greedy breadth-first search algorithm.

2 Related work and proposed method

In recent years, some of the most convincing experimental results have been obtained using promising methods for motion planning. The global path planning method based on the modification of rapidly exploring random tree algorithm is presented in [8]. The method was constructed for providing effective partial motion and achieving the global objective. Another group of researchers in [9] presented a motion planning method based on guided cluster sampling. That paper developed a point-based partially-observable Markov decision process (POMDP) approach along with a consideration of the motion error, the sensing error, and an imperfect environment map for robot’s active sensing capabilities. Experimental results show that the approach contributed an efficient method for balancing sensing and acting to accomplish given tasks in various uncertain conditions. However, the method requires high computational cost to find an optimal solution [10]. To adapt to variety and uncertain conditions, Toit et al. [11] presented a method for motion planning based on integral individual components of dynamic and uncertain environments in planning, prediction and estimation. In outdoor scenes of transposition, the traffic laws are used to estimate behaviors of the dynamic interactive systems, predict their future trajectory, and constrain the future location of the moving objects in uncertain environments. In the case of the global path planning for motion under certain maps, the computational time of that method becomes expensive when it is applied to high-level of the motion planning. Another group of authors in [12] focused on an interpolation method for optimal cost-path-motion function based on the well-known algorithms Dijkstra and A*. These authors exploited advantages of each method to provide an effective method for estimating feedback of a plan. It estimates the shortest path for motion on simplicial complex of an arbitrary dimension. The computational cost is significantly reduced by implementing an A*-like heuristic.

In the field of path planning for motion in outdoor environments, there have been some groups of researchers focusing on road detection and plan a path-trajectory for robot/vehicle motion by using aerial images [5, 6, 1315]. Typically, the authors in [5] used a neural network to detect roads on high-resolution aerial images. In that paper, authors analyzed to learn roads based on the road surface context so that it could reduce misdetection, e.g., the roof of buildings is likelihood with the road surface without the context of surrounding scenes. Chai et al. [6] presented a method to estimate a road network based on the Monte Carlo mechanism using sampling junction-points input images. That method focused on investigating the shape and extracting the structure of a road from its nature texture. However, those methods could not overcome the case when roads are fully obscured by high buildings, tunnels and trees.

On the contrary, instead of focusing only on path detection using the aerial/satellite images, our proposed method uses the high-level of road map and terrain images to detect a path network. The road maps are provided from online services without any charges. Our proposed method takes advantages of the prior knowledge maps, which provide by maps developers, to simplify the road detection task with high accuracy and low computational cost. By this approach, the path network is estimated in not only term of shape roads but also the directed network. For simplicity, it is assumed that the prior knowledge of map services is believable and their incorrect information can be regardless. On the other circumstances, such as that road map does not contain updating information, it is detected based on aerial/satellite image. The contribution focuses on planning the global path for autonomous navigation, which is self-constructed by using two layer of GIS information: road layer and terrain layer. The general method for constructing a road network to plan path for vehicle navigation is presented in following flowchart, as depicted in Fig. 1.

Fig. 1
figure 1

The general flowchart of proposed method

3 Road network detection

In this method, for filtering out road regions, the statistic of color channels is used. The representative colors of road regions on map images are separated into several classes with regard to the number of the road hierarchy of map services. The representative colors have specific color characteristics. To investigate the color features, we built our own road database for training, which then results in giving the following probability density functions (PDF) of the red, green, and blue channels, as depicted in Fig. 2. The road candidate regions are estimated using Gaussian probabilities based on color channels. Probability of pixel \(x\) belonging road candidate \(r\) is defined as following formulation:

$$\begin{aligned} P(r \vert x)=\prod \limits _{c\in C} {P(r\vert x_c )} \end{aligned}$$
(1)

where \(x\) is pixel image, \(C\) is color channels (red, green, blue).

Fig. 2
figure 2

Probability distribution color channel of road regions

Different from the previous methods [5, 6], the images are retrieved from the map service with low-resolution image in this paper. The road candidates are disconnected as result of noise and other annotations of the map, as depicted in Fig. 5a, b. Notice that some places of the world maps with respect to commercial services cannot remove annotations due to the map service. To deal with this problem, a rolling ball method is proposed for connection the discontinuous roads.

The rolling ball method is briefly described as follows. A region is considered as a candidate that can be selected as a road region, also known as a road candidate region (RCR), if it consists of a dense circle with the minimal radius \(r_\mathrm{min}\). The circle belongs to the RCR is called as a ball if the circle is defined by the maximal radius. The ball of a specific RCR is denoted by \(B(c,r)\), where \(c\) and \(r\) are the center and the radius of the circle, respectively. The ball can roll in any direction on road regions. When the ball meets the end of the RCR, it continues rolling into the non-RCR with a further distance \(d_\mathrm{ths},\) in the same direction. If it reaches another RCR, this non-RCR is now considered as a RCR, as shown in Fig. 3.

Fig. 3
figure 3

The rolling ball method for refining road detection result

Direction of a road is estimation on the basis of a narrow signal as shown in annotations of the map in Fig. 4. Finally, the path network is presented by a directed graph. Each node is represented by either the intersection point or the ending of a road, as illustrated in Fig. 5d. In the graph, an arc is a path segment, which connects two adjacent nodes (intersection point or ending point).

Fig. 4
figure 4

The arrow signals in the road map image are used for detecting the direction of road

Fig. 5
figure 5

Path-network detection a road maps image, b road candidates are estimated by color filter and segmentation, c post process to connect the discontinuous road regions, d path network extraction

Let us consider case of some road segments, which are not annotated by map services, as depicted in Fig. 6a. The detection results of road using satellite image are the complement of road map that was already extracted from road network, as illustrated in Fig. 6c. The road regions are estimated based on color-based filter combining with edge-based filter that is responsible for estimating boundaries of segment road regions. In this step, the result of road region in previous step is used to construct a training dataset from the corresponding regions of the satellite images. This task is learning local spectrum of road regions.

Fig. 6
figure 6

Some road segments are not marked by services a road map image, b satellite image, c road network detection using both of GIS layers

There are some characteristics of road, which can be investigated to detect appropriately road region. Road surfaces can be paved or unpaved. Therefore, spectral characteristic of roads are not uniform, particularly in the case of unpaved road. This characteristic thus requires the learning of the color model in local areas for detecting in surroundings areas of the detected road regions based on road map result in previous step. The width of road is almost constant. The ratio of length/width of road is usually larger than that of building roofs. It is different to building roof, which is isolated with other parts. First, all detected road pixels on road layer image are mapped into satellite image to construct a training dataset for learning spectrum color model, as depicted in Fig. 7b. This color model is also used to filter out candidate of road region in the satellite image. The result of candidate road regions is shown in Fig. 7c.

Fig. 7
figure 7

Color filter a road region result from road map layer, b corresponding road regions in terrain layer (annotated by light-pink) to learn color model for detection, c road candidate regions (annotated by light-pink) using color detection

The 2D edge detector based on Gaussian function is used to enhance the boundaries of roads. The intensity and direction of gradients are obtained by applied filter operator on intensity image. The filter results are obtained by convolving the gray satellite image with kernels of Gaussian with preset standard deviations to vertical and horizontal derivatives. Non-maximum suppression determines if the pixel is a better candidate for boundaries. Final boundaries are determined by suppressing all candidates that connect to strong candidate of boundaries. The results are demonstrated in Fig. 8.

Fig. 8
figure 8

Candidate of road boundaries segmentation results a vertical filter, b horizontal filter, c candidate of road boundaries

The road regions are filtered based on dominant boundaries, acceptable ratio of road width/length, combing with color filter results. The results are integrated with the result of the color segmentation to discard the false detections, e.g., rivers, roof of buildings. To refine road network result, the geometry of road structure in [6] is used to post-process for improving the accuracy of road detection. The final result of network detection is show in Fig. 6c.

4 The global path network

This section presents a module that converts the path network from the image pixel coordinate to the Global coordinate, which is represented by the Mercator coordinate system. Generally, global image services, e.g. Google Maps, Bing Maps, use similar organization of the world maps [16]. The world map can be represented by two-dimensional map, which likes a rectangle of 360\(^\circ \) wide and 180\(^\circ \) high. The world map is represented by a pyramid of tiles. The origin of a tile is located at the northwest corner. The top level \((\hbox {zoom level} = 0)\) has \(256\times 256\) points, next level 512 \(\times \) 512 points. For each next level of tile pyramid, the point space is expanded by doubling of size in both directions \(x\) and \(y\). Therefore, the image pixel at zoom level \(\xi \) is converted into the Mercator coordinate system by following equation:

$$\begin{aligned}&Y=Y_0 -\left( {y-\frac{h}{2}}\right) \times \frac{\tau }{2^\xi }\end{aligned}$$
(2)
$$\begin{aligned}&X=X_0 +\left( {x-\frac{w}{2}}\right) \times \frac{\tau }{2^\xi } \end{aligned}$$
(3)

where (\(w\), \(h)\) is the size of image, (\(x, y)\) is a location of the point in image, (\(X_{0}\), \(Y_{0})\) is the located center of image in the Mercator coordinate. The initial resolution of tile size \(\tau \) is 156,543.034 m (the circumference of the Earth in meters 40,075,016.679 m divide 256 points). The part of equation (\(y-h\)/2) \(\times \) (\(\tau \)/2\(^{\xi })\) is used to convert image pixel to meter unit in the global coordinate (Fig. 9).

Fig. 9
figure 9

The Global map coordinate a the Earth map in pixel coordinate, b the Global tile at zoom level 1

A point at the location (\(X, Y)\) in the Mercator coordinate is converted into the GWS84 coordinate system by following equations [17], with \(\phi \) and \(\lambda \) are latitude and longitude in the GWS84 coordinate.

$$\begin{aligned}&\lambda =\frac{360}{{2}\pi }\frac{X}{\sigma }\end{aligned}$$
(4)
$$\begin{aligned}&\phi =\frac{180}{\pi }\left[ {2\tan ^{-1}\left( \text{ e }^{\text{ Y/ }\sigma }\right) -\frac{\pi }{2}} \right] \end{aligned}$$
(5)

On the other hand, a point at the location (\(\phi ,\lambda \)) in the GWS84 coordinate is converted into the Mercator coordinate in the meter unit of measurement by following equations.

$$\begin{aligned} X&= \frac{2\pi }{360}\times \sigma \times \lambda \end{aligned}$$
(6)
$$\begin{aligned} Y&= \sigma \log \left[ {\tan \left[ (\phi +90)\frac{\pi }{360}\right] } \right] \end{aligned}$$
(7)

where (\(X\), \(Y\)) is a point location in the Mercator coordinate, \(\sigma \) is the radius of the Earth.

5 The shortest path estimation

This section presents a method to estimate a path for vehicle motion with the minimal cost of feasible trajectory based on the road network configuration. There are many methods for estimating the optimal path for motion [4], e.g. Dijkstra, best-first graph search algorithm, rapidly-exploring randomized tree (RRT). The shortest path problem in this paper is considered in two-dimensional Euclidean spaces. We construct a discrete directed graph as \(G(V\),\(E)\). The set of vertex \(V=\{v_{i}\vert i=i,\ldots ,n\}\) is defined as the set of intersection and ending points of a road. The set of edges \(E=\{e_{i}\vert i=1,\ldots ,m\}\) is defined as the set of road segments between a pair of adjacent intersections or ending points. A road segment, which connects an intersection to another adjacent one or ending, is represented by two edges in the opposite direction. In the case of the one-way road, it is represented by one directed edge. The Euclidean distance is used to compute the cost of each edge based on distance of sequent points in each road segment. Given a source position \(s\) and destination position \(d\), the path planning problem is to estimate a feasible trajectory \(T\) with the lowest cost for vehicles to travel. The cost-function of trajectory is a non-negative cost, which is defined by \(c\): \(V \rightarrow R_{\ge 0}\).

The objective of this task is to find out the shortest path from the source to the destination under an assumption that there is no obstacle (the problem of obstacle avoidant will be deal with in partial motion planning). Combining Dijkstra with heuristic based on the greedy best first search (BFS) is used to estimate the shortest path on the huge area of the map because this combination allows for the flexible and potential searches within a huge area on the map. This use of the heuristic searching technique in large graphs is significantly effective, in particular for restricting numerous computations that are just for examining relevant areas of the input graph in the point-to-point search [13]. The heuristic-based searching method is therefore to accelerate the search speed when searching for the shortest path for motion in a wide area of outdoor environments.

figure a

The major functions of the algorithm are:

\(\mathtt{Heuristic }(u,v)\): The heuristic function estimates the distance between two nodes \(u\) and \(v\). This cost is added to make a priority in the forward direction to the destination location. In the simple case, the Euclidean distance is used to compute this cost for travel.

\(\mathtt{Push}(V, v)\): Putting a node \(v\) into the set of nodes \(V\).

\(\mathtt{Pop{\_}Lowest}(V)\): Withdrawn a node \(v\) with minimal cost to source node in the set of \(V\).

\(\mathtt{Neighbor{\_}Free}\)(v, V,TRA): Given a set of nodes in the set \(V\), which are directly connected with \(v\) and it was not traveled (v \(\notin \) TRA).

\(\mathtt{Path}\)(Parent(\(\mathtt{\upsilon }\)),d): Given a set of consecutive nodes of the shortest path in the set Parent from the current note \(\upsilon \) to the source node \(s\).

6 Experiment

The evaluation results of our method for automatically extracting the shortest path for vehicle motion in outdoor environment are presented in this section. The learning dataset is manually collected from the road regions. In general, there are four kinds of the color patterns of road makers in road map images. The results of color channel distribution are presented in Fig. 2. In this paper, we combine both method for road network detection using both kind of images, road map and satellite image. This implementation is proposed for autonomous vehicle working outdoor environment while other methods using satellite image are very limited to several special conditions. Road network detection using only satellite images cannot deal with the case of roads fully obscured by high building, trees, and tunnels, as depicted in Fig. 10. In contrast, road network detection using only road map layer image is dependent of prior knowledge of the road annotations. Some road segments are not annotated in the road map services, as illustrated in Fig. 6. The advantage of the road map layer image-based method is that high-resolution images are not required and simple algorithm of road detection can be applied, therefore providing a significant reduction in computational time for road detection. It is suitable to implement the real application for autonomous vehicle in long travel. The summary of qualitative evaluation is presented in Table 1.

Fig. 10
figure 10

Typical road is obscured in satellite image (a), but it is annotated in road map image (b)

Table 1 Compare of the methods use road image and aerial image

The image dataset for experiment was automatically retrieved from Google Maps service. The input parameter of the center location of regions is manually located. The experiments were evaluated under 640 \(\times \) 640 resolution image and at the zoom level 15, 16, 17, and 18. The images at the zoom level 15, 16, 17, and 18 cover area of 1,222.99 \(\times \) 1,222.99, 611.49 \(\times \) 611.49, 305.75 \(\times \) 305.75, 152.88 \(\times \) 152.88 \(\mathrm{m}^{2}\), respectively. Figure 11 shows typical road detection results using both kinds of images, which were retrieved from Google Maps service and the road networks are superimposed on road map images for easily comparing. The intersection and the ending points of roads are ordinally numbered. In this implement, the intersection of roads at a rotary position is separated into a set of intersection points, which depends on the number of road branches and they connect to other by small road segments, as demonstrated in Fig. 12.

Fig. 11
figure 11figure 11

Some typical road detection results using road map and satellite images

Fig. 12
figure 12

Intersect-point at rotary is separated into a set of intersection points

The evaluation results are showed in Table 2. The sensitivity and precision criteria are used for evaluation the method. The sensitivity [True positive rate (TPR)] is computed by \({\#}\hbox {TPR} = {\#}\hbox {True positive} {/} ({\#} \hbox { True positive} + {\#} \hbox { False negative})\). The precision is computed by # \(\hbox {Precision} \!=\! {\#}\hbox {true positive {/}} ({\#} \hbox { true positive} + {\#} \hbox { false positive})\). The true positive rate and precision are affected by the zoom level, that mean under the condition of the same size of images, the result at higher zoom level is better that of lower. The road detection is perfect at the 17th zoom level and higher.

Table 2 Evaluation road detection

The shortest path result is presented in Fig. 13. In this experiment, the algorithm (1) is applied to estimate the shortest path for vehicle motion using the image at the 17th zoom level. The path-trajectory in blue color represents for the shortest path from the source \(S\) to the destination \(D\) with the cost for motion is about 684 m. Google service results no details of the path for travel in local areas or the case of unpopular regions, as illustrated in Fig. 13a. This problem is solved by our proposed method, as presented in Fig. 13b.

Fig. 13
figure 13

The shortest path estimation a Google result, b our proposed method estimated result from the source \(S\) to the destination \(D\), of road network (denoted by light-blue) and the shortest path (denoted by thick blue)

7 Conclusion

This paper presents the method to construct an efficient shortest path planning based on the road map and satellite images for autonomous vehicle motion in outdoor environments. The results consist of path details in global coordinate, which support for control tracking for autonomous navigation. The method focuses on the estimation of the path in the global coordinates without using expensive commercial services. It consists of several stages. The road network is estimated using road map images, which is retrieved from free of charge online Google Maps services. The road network is refined and combined with the result of road detection using satellite image.For convenience in real-time online vehicle navigator, the road network in image pixel coordinate is converted into the global coordinate system. The hybrid method based on the Dijkstra algorithm in combination of greedy breadth-first search technique is applied to estimate the shortest path. By the use of road map type, which takes advantage of knowledge maps to provide high confident of the shortest path for vehicle navigation. One disadvantage of this method is that the method depends on the updating road information. This problem is compensated using satellite image. The experimental results demonstrate the effectiveness of this method from large scene of outdoor environments.