GAP FILLING IN ROAD EXTRACTION USING RADON TRANSFORMATION

Road information has a key role in many applications such as transportation, automatic navigation, traffic management, crisis management, and also to facilitate and accelerate updating databases in a GIS. Therefore in the past two decades, automatic road extraction has become an important issue in remote sensing, photogrammetry and computer vision. An essential challenge in road extraction process is filling the gaps which have appeared due to getting placed under trees, tunnels or any other reason. Connection of roads is a momentous topological property that is necessity to perform most of the spatial analyses. Hence, Gap filling is an important post-process. The main aim of this paper is to provide a method which is applicable in road extraction algorithms to automatic fill the gaps. The proposed algorithm is based on Radon transformation and has four stags. In the first stage, detected road are thinned insofar as one pixel width is achieved. Then endpoints are detected. In the second stage, regarding to some constraints those endpoints which do not belong to any gaps are identified and deleted from endpoints list. In the third stage, the real gaps are found using the road direction computed by used of Radon technique. In fourth stage, the selected endpoints are connected together using Spline interpolation. This algorithm is applied on several datasets and also on a real detected road. The experimental results show that the proposed algorithm has good performance on straight roads but it does not work well in intersections, due to being direction-oriented.


INTRODUCTION
Gap filling in linear feature is an issue in digital image processing and computer vision.Gap filling is used in various fields such as medical image processing (Szymczak, 2005;Risser, 2008;Akhras, 2007), linear feature extraction from raster maps (Khotanzad and zink, 2003;Pouderoux and Spinello, 2007;Chiang, et al., 2005;Chiang, et al., 2008;Linton, 2009;Henderson and Linton, 2009) and remotely sensed data.Roads are the most important group of linear feature.Up to now, many studies have been done on road extraction from remotely sensed data (Mena, 2003), but none of them can extract road network perfectly.This is due to many reasons such as algorithm weakness, sensor geometry, occlusions, shadows, and a wide variety of non-road objects (Garcia, et al., 2008;Mnih and Hinton, 2010;Hashemi et al., 2011).Since road continuity is a momentous topological property that is necessity to perform most of the spatial analyses, a post-processing stage should be applied in road extraction process to solve these problems.There are some techniques which have widely used in gap filling process.Different shapes of operators of mathematical morphology (Zhang, et al., 1999;Chiang, et al., 2005;Chiang, et al., 2008;Mountrakis and Luo, 2011;Maurya, et al., 2011 ) Active contour (Rochery, et al., 2004;Rochery, et al., 2005;Rochery, et al., 2006;Rochery, et al., 2007) and tensor voting (Linton, 2009;Henderson and Linton, 2009) are among them.Also, several algorithms have been innovatively designed by researchers.(Hashemi et al., 2011) used fuzzy inference system to fill the gaps in detected road net.(Garcia, et al., 2008) used a Linear Method and a Polynomial Method in order to model straight roads and curves respectively.(Gardner, et al., 2001) applied a second type of Q-tree filter to reclassify some vegetation pixels that occur along classified road pixels as road.(Mnih and Hinton, 2010) train a convolutional neural network to removes disconnected blotches and fills in the gaps in the roads.
The main aim of this paper is providing a method based on Radon transformation which is applicable in road extraction algorithms in order to automatic fill the existing gaps in the extracted road net.This paper is organized into four sections.Theory of Radon transformation and Spline interpolation are presented in the next section followed by the proposed algorithm for gap filling.Experimental results are given in Section 3. Finally, Section 4 concludes.

RADON TRANSFORM
The Radon transform introduced by Johann Radon (Radon, 1917), is an integral transform which computes projections of an image matrix along specific directions.Radon transform is able to represent lines of images as some peaks in a domain of possible line parameters.This has lead to many line detection applications within image processing, computer vision, and seismic (Toft, 1996).Figure 1 shows an image with two lines and the corresponding discrete Radon transform.Each of the peaks is correspond to the curves in the image.The line parameters can here be recovered by simple thresholding.To represent an image, the Radon function takes multiple, parallel-beam projections of the image from different angles by rotating the source around the centre of the image.More precisely, the Radon transform is the projection of the image intensity along a radial line (see Figure 2) which is oriented at a specific angle.The radial coordinates are the values along the x'-axis, which is oriented degrees from the x-axis.Figure 2 shows a schematic illustration of a projection in a specific angle.Projections are computed along any angle , using the Radon transform equation Where H is the dirac delta function with value not equal zero only for argument equal zero.Figure 3

