The International Archives of the Photogrammetry, Remote Sensing and Spatial Information Sciences. Vol. XXXVII. Part B7. Beijing 2008
149
3.4 Hough Space Characterization
The Hough Space is a 3D space whose dimensions are a, b and
- (a,b) being the translation and being the rotation angle
(rotation center being the image center). We will not focus a lot
on the Hough Space representation because the data associated
with each dimension is represented homogeneously, and thus
we only have to use a classical scheme for representing this data
(i.e. cells in which we capitalize votes,).
An item (a,b, ) of the Hough Space is calculated as the
transformation that makes a primitive (xl,yl, 1) of Image 1
matching with a primitive (x2,y2, 2) of Image2. It provides a
classical non-linear system of three equations with three
unknown variables (a, b and ), whose solution is classical.
Once we obtain all these items - i.e. (ai,bi, i) points in the
Hough Space - we have to classified them in order to find the
densest area that is characteristic from the expected
transformation. This process is also very classical because of
the Hough Space homogeneity.
distance below dmin of any other point selected
previously
We obtain two sets of primitives SI = {(xi,yi, i), i ei..nl} (in
ImBl) and S2 = {(xj,yj, j), j ei..n2} (in ImB2) to be paired.
A primitive P1 ,i of SI is paired with a primitive P2,j of S2 when
they satisfy a proximity constraint that is “the distance between
points is below dmax” and “the difference of their orientations
is below max”). Then, we can compute Tij - represented by
(aij,bij, ij) - that transforms P2j into Pl,i. The
transformation Tij is a “point” (or item) of the Hough Space.
The key point of this algorithm is that we replace a set of
possible landmarks (the one-dimensional structures) whose size,
distribution, complexity and reliability is variable, by a larger
set of primitives that all have the same complexity and
reliability, and that are more uniformly distributed.
4. RESULTS
The only difficulty, and it is an important one, is to find
primitives in both images and to pair them efficiently.
3.5 Primitive detection and matching
In this section, we introduce our contribution in finding and
pairing primitives, and we describe precisely the algorithm we
have designed for that. Then, in the next section, we show some
results we obtained using this algorithm.
Let us consider two images Iml and Im2 to be registered.
We first compute two corresponding binary images ImBl and
ImB2 by applying a Touzi filter and morphological
transformations as opening and thinning. Thus, ImB 1 and ImB2
only (or mainly) contain one-dimensional structures (i.e. based
on arcs of curve). Most of these arcs of curve appear in both
images (ImB 1 and ImB2) but some of them only appear in one
image (ImB 1 or ImB2) and not in the other one.
We assign an orientation to each point of ImBl (from now,
when writing “a point” - in a binary image - we mean a point
whose value is 1). This orientation is obtained by using a simple
but efficient algorithm: we define a (small) neighborhood and
we consider all the possible “discrete thick lines” centered on
this point; then, we keep the direction of such a line that covers
most points of ImBl within this point neighborhood (this
number of points is the “score” s that characterizes the
relevance of the selected orientation). Finally, we represent each
point of ImBl by four values ((x,y, ),s) and we provide a
selection on this set of points in order to obtain the set SI of
primitives P1 ,i of ImB 1 (and we proceed in the same way for
ImB2). Let us see now how we provide this selection.
We experienced our approach on actual data in order to
illustrate its feasibility. We used the Tsunami Dataset Package
provided by ESA, and we chose two pre-tsunami images from
ENVISAT/ASAR (*).
Figure 2. ENVISAT/ASAR images.
We only keep the points whose orientation is relevant enough Fi S“" 3 - Bi " aI y images obtained by using the Touzi algorithm.
and we impose a constraint that is formulated as follows: “the
distance between two primitives must not be lower than a given
value dmin”. For ImBl (and then for ImB2), our algorithm
consists in:
1. eliminating all the points whose score is below a given
threshold
2. sorting all the remaining points by decreasing values of s
3. selecting the first point of the list (i.e. whose score is
maximum) and then, sequentially, doing the same for all
the other points under the condition they are not at a