nbul 2004
gradient
th a fixed
) of the
a certain
(3)
lan, each
based on
lues (cfr.
ridge and
detection
tic scene
ze w--9.
the raw
idth (cfr.
X
X
N
X
Figure 2. Example of ridge detection. (a) original, (b) detected
ridge pixels, (c) thinned result, (d) filter on minimal segment
length.
3. JUNCTION DETECTION
The roads that can be extracted using the ridge detector are not
of sufficient quality to be useful for registration with a road
vector layer. The main difficulty is the difference in
representation between the pixel chains that are detected in the
image and the polyline vectors that represent roads in the
database. This difference hinders the correspondence problem
considerably. A much more robust registration object is
necessary. Road junctions are good candidates since in their
abstract form, they can be represented as point objects both in
the image as well as in the database. This reduces change
detection to the comparison of sets of points, for which several
reliable techniques are available (e.g. Gautama and Borghgraef,
2003).
- "
L - od +
cu
a
ie
dog
NIE
TUE
I
Figure 3. A junction defined a chain pixel with three or more
neighbours.
We model a road junctions as points in the road network, at
which three or more road segments meet. A similar definition
has been used by Wiedemann (2002). This means that built
upon the road network that is detected using ridge detection, we
look for pixels in the pixel chains which have three or more
neighbours. We chose this strategy above corner detection,
because corner detection gives many spurious responses not
belonging to road junctions, which are not easy to filter out.
Our method is more specifically tuned to the road network
logic.
A major problem however is that the road network as is
detected, fails in the vicinity of junctions since the ridge model
does not hold anymore. At the junction, the intensity surface
will not appear as a valley or a ridge but as a flat spot. Pixels at
a junction will show a low gradient and a low curvature in both
directions. Figure 6 illustrates this problem. Figure 6b shows a
junction with the detected pixel chains in overlay. The road
network is typically broken at junctions. Figure 6a shows the
corresponding eigenvalue A;. In the center of the junction, the
flat spot area can be seen quite clearly. It should be noted
however that this flat spot not only occurs at a junction, but it
can also be caused by buildings and other compact structures. A
flat spot as such is therefore not sufficient to reliably detect
junctions and the information about road network should be
used to further characterize a junction.
For this, we implemented a region growing scheme which
extends the initial road segments with regions which show a
similar grey value. Region growing is a standard segmentation
algorithm which works with either grayscale or multispectral
817
International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Vol XXXV, Part B3. Istanbul 2004
images (cfr. Levine and Shaheen, 1981). It is a queue-based
algorithm which iteratively grows regions starting from seed
regions to form homogeneous area s in the image. In the
simplest case, a pixel will be included in a region if it is
adjacent to another pixel in the region that has a intensity value
that differs less than a given threshold 7. If there are multiple
bands, the threshold criterium must hold for all spectral bands.
The algorithm can be extended by applying adaptive
thresholding. The threshold is modified dynamically according
to the mean and standard deviation of the region as it is being
grown. The modification equation is based on an algorithm by
Levine and Shaheen (1981) and is given by:
G
T" zl1-min(0.8, — 7^) | 7" (4)
Hyegion
with 7^-T. Thus the adaptive threshold will never be larger
than the value of the initial threshold 7, but it can become much
smaller. Using the adaptive threshold can help to prevent
"bleeding" across slow image gradients.
(b)
Figure 4. (a) initial detection,
(b) detection after region growing and thinning.
The process to improve the initial ridge detection result
contains the following steps:
I. the road segments that have been detected using ridge
detected are filtered on size, where only segments of a
certain size are kept as initial seeds;
2. based on these seeds, region growing is applied using
the adaptive threshold;
3. morphological thinning is performed to produce a line
of single pixel width.
In the last step, the maximum supression technique which is
typically used in road detection to produce single pixel lines,
cannot be applied because of the flat spot that occurs in
junctions. Selecting the pixels of maximum curvature would in
this case produce unwanted cycles around the flat spot. The
thinning process does not have this problem and can produce.
‘cleaner junctions.
For roads which are adequately detected, this process proves to
be sufficient in many cases to bridge the bad spots at junctions.
Figure 4 shows the result after region growing. Figure 4a shows
the initially detected ridge pixels. Figure 4b shows the resulting
segments after region growing and the pixel chains after
thinning. Segments of small size have been filtered out.
Based on the improved road network, road junctions can be
detected using the neighbour definition. The simple scheme is
of course not fool proof. A cheap and efficient verification to
filter out false alarms is to check if in the vicinity of a
hypothetical road junction a flat spot exists. Road junctions are