Ontario, Canada, K1A 0E9. Abstract. Our work addresses the correction and update of road map data from georeferenced aerial images. This task requires the ...
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
Automated Correction and Updating of Road Databases from High-Resolution Imagery Marie-Flavie Auclair Fortier1, Djemel Ziou1, Costas Armenakis2 and Shengrui Wang1 1
2
Département de mathématiques et informatique
Center for Topographic Information, Mapping Services Branch
Université de Sherbrooke
Geomatics Canada
2500 Blv Université, Sherbrooke
615 Booth St, Ottawa
Québec, Canada, J1K 2R1
Ontario, Canada, K1A 0E9
Abstract Our work addresses the correction and update of road map data from georeferenced aerial images. This task requires the solution of two underlying problems: a) the weak positional accuracy of the existing road location, and b) the detection of new roads. To correct the position of the existing road network location from the imagery, we use an active contour ("snakes") optimisation approach, with a line enhancement function. The initialisation of the snakes is based on a priori knowledge derived from the existing vector road data coming from the National Topographic Database of Geomatics Canada, and from line junctions computed from the image by a new detector developed for this application. To generate hypotheses for new roads, a road following algorithm is applied in the image, starting from the line intersections, which are already in the existing road network. Experimental results on a georeferenced image of Edmonton area, provided by Geomatics Canada, are presented to validate the approach and to demonstrate the interest of using line junctions in this kind of applications. Résumé Cet article présente une approche permettant de corriger et de mettre à jour de manière automatique l'information topographique existante, à partir d'images aériennes. Deux problèmes majeurs doivent être examinés pour réussir cette tâche : 1) le manque de précision des données existantes et 2) l'absence de nouvelles routes. Pour la correction, nous employons une technique d'optimisation basée sur les contours actifs, ainsi qu'une fonction de rehaussement des lignes. Les contours actifs sont initialisés à l'aide de connaissances a priori provenant de la base de données existante fournie par Géomatique Canada, et des jonctions de lignes présentes dans l'image et extraites à l'aide d'un détecteur récemment développé pour cette application. Pour la génération d'hypothèses pour les nouvelles routes, un algorithme de suivi de lignes est appliqué à partir des jonctions avoisinant les réseaux routiers existants. Des résultats expérimentaux obtenus sur une image géoréférencée fournie par Géomatique Canada, de la région d’Edmonton, sont présentés. En les comparant à ceux provenant de méthodes n'utilisant pas les jonctions de lignes, nous constatons l'importance et l'intérêt de l'utilisation des jonctions.
1
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
f(x, y)
A 2D image
fx ,
fy ,
f yy and f xy H ( x, y )
λmax
Hessian matrix for pixel ( x, y )
direction σ n = (n x , n y ) Normalised perpendicular to the line Neighbourhood parameter matching junctions
Nm v (s , t )
Vt
for M m
and discrete Etot and Continuous parametric curve representing the snake
f xx , First and second derivatives of f(x, y)
order
Eigenvalue of H ( x, y ) with maximum absolute value at point (x, y) Scale parameter for Gaussian Neighbourhood parameter for computing correlation Total energy of the snake
Eint
Internal energy of the snake
E ext
External energy of the snake
η
Regularisation parameter
α and β
Weight parameters for the snake
γ
Viscosity of the snake
∆
Mean progression of the snake
n
Number on points of the snake
s and t
Space and time parameters
p=( px, py )
A pixel
Θc
Line direction of a child pixel
Θp
Mean line direction of a parent
L
Number of pixel visited
ω
Weighting parameter
S
Minimal number of pixels
Table 1: Table of symbols.
2
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
Introduction Detection and collection of roads is a time consuming operation when performed manually. Fortunately, aerial imagery tends to facilitate this process, but complete automation is still far away with the methods used to date. Road detection is a type of feature extraction which is almost always context-dependent. In this study we have used high-resolution georeferenced images (the geographic position of each pixel is known) and the existing road topographic network from the National Topographic Database of Geomatics Canada. There are two issues with this database : 1) Location of existing roads may not be accurate enough (Figure 1) and 2) new roads may not be the included. The aim of our work is to automatically correct and update this road network.
a)
b)
c)
Figure 1 : Example of imprecision in the road database. a) Original image. b) Vectors from database. c) Vectors (white lines) superimposed on original image. Much work has been done on automating road detection (Auclair et al., 2000) (Baumgartner et al., 1997) (Fiset et al., 1998) (Gruen et al., 1995) (Guindon, 1998) (Heipke et al., 1997) (McKeown and Denlinger, 1988). Among the methods developed, we can mention particularly the work of Klang (Klang, 1998). He developed a method for detecting changes between an existing road database and a satellite image. First he used the road database to initialize an optimization process, using a snake approach to correct road location. Then, he ran a linefollowing process using a statistical approach to detect new roads, starting from the existing network. We have noticed that none of the reviewed methods make use of junctions in the image. These junctions are generally reliable information and since roads form networks, they are very relevant in this context. There are significant differences between our approach and Klang's. First, we add line junctions to his correction scheme to improve the matching between the road database and the image. Second, we generate hypotheses for new roads by following lines starting from line junctions near the known road network. We describe our approach in Section Approach. In Section Detection of Lines from the Image and Section Detection of Line Junctions, we present line and line-junction detection respectively.
3
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
In Section Correction of Road Location, we describe the correction of road location. In Section Generation of Hypotheses for New Roads, we present a hypotheses generation scheme for new roads. In Section Experimental Results, we present results obtained from a georeferenced image and a road database, both supplied by Geomatics Canada. Finally, the conclusions are discussed in Section Conclusion. Approach Geometric correction of the database is the first step in updating road maps. Because the road database has been obtained from various sources including the scanning of road cartographic layers, the location of roads is not precise. However, this information allows a good distinction between image features which are roads and those which are not. In aerial images, roads are generally long, thin features. Thus we want to find lines which are near the initialisation location provided by the road database. This prompts us to use active contour models (snakes), which are optimisation curves requiring an initialisation close to the final solution. To bring this initial values closer to the final solution, we match each intersection in the road database with at most one junction found in the image. Thus, we re-localise road segments according to the difference between database intersections and image junctions. After re-localisation, we apply a line optimisation process, using the snake approach. The second step in updating road maps is the addition of new roads. We know that roads are built in networks and that new roads are linked with old ones. We thus generate hypotheses for new roads by following lines from line junctions near the known network. The algorithm can be summarised by these following six steps : 1) resampling of the image 2) extraction of lines 3) extraction of line junctions 4) displacement of road segments according to the difference between their extremities and matched image junctions 5) correction of road segment location with snake process, and 6) line following starting from junctions placed near the existing road network to generate hypotheses for new roads. Detection of Lines from the Image Generally in aerial and satellite images, roads are long, thin elements with certain pixel width. Usually, they are bright lines against a dark background. To detect these, we use Steger's line detector which can be summarised as follows (Steger, 1998) : A bright line is a maximum in the grey-level image in a particular direction. Many line detection algorithms have been proposed (Ziou and Tabbone, 1998). The basic idea behind the algorithm we are using, is that the second directional derivative of a bright line profile on a dark background has a negative minimum and its first directional derivative is zero (0) (Figure 2).
4
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
b)
a)
c)
Figure 2 : a) Line profile. b) First derivative. c) Second derivative. In 2D, the direction that yields maximum curvature of the image function has to be found. Let f(x, y) be a discrete image. This direction can be determined by the eigenvectors and the corresponding eigenvalues of the Hessian matrix :
f xx H ( x, y ) = f xy
f xy f yy
where f xx , f xy and f yy are the second order derivatives of f(x, y) . The direction giving maximum curvature is the direction perpendicular to the line. This is defined as the direction of the eigenvector corresponding to the eigenvalue with maximum absolute value. If this eigenvalue is negative, we have a bright line on a dark background and if it is positive, we have a dark line on a light background. The eigenvalues of H(x, y) can easily be calculated by :
(f xx + f yy)± (f xx − f yy)2 +4f xy2 λ= 2 The normalised direction perpendicular to the line is
( λmax − f yy , f xy ) if f xy = λmax − f xx = 0 ( λmax − f yy ) 2 + f xy2 n= ( n x,n y ) = ( f xy ,λmax − f xx ) elsewhere f xy2 + ( λmax − f xx ) 2 Equation 1
where λmax is the eigenvalue with maximum absolute value at point (x, y) . Using this eigenvalue, we can define a measure of line plausibility. That is, when we search for dark lines, the line plausibility is
λmax
and when we search for bright lines, the line plausibility is
−λmax .
Working now in 1D, to find the line location along the direction of the profile, we prefer to use a polynomial approach than just a non-maxima suppression. Such an approach allows one to find
5
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
sub-pixel position of the line. Thus we find the positions where the first derivative of the Taylor polynomial in direction n is 0 and its second derivative has a negative minimum. Let
∂f(x, y) f xnx + f y ny n n ∂ n = − p= − 2 2 2 ∂ f(x, y) f xxnx +2f xy nxny + f yy ny ∂n 2 where f x and f y are the first order partial derivatives of f(x, y) . A pixel (x, y) is a line point if p ∈ [− 1 2 ,1 2 ]× [− 1 2 ,1 2 ] and λmax is used to select salient bright lines. the s width of the line is greater than one pixel, we can use a suppression of non-minima (we are looking for bright
lines) on λmax in the direction n . For the computation of derivatives, we use convolutions with derivatives of a Gaussian of parameter σ . Figure 6b and c present, line plausibility of Figure 6a and the lines obtained at σ =2 . Detection of Line Junctions
In the context of road detection in aerial images, we define junctions as line intersections. Image junctions are very useful features, particularly in solving matching problems, because they are generally reliable, stable elements. Unfortunately, we have noticed that they are not used for road detection. One reason is before the beginning of this project, to the best of our knowledge, no line-junction detector was existing. We use a line-junction detector developed in our Computer Vision Laboratory, based on a measure of curvature between the direction vectors of the line pixels within a given neighbourhood (Deschênes and Ziou, 2000). This detector also finds line terminations. This measure is estimated by computing the mean of dissimilarity between the orientation vector of the line pixels :
1 N
M
M
∑ ∑ β (∆x, ∆y )[1 − n (x, y ) ⋅ n (x + ∆x, y + ∆y ) ]
∆x = − M ∆y = − M
where n(x, y ) is the normalised line direction at point (x, y ) from Equation 1,
e −(∆x β (∆x, ∆y ) = 0
2
+ ∆y 2
)
⋅ is the dot product,
if a line exists between ( x, y ) and ( x + ∆x, y + ∆y ) otherwise
,
and N is the number of points (∆x,∆y ) such that β ≠0 . The junction is localized in a high curvature region using a non-maxima suppression (Deschênes and Ziou, 2000). Figure 6d presents the results of the line-junction detector. Correction of Road Location
As we will see in more detail in Section Active Contour Models - Snakes, the correction of road location involves two steps : 1) re-localisation of the known roads to bring them closer to the
6
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
final solution of the snake approach, and 2) the snake iterative process itself. These two steps are presented in the next two sections. Matching the Road Database with Image
The active contour model is an iterative process which needs an initialisation close to the final solution. This initialisation must fall within the attraction zone of the snake. We propose to use line junctions to re-localise road location from the road database, in order to bring the initialisation closer to the bright line representing the road. Line junctions are relevant because they indicate the position of road intersections in the image. For this purpose, a correlation measure between certain points in the road database and the line junctions is used. The road database provided by the Centre for Topographic Information of Geomatics Canada is made up of lists of georeferenced points defining line segments. We call these line segments vectors. These points are in georeferenced UTM coordinates, thus they have to be converted into coordinates relative to the beginning of the image (upper left corner). Then, the vectors are grouped into road segments in order to reduce the number of snakes. These road segments must be as straight as possible because this allows to add a constraint of high rigidity to the snake. This high rigidity will help avoid noise and shadowing problems because the optimised contour does not follow small intensity variations caused by these phenomena. Two vectors are considered in the same road segment if: 1) they are adjacent, 2) the cosine of the angle between them is below a threshold (in our experiments, we always set this threshold to cos(138°) ), and 3) there is no other vector starting at the extremity common to the two vectors. A road segment is described by all vectors between its two extremities. Figure 7a shows an example of road segments from the database. There are ten road segments in this image. Having the list of all road segments, each extremity is matched with a junction, if possible. For this purpose, we compute a correlation measure between the extremity and each junction localised in a Nm×Nm neighbourhood around this extremity. Let (x, y ) be the extremity and (u,v ) be the junction; then, the correlation is: Mm
corr ( x, y ) =
Mm
2
2
∑ ∑ RoadSeg(x + i, y + j )line(u + i, v + j ) ,
i=− M m
2
j =−
Mm
2
Equation 2
where
RoadSeg(x, y )=1 if (x, y ) belongs to a road segment 0 if not and line(x, y ) is the line plausibility ( λmax ) as defined in Section Detection of Lines from the Image. We match (x, y ) with the junction (u,v ) having the highest correlation. Figure 7b presents the results of matching between extremities of Figure 6a and junctions of Figure 6d. We used a M m of 25 in all of our trials.
7
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
Figure 3 : Example of displacement of road segment after matching
After matching, we re-localise each segment according to the difference between its extremities and the junctions matched. As the differences at the two extremities may not be the same, we move each vector extremity in the road segment according to the difference between the nearest road segment extremity and its matched junction. That means that every vector keeps the same orientation except the one containing the midpoint of the road segment, because its two extremities will move according to the two different extremities of the road segment (Figure 3). Figure 6c presents road segments after re-localisation. Active Contour Models - Snakes
As we mentioned earlier, we want to find lines near the initialisation provided by the road database. Active contour models or snakes is an optimisation process which needs an initialisation near the solution (Berger, 1991) (Fua and Leclerc, 1990) (Kass et al., 1988). Aerial images can be affected by noise and roads can be partially hidden by shadows of trees, houses or clouds. Snakes help manage these problems with constraints on rigidity and elasticity. In the continuous domain, snakes (or active contours) are parametric curves ( v(s ,t )= (x(s ,t ), y(s ,t )), s∈[0 ,1] ) that minimise an energy function based on internal and external constraints (Berger, 1991) at time t :
(
1
E tot = η E int + E ext = η ∫ α 1 v ' (s , t ) + β 1 v ' ' (s , t ) 0
2
2
)ds + ∫ λ 1
0
max
(v (s , t )) ds
Equation 3
where Eext is the external energy, Eint the internal energy and η a regularisation parameter,
α 1 , β 1 ∈ℜ + , v ' and v '' are the first and second partial derivatives in s . The internal energy represents the snake's capacity to distort. The term v '(s ,t ) influences the 2
snake's length (or tension) and v ''(s ,t ) influences the curvature (or elasticity) of the snake. The 2
parameter η can be absorbed by α and β ( α =ηα 1 and β =ηβ 1 ).
8
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
The external energy represents the image force ( f (x, y ) ) attracting the snake. In our case, this force is the bright-line plausibility ( f (x, y )=−λmax(x, y ) ). Equation 3 is an evolution problem (snake position evolves over time). The solution to this minimization problem is the simplified Euler evolution equation :
γ
∂ E ext (v (s , t )) ∂ v (s , t ) − α v ' ' (s , t ) + β v ' ' ' ' (s , t ) = − , ∂t ∂v Equation 4
where v '''' is the fourth derivative in s . The parameter γ represents the viscosity of the curve. The higher the viscosity, the greater the inertia and the slower the evolution of the curve. The discrete version of Equation 4 is obtained by setting a discrete version of the parametric curve at moment t : Vt = {vi,t = (xi,t , y i,t ), i =1 .. n}, where n is the number on points of the curve. We can approximate the first and second derivatives by : v'i,t =vi,t −vi −1,t and v' 'i ,t = vi +1,t − 2vi ,t + vi −1,t .
The temporal derivative is approximated by:
∂vi,t =v −v . ∂t i,t i,t −1 The solution can be written in the following vectorial form :
γ
∂Vt ∂ E ext (V t −1 ) . − α V t ' '+ β V t ' ' ' ' = − ∂t ∂v
Equation 5
At point v i , t , we have :
γ (v i ,t − v i ,t −1 ) − α (v i +1,t − 2v i ,t + v i −1,t ) + β (v i + 2 ,t − 4 v i +1,t + 6 v i ,t − 4v i −1,t + v i − 2 ,t ) = − Equation 6
We can rewrite Equation 5 in matrix form :
(K + γ I )V t
= γ V t −1 −
∂ E ext (V t −1 ) , ∂v
Equation 7
9
(
∂E ext v i ,t −1 ∂v
) .
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
where I is the n× n identity matrix and K is a n× n . The elements of K are determined by Equation 6 and the initial conditions; the snake has free extremities, i.e., v''(0,t )=v'''(0,t )=v''(1,t )=v'''(1,t )=0 . K and γ can be found in (Berger, 1991): ∂ E tot ∂v γ= , n∆
where ∆ is the mean progression of the curve. The initial ∆ must be determined by the user. We keep the same ∆ until the total energy of the curve increases and then we decrease ∆ by a factor of 0.75. We can approximate the total energy of the curve at time t by : n
(
( )
2
Etot ,t = ∑ Eext vi ,t + α v'i ,t + β v' 'i ,t i =1
2
).
To summarize the correction step, for each road segment we do the following: [1] Initialize a snake curve ( V 0 ) with the re-localized road segment found in the matching step. Each pixel belonging to the curve is a v i , 0 . Set t to 1. [2] Compute V t from Equation 7. [3] If the total energy of the curve decreases then increase t and go to step [2]. [4] If ∆ is not too low, decrease ∆ , increase t and go to step [2]. Figure 4 shows an example of a snake used to optimise a line plausibility function ( α = 100 and β = 0 ). For all trials, we used an initial ∆ = 1 . Clearly, the initialisation is beside the line. After 18 iterations, the snake is at the centre of the line.
a)
b)
Figure 4 : a) Initialisation. Every pixel is a point in V 0 . b) After 18 iterations Generation of Hypotheses for New Roads
As mentioned earlier, the second problem in updating a road database is the detection and extraction of new roads. These new roads are also bright lines on a dark background, so the result of the line detector can be used.
10
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
Our work is based on the supposition that the new roads are connected with the existing road network. This hypothesis is realistic because roads are built to allow people to travel from one place to another. For this reason, we consider only lines which are connected to the road network as given in the existing database. The line-following algorithm starts from junctions in a N × N neighbourhood of the roads, corrected using the snake approach (Figure 9a). All lines originating from these junctions are followed. Each line pixel in a 5× 5 window around a junction is considered as a starting pixel for the line-following process (Figure 5). l
s j s l l
l l s
s l l
Figure 5 : A marked line junction ( j ), its starting pixels ( s ) and line pixels ( l ).
For each line, we proceed as follows : One of the starting pixel is chosen (anyone). Let p be the last chosen pixel (we call it the parent). First, three neighbours of this pixel in the line direction are considered. For example, if the line direction at point p=( px, py ) is in ]Π 8,3Π 8], the three
(
)
neighbours to consider are ( px +1, p y +1) , px +1, p y and ( px, py +1) (see Table 2). The line direction in p is computed from n (Equation 1). Each of these three neighbours labelled as a line pixel is considered as a child. The next pixel selected is the child that minimises: Θc − Θ p
Equation 8
where Θc is the line direction of the child and Θ p is the mean line direction of the parent. The mean line direction is computed on the last L pixels visited, as follows:
∑ Θ= a
L −1
Θa −i , L
i =0
where Θa −i is the line direction of the i th pixel visited before pixel a . In the case where none of the three neighbours are marked as line pixels, we look in a neighbourhood further away in the line direction; that is, when the direction of the vector between the parent and the pixel falls in the interval Θ p − π 8 , Θ p + π 8 , this pixel is considered as a
[
]
child. In this case, the next pixel is the one minimising:
11
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
(1 − ω ) pt c
− pt p
2
+ ω Θc − Θ p
Equation 9
where ptc and pt p are the locations of child and parent, respectively and ω ∈[0,1] is a weighting parameter. We do it iteratively from the beginning with the retained child. If a parent has no child, the line-following process is terminated. If the new road is shorter than a given threshold ( S ), it is dropped.
Table 2 : Range of four line directions and neighbours considered. p is the parent pixel and • indicates neighbours to verify. The other line directions are symmetric.
Let a line junction near the existing network, for each line pixel in a 5×5 neighbourhood of this junction, the line following algorithm can be summarised as follows : [1] Set the pixel as parent. [2] Compute the three neighbours in line direction of the parent (see Table 2). [3] If they are line pixels, a. set them as children. [4] If there is at least one child: a. Set the child that minimises Equation 8 as parent. [5] Return to step [2]. [6] If there is no child: a. Compute further children in the line direction. b. If there is now at least one child : i. Set the child that minimises Equation 9 as parent. ii. Return to step [2]. [7] If the length of the new line is less than S , then drop it. Figure 9b shows the results of the line-following process with L=10 , S =7 , ω =0.9 . Experimental Results
Our algorithm has been implemented in C++ on a Sun platform and in Visual C++ on a Windows platform. It was experimented on various sections of a georeferenced ortho image ( 11334 ×10166 pixels) that we re-sampled in order to reduce the initial spatial resolution by a factor of two. The digital georeferenced ortho image mosaic used has initial ground spatial resolution of 1.5 m and is from the Edmonton, Alberta area. It was generated by scanning 1:60000 scale 1995 aerial photography at 1000ppi (0.025mm) with 8-bit quantization. The Helava/Leica digital photogrammetric workstation was used for the automatic DEM generation, 12
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
while the exterior orientation parameters for each image were determined through automatic aero triangulation using control points from the Aerial Survey Database (ASDB). The road vector data were obtained from the National Topographic Database (NTDB). Most of these roads are undivided two lane roads. These data were revised and enhanced in 1996 using GPS methods and have an estimated accuracy of about 10 m. Figure 6 and Figure 7 present the results obtained at each step of our correction algorithm for an image section. Figure 6a is the original image, on which the vectors from the road database are superimposed. Visually, we can see that in many places, vectors do not correspond to roads. Figure 6b shows the line plausibility. Figure 6c shows the result of line detection, where the scale ( σ ) is 2 and the line threshold is 20. Figure 6d shows junctions (threshold is 0.1) and Figure 6a, road-segment extremities, represented by black squares. Figure 6b presents the result of the matching between road database (road segment extremities) and image (junctions). The white squares are junctions matched with the nearest extremities ( N m =13 ). We note that except for dead ends, there is only one extremity which is not matched (upper part of central curve), because there is no junction in the neighbourhood of the extremity. If the nearest junction had been matched, the central segment would have shifted to the right, away from the road. Figure 6c shows the initialisation after re-localising road segments. Figure 6d presents the final position of the snakes ( α = 100 and β = 4 ). We note that the final snake positions are closer to the centre of the lines than the original vectors. In the lower right part of the image, the results are not perfect because the road seems to be double. As there is only one snake, depending on the initialisation, it will be attracted by one or the other road. The mean displacement of road segment points is 2.76 pixels and the variance of this displacement is 4.09. We had a mean number of iterations of 31 per pixel in the snake step, for a total of 641 pixels treated. The results without junction detection (Klang's approach with the same parameters as in Figure 6 and Figure 7) are presented in Figure 8. The mean displacement of road segment points is 3.63 pixels and the variance of this displacement is 4.95 pixels. The mean number of iterations was 34 per pixel. Comparing Figure 6b and Figure 8b, we can see why the mean displacement in Klang's approach is higher than ours. Some snake sections are displaced further from the road. Roads are better localised with our approach. This is summarised in Table 3. With junctions
Without Junctions
Mean (pixels)
2.76
3.63
Variance (pixels)
4.09
4.95
31
34
Number of Iterations
Table 3 : Comparison between our approach (with junctions) and Klang’s (without junctions) on Figure 7 and Figure 8.
Now we will present the results concerning generation of hypotheses for new roads. Figure 9 presents the new-road hypotheses generation step for the image in Figure 6a. Figure 9a shows the line junctions near the known network ( N = 7 ) and Figure 9b shows the final result ( L = 10 and S = 7 ).
13
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
We will now briefly discuss the influence of the different parameters. We begin with the scale parameter of the line detector (Figure 10). The scale parameter must be chosen carefully, depending on the width of the road to be detected (Steger, 1998). If it is too low, the line is seen as two separate step edges. In addition, noise will have a greater influence on the results. If the scale parameter is too high, smoothing may flatten the line and the plausibility will be too low. For a discussion of line-junction parameters see (Deschênes and Ziou, 2000). In the matching step, we have a parameter determining the minimal distance allowed between the line junction and a road extremity ( N m ). This neighbourhood must be large enough, in case of high imprecision, to allow re-localisation of the road segment closer to the line. On the other hand, it should not be too large because the road segment extremity may be matched with the wrong junction and then we would move the road segment away from the line (Figure 11). The snake process has three parameters, α , β and ∆ . First, when the rigidity parameter ( α ) is high with respect to the elasticity parameter ( β ), the final road segment is straight (Figure 12a). Conversely, when α is small compared with β , the final segment tends to oscillate (Figure 12b and Figure 12c). The main difference between Figure 12b and Figure 12c is the number of iterations, which is higher for Figure 12c (53.6 iterations per pixel) than for Figure 12b (35.2 iterations per pixel). In general, we have observed that when α = 0 and β increases, the number of iterations also increases. For roads, it is suitable that rigidity should be more important than elasticity, but the snake must be able to fit a low-curvature road. The initial mean progression ( ∆ ) of the snake influences the number of iterations required to optimise the energy. If the initial ∆ increases then the number of iterations decreases. However, beyond a certain value, the snake may fall outside the attraction zone and then evolve in a wrong direction (Figure 12e). In the new-road hypotheses generation step, there are two influencing parameters : L and S . L is the number of pixels on which the mean direction is computed. It mainly influences the search direction in the case where there is no direct neighbour and a remote searching is required (step [6] of the line-following algorithm). For example, in Figure 13a, we used L = 5 , and we can see that some lines are missing in comparison with Figure 9b where L = 10 . S is the minimum length of line to be kept (Figure 13b and Figure 13c). Conclusion
We have presented our approach for automatically updating road maps from high-resolution aerial images. The updating of road database involves the addressing of two problems, i.e., the correction of existing road location and the addition of new roads. Since roads are long and thin elements in high-resolution images, the method is based on the detection of line. Existing road location is not precise, but can provide a good indication of where roads are located as opposed to other linear elements such as rivers or railways. For correction, we use a snake approach, with the existing road location as the line initialisation. To bring the initialisation closer to the imaged road, we re-localise road segments on the basis of line junctions from the image. We applied a line junction detector developed in our Vision Laboratory at Département de MathématiquesInformatique at Université de Sherbrooke (Deschênes and Ziou, 2000). We have presented some
14
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
results obtained with an image and a database provided by Geomatics Canada. For the addition of new roads, we apply a line-following algorithm starting from image junctions, which are in the existing road network. We have shown that there is an advantage for using line junctions by comparing with Klang's approach. Geomatics Canada is satisfied with the developed approach as to the best of our knowledge there is neither similar approach here in Canada nor Canadian software package incorporating this approach. Geomatics Canada intends to test and evaluate this approach in operational environment. Regarding further refinements we see them in the algorithmic aspects and in the use of multi-spectral and or fused imagery as well as in the expansion to other features besides the roads. Bibliography
[1] Auclair-Fortier, M.-F., Ziou, D., Armenakis, C. and Wang, S., 2000 “Survey of Work on Road Extraction in Aerial and Satellite Images”, Département de mathématiques et d'informatique, Université de Sherbrooke, Report no 247. [2] Baumgartner, A., Steger, C.T., Mayer, H. and Eckstein, W., 1997. “Semantic Objects and context for Finding Roads”. David M. McKeown, Jr. and J. Chris McGlone and Olivier Jamet editors, Integrating Photogrammetric Techniques with Scene Analysis and Machine Vision III, Proc. SPIE 3072, april, pp. 98-109. [3] Berger, M.-O., 1991. “Les contours actifs : modélisation, comportement et convergence”. Thèse de doctorat, Institut National Polytechnique de Lorraine. [4] Deschênes, F. and Ziou, D., 2000. “Detection of Line Junctions and Line Terminations Using Curvilinear Features”, Pattern Recognition Letters, Vol. 21 No. 6-7, pp. 637-649. [5] Fiset, R., Cavayas, F., Mouchot, M.-C., Solaiman, B. and Desjardins, R., 1998. “Map-Image Matching Using Multi-Layer Perceptron: the Case of Road Network”. ISPRS Journal of Photogrammetry and Remote Sensing, Vol. 53, No. 2, pp. 76-84 [6] Fua, P. and Leclerc, Y. G., 1990. “Model Driven Edge Detection”. Machine Vision and Applications, Vol. 3, pp 45-56. [7] Gruen, A., Agouris, P. and Li, H., 1995. “Linear Feature Extraction with Dynamic Programming and Globally Enforced Least Squares Matching”. In A. Gruen and O. Kuebler and P. Agouris editors, Automatic Extraction of Man-Made Objects from Aerial and Space Images, pp. 83-94, Basel, Switzerland, Birkhäuser Verlag. [8] Guindon, B., 1998. “The Extraction of Planimetric Features from High Resolution Satellite Imagery Using Image Segmentation and Spatial-Based Reasoning”. In International Symposium, Geomatics in the Era of RADARSAT (GER'97). [9] Heipke, C., Mayer, H., Wiedemann C. and Jamet O., 1997. “Evaluation of Automatic Road Extraction”. In Proceedings of International Archives of Photogrammetry and Remote Sensing, Vol. XXXII, pp. 47-56.
15
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
[10] Kass, M., Witkin, A. and Terzopoulos, D., 1988. “Snakes : Active Contour Models”. The International Journal of Computer Vision, Vol. 1 , No. 4, pp. 321-331. [11] Klang, D., 1998. “Automatic Detection of Changes in Road Databases Using Satellite Imagery”. In Proceedings of International Archives of Photogrammetry and Remote Sensing, Vol. 32, pp. 293-298. [12] McKeown, D. M. and Denlinger, J. L., 1988. “Cooperative Methods for Road Tracking in Aerial Imagery”. In Proceedings of IEEE, International Conference on Computer Vision and Pattern Recognition, pp. 662-672. [13] Steger, C., 1998. “An Unbiased Detector of Curvilinear Structures”. IEEE Transactions on Pattern Analysis and Machine Intelligence, Vol. 20, No. 2, pp. 113-125. [14] Ziou, D. and Tabbone, S., 1998. “Edge Detection Techniques - An Overview” , Int. Journal of Pattern Recognition and Image Analysis, Vol. 8, No. 4, pp. 537-559.
16
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
a)
b)
c)
d)
Figure 6 : a) Original image ( 217 × 295 ) with vectors from the road database. b) Line plausibility ( σ = 2 ). c) Detected lines (threshold is 20). d) Detected junctions (black boxes). Threshold is 0.1.
17
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
a)
b)
c)
d)
Figure 7 : a) Road segment extremities. b) Junctions (small black squares) and extremities (big black squares). White squares are matched junctions ( N m = 13 ). c) Initialisation of snakes after re-localisation. d) Final result ( α = 100 and β = 4 ).
18
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
a)
b)
Figure 8 : Results without junction detection. a) Matching of road segments with image. White squares are points matched. b) Final result ( α = 100 and β = 4 ).
a)
b)
Figure 9 : Detection of new roads. a) Line junctions near the corrected network. b) Result ( L = 10 and S = 7 ).
19
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
a)
b)
c)
Figure 10 : (a) Line profile smoothed with small σ . (b) First derivative. (c) Second derivative.
b)
a) Figure 11 : a) Matching with N
m
= 15 . b) Final result of the correction step with ( α = 100 and β = 4 ).
20
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
a)
b)
c)
d)
e)
Figure 12 : a) Results with α = 500 , β = 4 and ∆ = 1 . b) Results with α = 0 , β = 4 and ∆ = 1 . c) Results with α = 0 , β = 100 and ∆ = 1 . d) Results with α = 100 , β = 4 and ∆ = 0 . 1 . e) Results with α = 100 , β = 4 and ∆ = 3 .
21
Canadian Journal of Remote Sensing, Vol. 27 No.1, pp.76-89, February 2001.
a)
b)
c)
Figure 13 : a) New roads with L = 5 and S = 7 . b) New roads with L = 10 and S = 3 . c) New roads with L = 10 and S = 15 .
22