If SIFT or SURF feature descriptors are used it can be
checked if corresponding features match each other better
than any other feature (as explained in Wohlfeil, 2010). Much
better performance has been achieved using the above
mentioned KLT feature tracker and a special matching
algorithm that is explained in this contribution.
3.2.1 Redundant Matching with Consistency Check
First, in all of N possibly overlapping images, features are
determined according to Shi and Tomasi (1994). A given
minimum distance between features limits their number and
ensures a good distribution. For each of the selected features
an NxN connectivity matrix C is created with one single
positive entry at C(i, i) denoting that the position of the
feature is yet only known in image i. All other entries are
initialized negative. Also a vector of feature positions F is
created for every feature with F(i) set to the feature's position
in image i. Next, the following algorithm is performed,
written in pseudo code:
FOR every tuple of images i and j with i # j
FOR all features with a positive entry in C(i,i)
Try to track the feature from image i to image j
(using the KLT feature tracker) to the position f.
IF tracking was successful
IF C(j,j) is positive
IF |F(i) — f| ? d, (with d, — 0.5 pixel)
Feature positions are inconsistent. Discard feature.
ELSE
Set C(ij) positive (tracking from i to j is consistent)
ENDIF
ELSE
Set C(j,j) and C(ij) positive (first tracking from i to j)
Set F(j) to f
ENDIF
ENDIF
ENDFOR
ENDFOR
C is made symmetric by setting all elements C(ijj) negative
for which the corresponding element C(j,i) is negative (Table
1). The number c of the remaining positive elements of C is
then used to calculate the rating 7 = c/N° for every feature.
3.2.2 Multi Resolution Matching Approach
In mountainous areas the displacement of features can differ
by many hundreds or thousands of pixels in different images.
For the KLT feature tracker such large displacements lead to
many mismatches. With a simple approach this can be
avoided. The previously explained feature matching
algorithm is performed at two levels of image resolution.
All images are scaled down to a manageable size (~10
Megapixel) and are matched, resulting in a feature list Fotos
providing information about the rough relative alignment of
the different image regions.
With this information, corresponding image tiles with a
reasonable size and full resolution can be extracted from the
original images. The algorithm is then repeated with each of
these tiles. For all of the performed test it was enough to
process only 30% well distributed tiles of the whole image
area to retrieve enough homologous points for a reliable and
accurate bundle adjustment. More points do not improve the
results significantly, but unnecessarily increase the
calculation time
All features whose offset is larger than the maximum possible
disparity (according to the limited height range), are regarded
76
as outliers and removed from the list. Features showing a
relatively high deviation (726) are removed as well.
Finally all features are sorted by descending rating and only
the best are kept. Despite of the consistency check and
statistical analysis there can still be a relevant amount of
incorrect matches among the remaining features. But even in
challenging situations their number is low enough to detect
and eliminate them during the bundle adjustment.
3.3 Bundle Adjustment
As the positions of the center of projection can be determined
with sufficient precision via GNSS for every captured line,
only the errors in orientation determination — the rotational
offsets between the measured and the real camera rotation -
have to be determined together with the 3D-positions of
homologous points. Depending on the platform and the
orientation measurement system these rotational offsets drift
slowly over time. These drifts are modeled by an orientation
correction function, consisting of L = 1..N sets of rotational
offsets, defined for equidistant points in time and interpolated
over time via quadratic Bezier curves (Wohlfeil, 2010). The
temporal distance between the correction parameter sets is
chosen according to the drift characteristics of the orientation
measurement error.
Similar to the adjustment of frame images, the appropriate
parameters of all rotational offsets are determined with the
help of the selected homologous points. While the correction
of a frame image’s orientation is typically expressed by a
single spatial rotation, the orientation correction function of a
line image has more correction parameters. In both cases
correction parameters have to be found that meet best the
collinearity constraints for all homologous points.
The C implementation of sparse bundle adjustment from
(Lourakis and Argyros, 2004) is used for performing this
task. Due to errors in the automatically determined
homologous points, bundle adjustment must be performed
repeated in order to detect and eliminate incorrect points.
They are detected due to their residuals, which are
significantly larger than the RMS of all residuals. In practice,
a threshold of three times the RMS worked well in all cases.
3.4 Preventing loss of the absolute orientation
After bundle adjustment with homologous points, the relative
orientation of the involved images is optimal. But if no
information about the measured absolute orientation of the
images is given to the bundle adjustment, the accuracy of this
orientation can get lost. This is especially the case for remote
sensing satellites with a small field of view, such as most
high resolution sensors with a narrow swath (i.e. few
kilometers). Due to the small field of view and the large
distance of the satellite from the earth, the rays of light
corresponding to different pixels of the image are almost
parallel. Due to that, the error function is very flat in terms of
the absolute orientation. As a result, very small errors in the
positions of the homologous points cause the absolute
orientation to drift far away.
This can be prevented by integrating ground control points
(with known positions in object space) in the bundle
adjustment. But the measurement of their positions is very
laborious and not always possible.
The problem is solved by using a small subset of homologous
points remaining after bundle adjustment as pseudo ground
control points. Their position is determined by spatial
intersection of corresponding lines of sight, using the directly
measured orientation. Finally, one additional bundle
adju
and
of a
geo-
whi
coni
3.5
Afte
orie
dete
orie
etc.
SG
of €
ima;
the |
mus
auto
how
line
curv
ima,
orie
capt
can
plan
d (c,
and
This
any
of a
poir
ovel
The
to n
the ‘
dow
GSI
mea
hom
can
reso
3.6
The
extr.
wat:
only
the
solu
num
Fort
wat
elev
area
poir
dila
sim]
The
cont
disa
vola
user