. Istanbul 2004
hether or not a
method, the
vision system.
tage reasoning
e objects from
primitives are
identified the
During the
are combined
hanism. At the
ments grouped
rightness and
ible when the
fragmentation.
ber of studies
emote sensing
actory results.
signed for the
of imagery.
phic region is
pable of the
asoning-based
n areas from 4
ronment other
oads. Besides,
rties of roads.
us widths and
erties on the
ir extraction
with spatial
ts and spatial
making. This
ment which 1s
imagery.
other human-
material and
lly paved with
incident solar
has a uniform
lighways and
ble from their
lection of the
1 light tone on
same paving
ture. There is
d boundaries.
y continuous.
vatures. Their
s affected by
image, a road
narrow line
lution image,
' of cells with
ty of a road
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B3. Istanbul 2004
network may be disrupted by the presence of trees and vehicles on
the ground, causing it to be intermittent. Any reliable extraction of
road networks must take full advantage of these characteristics.
2.2 Data preprocessing
The original image is a subscene multispectral IKONOS image. It
covers a densely populated suburb of Herne Bay in Auckland,
New Zealand. The raw image was processed using the
unsupervised classification method during which all pixels were
grouped into 20 clusters in ERDAS Imagine. During post
classification it was found that two of these clusters corresponded
to roads. The classified image was then converted into a binary
image of road and non-road pixels, and saved in the bitmap
format, the commonly used and recognized image format by most
image processing systems (Figure 1).
Figure 1. A binary image obtained from unsupervised
classification of the raw multispectral IKONOS image into 20
classes in ERDAS Imagine.
This binary image shows clearly the outline of major streets. Due
to the complexity of the scene (many buildings and cars parked
along streets) and the limitations of the per-pixel based
unsupervised classification method, noises of non-road pixels are
quite common and widespread in this binary image. Appearing as
isolated pixels or pixels in small clusters, these noises can be
eliminated through spatial filtering. On the other hand, many road
segments, which are spatially contiguous in reality, appear to be
disjoined with a varying width in the image. These imperfections
will be improved through subsequent spatial reasoning to make
the extracted road network more reliable.
3. IMPLEMENTATION OF SPATIAL REASONING
The proposed method of road network extraction based on spatial
reasoning consists of three stages after the initial unsupervised
classification. They are noise removal, road segment joining and
thinning.
3.1 Noise removal
Roofs of buildings in urban areas have an image tone similar to
that of roads. Consequently, they have also been grouped into
road pixels during the unsupervised classification. A close
inspection of the results (Figure 1) reveals that building pixels are
spatially isolated, or are in small clusters. These clusters, however,
333
do not contain too many pixels. A search of nearby pixels
shows that these non-road pixels are not aligned with road
pixels in any direction. If cluster size is taken advantage of to
distinguish road pixels from non-road pixels, the distinction
relies on a specified threshold for the number of pixels
contained in a cluster and their spatial arrangement with
another cluster of pixels. Care must be exercised in
determining an appropriate threshold before any further
processing is undertaken. The larger the threshold, the greater
the number of noisy pixels, and the more interpretable the
image becomes because any clusters of spatially contiguous
pixels with a membership below this threshold will be
regarded as noise and removed. On the other hand, however,
a larger threshold may lead to the loss of information in the
output image as a broken road segment may be made up of a
small number of pixels.
All the road segments having fewer than the specified
threshold of pixels will be treated as noise and subsequently
removed. During this process, all the isolated pixels or those
in small clusters are removed. All those remaining clusters
contain enough spatially contiguous pixels above the
threshold. Their longest length is then calculated and
compared with the threshold. If the length is shorter than the
specified threshold, then all pixels in the cluster will be
removed. Those remaining pixels are considered to represent
true roads. This noise removal procedure consists of several
steps. The first is to set up a threshold for the shortest length
of a road segment in the image. Length is defined as the
longest dimension of a cluster of spatially contiguous pixels.
This user-defined threshold governs the cluster size of noise
pixels. Assume the pixel under consideration is located at (1, j)
in which i varies from 0 to image column minus 1, and j from
0 to image row minus |. The input image is processed pixel
by pixel iteratively. During each iteration, i is incremented by
one until it reaches image column minus 1. Within each loop
j is incremented by one until it reaches image row minus 1.
Through these iterations all pixels will be processed.
There are two public arrays of variable in the noise removal
procedure, one storing pixel value and the other storing a
Boolean value that indicates whether it is a road pixel. During
every iteration, each of the four neighbouring pixels of (i, j),
(i-1, j-1), (i-1, j), (i-1, j*1) and (i, j-1), is examined in turn to
determine whether pixel (i, j) is a road pixel. If one of the
four neighbouring pixels is a road pixel according to the
properties described previously, then pixel (i, j) is also
considered a road pixel. Otherwise, the search algorithm is
activated to search the other four directions: (1*1, j-1), (i+1, j),
(i1, j- 1), (i, j* 1) to check whether pixel (i, j) is the start of a
road segment.
Determination of the length of a cluster of spatially
contiguous pixels is accomplished recursively. The structure
of the recursive search is illustrated in Figure 2. Pixel (i+1, j-
1) is evaluated first. If it is a road pixel, then its coordinate is
set to (i, j) and the threshold of road length is decreased by 1.
Afterwards the program recalls itself. If pixel (i, j) is not a
road pixel or lies outside the image bound, then the recursion
returns a false value and starts the next direction. If the
threshold is 0, then it returns a true value. Four directions of
search are considered: (i+1, j-1), (i+1, j), (+1, j+1), (i, j*1).
After all pixels in the input image have been searched, all the
contiguous pixels will be calculated. If their number falls
below the specified threshold, then all of them will be
regarded as noise and removed from the output image.