ROAD EXTRACTION FROM HIGH RESOLUTION SATELLITE IMAGES

Roads are significant objects of an infrastructure and the extraction of roads from aerial and satellite images are important for different applications such as automated map generation and change detection. Roads are also important to detect other structures such as buildings and urban areas. In this paper, the road extraction approach is based on Active Contour Models for 1-meter resolution gray level images. Active Contour Models contains Snake Approach. During applications, the road structure was separated as salient-roads, non-salient roads and crossings and extraction of these is provided by using Ribbon Snake and Ziplock Snake methods. These methods are derived from traditional snake model. Finally, various experimental results were presented. Ribbon and Ziplock Snake methods were compared for both salient and non-salient roads. Also these methods were used to extract roads in an image. While Ribbon snake is described for extraction of salient roads in an image, Ziplock snake is applied for extraction of non-salient roads. Beside these, some constant variables in literature were redefined and expressed in a formula as depending on snake approach and a new approach for extraction of crossroads were described and tried.


INTRODUCTION
Aerial and satellite images contain valuable information about geographical structures; the planet's landforms, vegetation, natural resources or man-made objects like buildings, roads, rail-roads, bridges, etc.This information provided from images supports accurate mapping of land cover and make landscape features understandable on regional, continental, and even global scales.
In this paper, the road extraction approach is based on The Active Contour Models.The Active Contour Models are defined by Kass, Witkin, & Terzopoulos (1987).Active Contour Models contain Snake Approach.Traditional snake model is separated into two representation types as analytic and discrete and uses energy minimization rule to detect roads.
In this study, the road structure was separated as salient-roads, non-salient roads and crossings and extraction of these are done by using Ribbon Snake and Ziplock Snake.Ribbon Snake and Ziplock Snake methods are derived from traditional snake model (Laptev, Mayer, Lindeberg, Eckstein, Steger, & Baumgartner, 2000) (Neuenschwander, Fua, Szekely, & Kubler, 1997).
Salient Roads have a distinct appearance in the image.Thus salient roads are roads that are not affected or prevented by shadows and occlusion of buildings and trees in the image.Detection and verification of roads depend on roads' geometric properties such as length, width.Salient roads have steady parallel lines that have consistent length and width as homogeneity of the corresponding image region.
Non-salient roads are more difficult to detect.Typical reasons of occurrence of non salient roads in an image are shadows and occlusion of buildings and trees.To increase the detection rate on these types of roads, ziplock snake method is used.After extraction of salient and non-salient roads, this information is used for crossing detection.Extractions of salient and non-salient roads provide not only minimum search space for crossing but also some points to detect crossing.Crossings link the road network together.Therefore, incomplete salient and non-salient roads are potential candidates for crossings.Crossing extraction is performed by checking incomplete adjacent roads and using the center points of the end of these incomplete roads.

ROAD EXTRACTION USING SNAKES
In this paper, road extraction is divided into three parts as salient road extraction, non-salient road extraction and crossing extraction.Salient roads are found using Ribbon Snake method.
Then Ziplock snake method is applied for incomplete roads.These roads are non-salient probably and Ribbon snake method can not obtain these types of roads.These parts are explained using described methods, below.

Salient Road Extraction
Salient Roads are roads that are not affected or prevented by shadows or occlusions of buildings and trees.Extraction of salient roads is started with the detection of lines at a coarse scale.
Elimination of irrelevant features is based on length of snake.In these experiments, Ribbon snake is applied for not only salient roads but also non-salient roads and Ribbon snake method has found non-salient roads.Ribbon Snake fails to detect the part of the road covered with other features.This is due to edge detection algorithm not being able to identify the initial position of snake properly.Besides these, elasticity and rigidity parameters have been made adaptive to the image properties.

Non-Salient Road Extraction
Typical reasons of non salient roads are shadows, building, tree etc.To prevent incomplete road detection, ziplock snake is used (Neuenschwander et al. 1997).As mentioned before, ziplock snake needs two end points to initialize a snake and in the literature these end points are defined by user.Because the system is automatic, two points must be detected automatically and not defined by user.In this step ribbon snake algorithm solutions are important for non salient roads extraction.After applying ribbon snake, salient roads are extracted and these roads' start and end points can be used as ziplock snake end points.

Crossing Extraction
Extractions of salient and non-salient roads provide not only minimum search space for the crossing but also they give some initial points to detect the crossing.We can use extracted roads to find crossings.First of all, we search incomplete roads because these roads must have crossings.

EXPRERIMENTAL RESULTS
In this study, all experimented gray level images are captured from Google Maps.They have 1-meter resolution.Especially high resolutions images are preferred because their geometric properties and characteristics are discovered easily.