Spline Interpolation
Splines are mathematical functions to interpolate between several values.They are defined as piecewise polynomials, meaning that each interval is handled separately.In computer graphics splines are popular curves because of the simplicity of their construction, their ease and accuracy of evaluation, and their capacity to approximate complex shapes.A schematic example of an interpolation curve fitting problem is illustrated in Figure 4.
The highest order of the polynomials 2 ) said to be the order of the Spline .. The idea is to choose the polynomials in a way that guarantees sufficient smoothness of .. Specifically, for a Spline of order 8, .is required to be continuously differentiable to order 8 , at the points ) .In other word, for all * + , -( and all 9 + 4 9 4 8 ,, 2 ) : ) 2 );" : ) (3) Which 2 ) : is the 9th order derivative of 2 ) .The most popular Spline polynomials are Quadratic, Cubic and Cardinal (for more details refer to (Massopust, 2010)).

Proposed Algorithm for Gap Filling
Gap filling process has three main steps: A. Finding endpoints: Detected road are thinned insofar as one pixel width is achieved.Then endpoints are found simply using morphological operations.
B. Eliminating some undesirable endpoints: To diminish number of undesirable endpoints, each endpoint will be checked with some constraints and those endpoints which do not belong to any gaps will be eliminated.The criterion in this step is on the basis that there is not any continued line in the considered region as a gap in no direction.The procedure is as follows, for each endpoint , < =: 1. Consider a rectangular surrounded block with size B×B around the endpoint *, so that the endpoint is positioned in the center of that.The magnitude of > is selected according to the width of roads.We suggest it is at least 3 times of the roads width.
3. Create Binary Radon Coefficients using a threshold on the Radon Coefficients in each direction.The typical threshold is + +, which is selected close to zero.Sum the resultant binary Radon coefficients on each direction .C ? + " < " @ " -,A+ " B.
4. The selected endpoint should be eliminated if there is a direction which .C is greater than the size of block B or conservatively >D<.This means that there is a continued road in the block.
C. Finding the real gaps and Filling them: 1. Finding the road angle: For each remained endpoint * , < E E ! =, Consider a rectangular surrounded block B×B around the endpoint *.Compute the Radon Coefficients in some angles + " < " -,A+ " .If the block contains a road, the Radon coefficients in that road direction have sharpest impulse shape.Figure 5 shows a typical selected block.Figure 6 shows the Radon coefficients of the red block in the example of Figure 5 in some angles +º @+º F+º G+º ,<+º ,H+º.In this example " @+º  Considering the surrounded block and Radon coefficients, it can be inferred from Figure 5 and Figure 6 that road direction I is an angle which J is the largest.J is defined by This ratio is labeled as Radon-Measure-Ratio in this paper.For example, according to Figure 6, Radon-Measure-Ratios for + @+ F+ G+ ,<+ ,H+ are respectively.The largest ratio occurred in ,H+ and it implies that the road direction is I ,H+º.Note that, vertical Radon projection is in +.
2. Gap filling: For each endpoint * , < E, following steps are done i.Any other endpoint 9 c * which d1e f g8hij ) 1e f g8hij : k !" is a candidate to connect to the endpoint * as a road.Select the endpoint 9 that has the smallest distance from endpoint * and go to next step ii.If there is no endpoint which can satisfy above condition, reject endpoint * and try for next source endpoint.
ii. Compute the descent angle of the imagined line between endpoints * and 9 ): .If d ): 1e f g8hij ) d l " , reject endpoint * and try for next endpoint.Otherwise go to step iii.
iii.When endpoints * and 9 satisfy two constraints in steps i and ii, these two endpoints can be assumed as a source and destination of a gap.In this step, the founded gap will be filled using Spline method.After finding the real gap, considering surrounded block in the primary detected road is used in filling process.Candidate endpoint in the primary detected road is illustrated by red markers as shown in the Figure 7(a).There are two preprocess step before interpolating by spline method.First, eliminating the objects outside of the desired road angle.This concept can be seen in Figure 7(b).Second, since the spline method can be applied on a function, we need to modify the pixels of the road into a curve with one pixel width.On the other hand, the locations of road pixels should be act as members of a function (compare Figure 7(b) and Figure 7(c)).This preprocess can be done using median values of locations of nonzero pixels or alternatively using morphological thinning.Now suppose that, the size of the block which is contained the considered gap is m n o (Blue marker in Figure 7(c)), and the known road pixels after the two preprocesses are 2 ) ) p ) * , < -q where q is the total number of nonzero pixels in the block, ? ) r &, o' * , < -q !oB and ?p ) r &, m' * , < -q !mB are the set of pixels locations respect with s and t directions.The goal is finding the values of pp p " p 5 -p u on the domain , < @ -o by interpolating the values of ?p ) r &, m' * , < -qB over the ? ) r &, o' * , < -qB.

