| that a human ex-
1 of features seem
ind. Note that this
‘ormation, if an in-
)ose to circumvent
umber of intensity
of scales, both per
ubset is then auto-
of-the-art airborne
ace borne imagery
In such very high
s like single trees
like building roofs
le patterns emerge.
rriability of the ra-
fic texture patterns,
a pixels’ neighbor-
es of its neighbors
iture vector. Typi-
epending on image
ous different win-
ficient, leading to a
el. Thus we obtain
images with three
pase its decision on
includes the case of
0 the strongly over-
> neighborhood can
S.
wood This feature
| the optical remote
ghborhood of each
ell as linear combi-
| N input channels,
feature vectors, be-
the goal here, while
tion anyway. PCA
, thus for each pixel
ghborhood into the
mensions per chan-
us three PCA chan-
dimensional feature
r bank wide-spread
sion domain. Im-
ussian color model
anges due to light-
tested several other
le responses). Nor-
set of filters adopted
the RFS filters. It
aussian derivatives,
ee Gaussian kernels
der Gaussian deriva-
-direction at scales
the four LoGs have
s are computed per
e space for our test
ple choices of o and
that by convolution
; neigborhood is im-
7x7 5X5 WITH 4X4 3X3 WITH 2X2
ri
E
ie
e
=
LEE
Figure 1: Multi-scale patches: Pixels are displayed grey, 2X2 and
4X4 patches red, 3X3, 5X5, and 7X7 black.
2.2 Quasi-exhaustive features
The main idea of the proposed quasi-exhaustive features is to
avoid data-specific feature engineering altogether, by offering a
redundant, comprehensive feature set. We do not attempt to learn
a compact but complicated feature set, as for example deep learn-
ing (Hinton and Salakhutdinov, 2006; Ranzato et al., 2007) or
generative texture priors (Gimel’farb, 1996; Zhu et al., 1997).
Rather we propose to brute-force the feature extraction by com-
puting a large, redundant set of simple features and selecting a
small subset of those automatically during training. The data-
specific selection allows one to adapt to specific sensor charac-
teristics, lighting conditions and scene content, while the fixed,
simple set of feature candidates makes it possible to extract them
efficiently. The hope is that in this way one can mitigate the limi-
tations of smaller filter banks, whose performance tends to vary a
lot depending on data and scene content (Drauschke and Mayer,
2010). Our quasi-exhaustive feature bank includes (see Fig. 1):
e raw pixel intensities within a 15x 15 neighborhood in three
different scales: (i) individual pixel intensities, (ii) intensi-
ties averaged over 3x3 blocks, and (iii) intensities averaged
over 5x5 blocks,
e pixel-wise intensity differences within each channel. These
are only computed within a 9x9 neighborhood; using the
full 15x15 neighborhood would only marginally increase
the information relevant for the central pixel, but dramati-
cally increase the amount of features to 25200 per channel,
significantly increasing computation time.
e mean intensity differences between patches of size 2x2,
3x3, 4x4, 5x5, 7x7 inside the 15x 15 neighborhood, both
within and across channels. The patches are chosen to be
(i) non-overlapping, (ii) symmetric with respect to the full
window, to approximate gradient/texture filters for the cen-
tral pixel (Fig. 1).
This feature set ensures that a large range of scales and texture
frequencies will be covered and is a reasonable approximation of
proper (e.g., Gaussian) derivative filters. Furthermore, the infor-
mation based on the differences between the spectral channels of
an image is exploited. The feature computation is done highly
efficient by using integral images (Viola and Jones, 2001). Note
that the dimension of the feature space compared to the baseline
methods is large, for example, 14553 for our test images with
three channels.
2.3 Boosting classifier
As a classification algorithm we choose a variant of discrete Ad-
aBoost (Freund and Schapire, 1997) since it can perform feature
selection and thus the computational effort of the testing phase
can be reduced. Generally speaking, boosting is a method to im-
prove the accuracy of predictions of learning algorithms. It works
ISPRS Annals of the Photogrammetry, Remote Sensing and Spatial Information Sciences, Volume II-3/W1, 2013
VCM 2013 - The ISPRS Workshop on 3D Virtual City Modeling, 28 May 2013, Regina, Canada
ACCURACY VS. BOOSTING ITERATIONS
90%
>
= > x Sen
s 70% esie erbe =. m. 7
=
=
=
Ss
=
à 50% 15x15
2 —e- Augmented
=
E 30% —Quasi-exhaustive
2
&
1096
>
20 40 60 80 100
Number of iterations
Figure 2: Classification accuracy versus training iterations of the
boosting classifier for test scene VAIHINGEN (without nDSM).
by combining many classification rules (called weak learners)
that are inaccurate by themselves into an accurate (strong) clas-
sifier. As often done in image processing our weak learners are
simple decision stumps (i.e., thresholds on single feature dimen-
sions). AdaBoost selects the weak learners (and thus the features)
in a greedy fashion.
As mentioned before, AdaBoost is an ensemble method. It com-
bines many weak classifiers hj into a strong classifier H by linear
combination. The final classifier for a feature vector x is there-
fore built as:
H(x) = N^ ou. ha (x) (1)
k
The sign of H is the predicted class (--1 or —1), its magnitude
can be used as a confidence measure. The weak learners are
added incrementally to the strong classifier. In each iteration Ad-
aBoost tries to find the best weak learner to add to the strong
classifier, by looking at the weighted error rate e. The best weak
learner is the one that maximizes |e — 0.5]. The weak classifier
is assigned a weight a according to the relation:
iu arsi e
This ensures that the classifier gets a higher weight when it op-
erates farther away from chance. Then, the weight w; of each
instance is multiplied by exp (—oy;h(xi)). This means that sam-
ples that were classified correctly (where y; — A(xi)) decrease
in weight, while samples that were classified incorrectly increase
in weight. The weights are then normalized to sum to 1 and
the boosting procedure is repeated until the desired number of
weak classifier is reached, or until no weak classifiers that im-
prove the error rate are found. The re-weighting ensures that the
algorithm focuses on hard samples that are misclassified by many
weak classifiers.
AdaBoost is a binary classifier, meaning that it learns to dis-
tinguish a “positive” (label y = +1) from a “negative” (label
y — —1) class. Since in this paper we have more than two classes
(as is often the case in remote sensing), we employ AdaBoost.MH
(Schapire and Singer, 1999), which is a multi-class extension
to AdaBoost.! AdaBoost.MH effectively applies the one-vs-all
strategy to create a set of binary problems from the multi-class
problem (Friedman et al., 2000). In the case of K classes, H
and h are vector-valued functions with Æ components. The label
In the experiments, the software of Benbouzid et al. (2012) was used.