Ribbon Snake
Ribbon snake method is defined for salient roads extraction in Laptev et al. (2000).Ribbon snake is extended by adding a width component to traditional snake and defined as where is the half width of the ribbon snake (Laptev et al. 2000).
In the experiments, Ribbon Snake initialization is important.In Kass et al. (1987), initial snake position is defined by the user as semi-automatic feature extraction.In this model, initial position of the snake is defined by using the Canny edge detection filter automatically.After the edge detection step, if detected lines are smaller than the defined threshold value of length, they must be eliminated while applying the extraction algorithm.Detection results are shown in figure 6 for different images and the results are evaluated.Table 1 shows the evaluation of salient roads extraction using Ribbon Snake.Ribbon snake algorithm is defined and performed for salient road in the literature as mentioned above.Ribbon Snake has also been applied for non-salient roads in this paper.Figure 7 and 8 show results of non-salient road extraction using Ribbon Snake. Figure 7 is a 1-meter resolution synthetic image that is manually shaded.On the other hand figure 8 is a 1-meter resolution test image which has real shadows.Table 2 shows evaluation of non-salient roads extraction using Ribbon Snake.On the other hand, the detection might fail, because of the wrong elasticity and rigidity parameters, and initialization.Elasticity and rigidity parameters manually defined by user might cause incorrect extraction of roads in an image.Besides this, proper initialization of ribbon snake is an important factor affecting the results significantly.Canny filter is not sufficient to detect line in the complex images.Thus if initialization step is performed as inadequate, energy minimization formula is applied for wrongly initialized snake positions as shown in figure 9.
Figure 9: Failed detection using Ribbon Snake Ribbon snake can be initialized using any edge detection algorithm but features like roads affect this step's accuracy.
Ribbon snake uses all this extracted information regardless of the features being irrelevant.Even if minimization algorithm is executed correctly, incorrect initialization causes failure in detection of roads.

Ziplock Snake
Ziplock snake method is developed by changing discrete representation of the traditional snake to decrease false detection range.The method has two application parts that are initialization and optimization of snake.Also, the size of Gaussian Kernel Filter is important for extraction.Different sizes of Gaussian Kernel Filter give different results.

Experiments of Gaussian Kernel Filters
During the experiments, Gaussian Kernel Filters in size of (10x10), (20x20), (30x30), (40x40) and (50x50) have been tried.Figure 10 shows the results of extraction using Gaussian Kernel Filter in size of (10x10), (20x20), (30x30), ( 40x40) and (50x50) and table 3 shows numerical results.In addition, optimal Gaussian Kernel Filter size depends on the resolution of the image.According to the experiments, if resolution of an image is changed, size of the Gaussian Kernel Filter must be changed by approximately the same ratio.Figure 10(c) and 15 are converted from 1-meter resolution images to 2meter resolution images using pyramidal decomposition.After that, Gaussian Kernel Filter in size of (15x15) and ( 10x10) is applied as pre-process for these low resolution images.

Initialization
The next step after the pre-processing is initialization.This step is performed by using Bezier Curves as shown in Figure 12.
Bezier Curves are generated between the end points.The end points must have minimum gradient value.
Figure 12: Bezier Curves Extended-snake based approach is developed by Neuenschwander et al. (1997) to prevent initialization and optimization problems.To achieve initialization procedure, homogeneous Euler equation is solved that it corresponds to system equation.Homogeneous Euler equation is defined as where stands for either or and .According to the experiments, Ziplock snake detects straight roads, while it is not successful in detecting curved roads as shown in Figure 13.Ziplock snake needs some new control points that are defined by user during optimization.For an automatic approach, this situation is not appropriate.Thus, Ziplock snake is not capable of curved road detection automatically.As a consequence, if images that have straight roads are chosen, success of Ziplock snake method increases for automatic approaches.According to the literature, the implementation area of Ziplock Snake consists of non-salient roads, indeed.As shown in figure 14, Ziplock Snake detect roads for a simple image that is modified by user to generate synthetic shadows.Table 7 : Evaluation of Ziplock Snake for non-salient roads A failure case is shown in figure 17.Causes of failure in this experiment are; using unsuitable Gaussian kernel filter, manual representation of elasticity and rigidity parameters, and similar geographic properties of roads and other features.
Figure 17: Failed detection using Ziplock Snake

Optimization
Optimization of the snake starts using initial snake that is defined by initialization procedure.In the optimization procedure the Ziplock snake is divided into three parts by two force boundaries (Neuenschwander et al. 1997).During optimization procedure the modified equation is iteratively solved for the active vertices.is a similar viscosity term of traditional snake.
Ziplock snake needs initial end points and this algorithm is applied between these end points.During optimization procedure, new force boundaries are obtained and force boundaries meet at the center of the snake.