GAP FILLING EXPERIMENT
We performed experiments on a datasets consisting of various shape of gap.This dataset is the result of road detection algorithm proposed by (Matkan, et al. 2010).In this paper roads was detected from LiDAR data which its pixel size is one meter per pixel.This reflects the average density of the irregularly recorded 3D points which is fairly close to one per m 2 .Figure 8 (a) shows the LiDAR intensity data and Figure 8 (b) shows the detected road.As can be seen in figure 8(b), the detected road includes the large gap, small gap and gap in intersection.Therefore this image is suitable for evaluation of performance of the algorithm in encountering with various types of gaps.
Regarding the widest road width (7 pixel), the size of surrounded block around the endpoints was set at 25n25 pixels, as previously suggested.Angle step " was fixed at 10º. Figure 8 shows the results of the proposed gap filling algorithm.There is no direct approach to evaluate the accuracy of gap detection algorithms.So a reference map of gaps should be produce and use to compare the ability of variant algorithms for gap covering.In this paper accuracy assessment was done according to the number of gaps within the image which were filled.As can be seen in figure 8(b), there are 6 gaps in the detected road which 4 of them are on the straight road and 2 of them are in intersection.Those gaps which are on the straight road were perfectly filled, but none of the gaps in intersection were filled.This is due to direction-oriented nature of the algorithm.

CONCLUSION
In this paper, we have addressed the gap filling problem in the extraction of road networks, from images.An algorithm based on Radon transformation was designed in order to automatic finding gaps in road network.Then, these found gaps were filled using Spline method.Gaps are appeared due to many reasons such as algorithm weakness, sensor geometry, occlusions, shadows, and a wide variety of non-road objects.
Gap filling has a very small effect on overall performance of road detection algorithms, but it has very high topological importance.The Radon-Measure-Ratio introduced in this study is an innovative achievement which is used to determination of road direction.Experimental results demonstrate the good performance of our algorithm on straight roads and grid-like networks.But it does not work well in intersections, because it is a direction-based algorithm.This algorithm could be modified to applying in medical or biological network extraction.
Figure 1.a) An image with two lines that uniformly distributed and uncorrelated noise.b) The corresponding discrete Radon transformation (Toft, 1996).The Radon transform computes projections of an image matrix along specified directions.Projections of a two-dimensional function are computed using a set of line integrals.The Radon function computes the line integrals from multiple sources along parallel beams in a certain direction.The beams usually are spaced 1 pixel unit apart.

Figure 4 .
Figure 4. Interpolation of discrete data.Assume that the desired values of an unknown function are available in a finite subset of the function domain.For example, the desired value of the function is known in !" !# !$ " !$ % points.On the other hand, the interval & %' composed of ( order disjoint subintervals & ) " ) ' * + , -(.The goal is to find an interpolated piecewise polynomial real function ./& %' 0 1 in order to estimate the function .A polynomial 2 ) / & ) " ) ' 0 1 in each interval & ) " ) ' will be defined by

Figure 6 .
Figure 6.Radon coefficients of the selected block in different angles.

Figure 7 .
Figure 7. Demonstration of different steps of the proposed spline-based gap filling method.(a) Considered block of the founded gap.(b) Eliminating the objects outside of the desired road angle.(c) Converting into a function.(d) Interpolated road after thicken and updating by original road.

Figure 8 .
Figure 8. Result of gap filling algorithm.(a) Aerial image.(b) Detected road before gap filling.(c) A small gap.(d) Algorithm succeeded in filling the small gaps.(e) A large gap.(f) Algorithm succeeded in filling the large gaps.(g) A gap in intersection.(h) Algorithm failed to fill the gaps in intersection.