Non-Salient Road Extraction with Ribbon Snake and Ziplock Snake
Non-salient roads can be detected by using Ribbon Snake and Ziplock Snake together.If Ribbon Snake does not extract all roads in an image, Ziplock Snake completes undetected roads using the end points of detected roads. Figure 18 shows detection of roads using Ribbon Snake and Ziplock Snake together.
Figure 18: Extraction of Road Using Ribbon Snake and Ziplock Snake In this experiment, Ribbon Snake fails to detect the part of the road covered with other features.This is due to edge detection algorithm not being able to identify the initial position of snake properly.As a result Ribbon Snake algorithm can not perform extraction for whole roads.Besides this, Ziplock snake method was implemented for only uncovered edge.

Comparison Between Ribbon Snake and Ziplock Snake Methods
In this part, results of Ribbon Snake and Ziplock Snake algorithms were compared and evaluation tables were constituted.9, the results of ribbon snake and ziplock snake method are quite different for extraction of non-salient roads.Ziplock snake have much more low percentage than Ribbon snake at extraction of non-salient roads.Because of this, as mentioned above, Ziplock snake must be initialized by using more than two end points.In this manner, Ziplock snake success can be increased by using these points.Beside this, Ziplock snake might need new control points during optimization.On the contrast, Ribbon snake does not need any user intervention.Ziplock snake initialization step requires end points that are defined by output of the Ribbon snake method or users.On the other hand, Ribbon snake method requires only right initialization using any edge detection method.

Extraction of Crossing
Extraction of salient and non-salient roads provides not only minimum search space for crossings but also give some initial points to detect crossings.First of all, incomplete roads are searched, because these roads must have crossing.After that, center point of the end of the road that is incomplete is found.
After end points of all incomplete roads are detected, the distances between them are calculated.If their distance is under a particular threshold, they are connected to each other as shown in figure 19.The threshold value is calculated as equal to the doubled road width.On the other hand, unit normal vectors of the center points are give a clue about road direction.Unit normal vector has been defined in chapter 3. Hence, center points of the lines are meet a center point that is the center of the crossing.
Figure 19: Extraction of crossings in real images

CONCLUSIONS
In this paper, Ziplock Snake and Ribbon Snake methods are tested and compared, some constant variables that are defined manually by user are supplied automatically with the new method that is defined and crossing extraction is supported by a new approach.
According to the experimental results, Ribbon Snake is more favorable than Ziplock Snake to extract salient and non-salient roads.While Ribbon snake and Ziplock snake gives similar results for extraction of salient roads, same thing can not be said for extraction of non-salient roads.Ziplock snake have much lower percentage of correctness and lower percentage of completeness than Ribbon snake at extraction non-salient roads.Because of this, as mentioned above, Ziplock snake must be initialized by using more than two end points.Beside this, Ziplock snake might need new control points during optimization.On the contrast, Ribbon snake does not need any user intervention.Ziplock snake initialization step requires end points that are defined by output of the Ribbon snake method or users.

Figure 3 :
Figure 3: Initial Snake During Ribbon snake application, initial snake position is moved towards ribbon snake's left and right.

Figure 4 :
Figure 4: Initial snake and detected roads in a synthetic imageAfter all iterations are completed, the half width that has the minimum total energy is established.As shown in figure5, road lines are obtained, half width and initial position of ribbon snake in figure3, and process stops.Another example is shown in figure4.This image is a synthetic image.For this synthetic image, elapsed time of all processes is fewer than real images.

Figure 5 :
Figure 5: Detected road lines using Ribbon Snake Figure 4 Figure 6: (a), (b) and (c) Other Detected road lines using Ribbon Snake

Figure 14 :
Figure 14: Detection of roads for simple image that is modified by user using Ziplock Snake Figure 14 (non-salient) Figure 15 (non-salient) International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B4, 2012 XXII ISPRS Congress, 25 August -01 September 2012, Melbourne, Australia

Table 1 :
Evaluation of results for Salient Roads Using Ribbon Snake

Table 2 :
Evaluation of results for Non-Salient Roads Using Ribbon Snake Figure 8: Detected non-salient road lines using Ribbon Snake

Table 3 :
Evaluation of Different Size of Gaussian Kernel Filter Certain Gaussian blurring helps to detection, but excessive blurring causes to disappear of features.Therefore performance of extraction decreases.International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume XXXIX-B4, 2012 XXII ISPRS Congress, 25 August -01 September 2012, Melbourne, Australia

Table 5 :
Evaluation of Different Size of Gaussian Kernel Filter for image in figure15and down sampled version in figure16

Table 6 :
Evaluation of Ziplock Snake for salient roads

Table 8 :
The results of extraction of salient roads According to the table 8 Ribbon snake and Ziplock snake gives similar results for extraction of salient roads.But as shown in table

Table 9 :
The results of extraction of non-salient roads