wikillm

Paper · 2021-04-15 · cs.CV

A survey of active learning algorithms for supervised remote sensing image classification

Reviews and tests active learning heuristics for remote sensing image classification: committee (entropy query-by-bagging, adaptive maximum disagreement), large-margin (margin sampling, MCLU, diversity variants) and posterior-probability (KL-max, Breaking Ties) methods on three datasets. With SVMs, large-margin heuristics with a diversity term suit best; results are plots only.

Active learningSupport vector machineactive-learningremote-sensinghyperspectralsvm

arXivPDFMarkdown10 min read

AI-compiled by claude-haiku-5-5 on 2026-10-31, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.

In plain words

Teaching a computer to recognise land cover in satellite or airborne images needs labelled pixels, and labelling them by hand is slow and costly. Often many neighbouring pixels say the same thing, so the labelled set ends up large and repetitive.

Active learning changes who picks the examples. The model trains on a small labelled set, then looks at the unlabelled pixels and asks the person to label the ones it is least sure about. Those answers go back into the training set, the model retrains, and the cycle repeats.

This survey explains the main ways to decide which pixels are "least sure". It groups them into three families: methods that ask a committee of models to disagree, methods that look at how close a pixel sits to a decision boundary, and methods that look at estimated class probabilities. It also covers how to avoid picking many near-identical pixels in one batch. The authors then run these methods on three remote sensing datasets and give practical advice on which family suits which situation.

TL;DR

  • Active learning picks the most uncertain unlabelled pixels for labelling, in rounds, to build a smaller and more informative training set §1 alg. 1.
  • Heuristics are grouped into committee, large-margin and posterior-probability families; a diversity term can be added to any large-margin choice §2 §4.4 tab. 1.
  • With SVMs, margin sampling was the strongest family in the experiments; with LDA the families performed similarly §7 fig. 4 fig. 7.
  • All results are author-reported and shown only as curves; the paper gives no results table, so numbers must be read from the figures.

Problem

Supervised remote sensing classifiers depend on how representative the training pixels are, and collecting them is expensive: field campaigns cost time and money, while photo-interpretation on very high resolution images produces redundant, sometimes noisy, labels §1. The paper argues that a training set should be small and chosen to cover the class boundaries, which matters most for very high spatial and spectral resolution images with large feature spaces and little labelled data §1.

The methods assume a pool of unlabelled candidates much larger than the labelled set, a classifier that can give a confidence measure, and a user who can label each queried batch §2. Some families need classifiers that output probabilities or support vectors, and some need many models trained per iteration, which the paper flags as a cost §5.1 §3.1.

Method

The general loop is the same for every heuristic alg. 1 §2:

  1. Train the model on the current labelled set X alg. 1.
  2. Score every candidate in the pool U with a user-defined heuristic alg. 1.
  3. Rank the candidates and select a batch S of q pixels alg. 1.
  4. The user labels the batch; add S to X and remove it from U alg. 1.
  5. Repeat until a stopping criterion holds. The paper does not state a rule and instead runs a fixed number of iterations §6.2.

The heuristics differ only in step 2 and in how the batch is formed:

  • Committee, normalized entropy query-by-bagging (nEQB) §3.1. Build k bags by drawing with replacement from the labelled data, train one classifier per bag, and label the pool with each. The score is the entropy of the vote distribution, divided by the log of the number of distinct classes predicted for that pixel eq. 1. A pixel every member agrees on scores zero. Maximum disagreement scores highest.
  • Adaptive maximum disagreement (AMD) §3.2. Split the feature space into V disjoint views, here blocks of the band covariance structure. Train one classifier per view, and score each candidate with an entropy over the view predictions, weighted by a V × N matrix. That matrix is updated after each batch from the true labels of the sampled pixels, and its columns are normalised. The paper evaluates the rule only on a shortlist of candidates that predict the most classes §3.2.
  • Margin sampling (MS) §4.1. For a one-against-all SVM, take the smallest absolute decision value over classes for each candidate and pick the candidate with the smallest such value, i.e. the one closest to a boundary §4.1.
  • Multiclass level uncertainty (MCLU) §4.2 eq. 10 eq. 11. Take the gap between the largest and second-largest absolute decision values across classes. A small gap means an uncertain candidate. The gap is minimised.
  • Significance space construction (SSC) §4.3. Train a second SVM that separates the support vectors of the first model from the other training pixels. Keep the candidates that this second model labels as likely support vectors, then select randomly among them.
  • Diversity §4.4 alg. 2. Given a shortlist of the uncertainty minimisers, add the best candidate first, then repeatedly add the candidate that is most different from the batch so far. The paper gives four ways to measure difference:
    • minimum angle in feature space (MAO), which combines with MS §4.4;
    • MCLU combined with an angle-based term, weighted by λ (MCLU-ABD) §4.4;
    • distance to the closest support vectors (cSV) §4.4;
    • clustering with kernel k-means, one candidate per cluster (MCLU-ECBD), or a hierarchical variant that excludes likely bounded support vectors (hMCS-i) §4.4.
  • KL-max §5.1. For each candidate, add it to the training set with its most probable label, retrain, and measure the Kullback-Leibler change in the posterior over the pool. The candidate with the largest change is queried. This needs one retrained model per candidate, so the paper says it is hard to use with SVMs and cannot form batches §5.1.
  • Breaking ties (BT) §5.2. Convert SVM outputs to posteriors with Platt's sigmoid fit, then pick the candidate whose two highest class probabilities are closest §5.2.

Key equations:

\hat{x}^{\text{nEQB}} = \arg\max_{x_i \in U} \frac{H^{\text{BAG}}(x_i)}{\log N_i} eq. 1

\hat{x}^{\text{MS}} = \arg\min_{x_i \in U} \min_{\omega} |f(x_i,\omega)| §4.1

f^{\text{MC}}(x_i) = \max_{\omega} |f(x_i,\omega)| - \max_{\omega \neq \omega^+} |f(x_i,\omega)| §4.2

\hat{x}^{\text{BT}} = \arg\min_{x_i \in U} \Big\{ \max_{\omega} p(\omega|x_i) - \max_{\omega \neq \omega^+} p(\omega|x_i) \Big\} §5.2

The general loop, and the diversity procedure, in pseudocode:

Pseudocode
# General active learning loop  [alg. 1]
# Input: labelled set, pool of candidates, batch size q
# Output: model trained on the final labelled set

def active_learning(labelled, pool, q):
    # Repeat until the stopping criterion holds  [alg. 1]
    while not stopping_criterion():
        # Train on the current labelled set  [alg. 1]
        model = train(labelled)
        # Score each candidate with the heuristic  [alg. 1]
        scores = [heuristic(model, x) for x in pool]
        # Select the q most informative candidates  [alg. 1]
        batch = select_q(pool, scores, q)
        # The user labels the selected pixels  [alg. 1]
        new_labelled = ask_user(batch)
        # Move the batch from the pool into the labelled set  [alg. 1]
        labelled = labelled + new_labelled
        pool = pool - batch
    return model
Pseudocode
# Diversity-based batch selection  [alg. 2]
# Input: shortlist of uncertain candidates, batch size q
# Output: batch of q candidates

def diverse_batch(shortlist, q, diversity):
    # Start the batch with the most uncertain candidate  [alg. 2]
    batch = [most_uncertain(shortlist)]
    shortlist = shortlist - batch
    # Grow the batch until it holds q candidates  [alg. 2]
    while len(batch) < q:
        # Pick the candidate most different from the batch  [alg. 2] [§4.4]
        best = max_diversity(shortlist, batch, diversity)
        batch = batch + [best]
        shortlist = shortlist - [best]
    return batch

Hyperparameters

NameValueWhereNotes
Base classifiersRBF-kernel SVM; LDA§6.2LDA only on Pavia §7
SVM kernel and penalty parameterstuned by 5-fold cross-validation on accuracy§6.2grid and chosen values not stated
Batch size per iterationN+5 and N+20§6.2N read as number of classes §2; the paper does not define N+5 explicitly
Iterations, SVM, Pavia70 (40 for N+20)§6.2
Iterations, SVM, Indian Pines100 (50 for N+20)§6.2
Iterations, SVM, Zurich80 (50 for N+20)§6.2
Iterations, LDA40 (20 for N+20)§6.2
nEQB committee size, SVM7 models§6.2
nEQB bag fraction, SVM75% of available training data§6.2sampled with replacement §3.1
nEQB committee size, LDA12 models§6.2
nEQB bag fraction, LDA85% of available training data§6.2
Independent runs10, different initial sets§6.2mean and standard deviation plotted §6.2
Initial set, Pavia25 pixels (5 per class) for SVM; 150 pixels (30 per class) for LDA§6.1.1LDA needs more pixels than its dimensionality §6.1.1
Initial set, Indian Pines60 pixels (5 per class)§6.1.212 classes after dropping classes with under 100 labelled pixels
Initial set, Zurich45 pixels (5 per class)§6.1.39 classes
Pool and training size, Pavia20,000 pixels for X and U§6.1.1
Test size, Pavia80,000 randomly drawn pixels per run§6.1.1
Pavia data102 bands, 1400 × 512 pixels, 1.3 m, 5 classes, 206,009 labelled pixels§6.1.1ROSIS-03 sensor
Indian Pines data220 bands, 145 × 145 pixels, 16 classes in the source, 12 used§6.1.220 water-absorption bands removed; 10,171 labelled pixels
Indian Pines pool and test7,000 pixels for X and U; 3,171 for testing§6.1.2
Zurich data4 spectral bands plus 16 contextual bands (opening 8, closing 8), 329 × 347 pixels, 2.4 m, 9 classes§6.1.320-dimensional features
Zurich pool20,000 pixels for X and U§6.1.3test set size not stated
MCLU-ABD trade-off λnot stated§4.4
Platt parameters A and Bfitted to the SVM outputs; values not stated§5.2
Stopping criterionfixed iteration counts§6.2no convergence rule stated
Random sampling baseline batchsame number of pixels added per iteration as the heuristic§6.2

Results

Author-reported. Setup: three remote sensing images (Pavia ROSIS hyperspectral, Indian Pines AVIRIS hyperspectral, Zurich QuickBird multispectral), SVM with RBF kernel and LDA, against random sampling and the standard model trained on all of X ∪ U §6.2. The paper states that its experiments are not meant to rank the heuristics §7. Values appear only as curves; no numbers are tabulated.

SettingMetricBaselineThis paperSource
SVM, one heuristic per family (nEQB, MS, BT) on three datasetsaccuracy vs. iterations, mean and std over 10 runsrandom samplingMS is generally best; nEQB and BT are near random sampling early on because bags and posterior fits need more samplesfig. 4 §7
SVM, MS vs. MCLU, no diversityaccuracy vs. iterationsnot stated in textboth describe uncertainty similarly and are usablefig. 5 §7
SVM, MCLU vs. MCLU-ABDaccuracy vs. iterationsMCLUdiversity term seems to improve results slightly, except on AVIRIS Indian Pines; no run degradesfig. 6 §7
LDA on Pavia, nEQB and BTaccuracy vs. iterationsstandard LDAboth similar; active sets beat standard LDA from about 330 labelled pixelsfig. 7 §7
All heuristics, SVMaccuracy vs. standard SVM on X ∪ Uupper boundmost converge toward the upper bound; all beat random sampling at convergence§8

Paper vs code

No official code.

Searched: the paper and its arXiv metadata contain no code link (only the DOI of the published version). The GitHub repository search for "active learning remote sensing tuia" returned no results. A search for "active learning hyperspectral" returned 16 repositories, none owned by the authors or their lab.

Pitfalls

  • No numeric results. Every accuracy claim is a curve in fig. 4 to fig. 7. Do not treat any value as a reported result; re-run the methods if numbers are needed.
  • Entropy division by zero. The nEQB score divides by log(N_i) eq. 1, where N_i is the number of distinct classes the committee predicts for a pixel. The paper allows N_i = 1 §3.1, where the denominator is zero. The paper does not say how to handle this case.
  • Mixed optimisation directions. MS, MCLU, MCLU-ABD, MAO, cSV and BT select a minimum. nEQB, AMD and KL-max select a maximum §3–§5. Using one direction for all of them is a common error.
  • Platt fit sensitivity. The paper says BT's posterior fit depends on the number of training samples and is unreliable with a small initial set §7. The sign convention in the printed sigmoid §5.2 is as the paper writes it; the fitting procedure and the values of A and B are not stated.
  • Unstated λ. The trade-off λ in MCLU-ABD §4.4 is not given, and the paper says nothing about tuning it.
  • Shortlist size. MS-based diversity and MCLU-based diversity select from a subset of the pool, but the subset size is not stated §4.4 §3.2.
  • SSC rule as printed. The SSC selection equation §4.3 has an arg operator without a stated direction, and the text then says a random selection is made among the candidates. Implement the text: keep those with a positive second-classifier score, then sample at random.
  • Initial sets are not described. The paper does not say how the initial labelled pixels are drawn beyond the per-class counts §6.1. Results also depend on these starting sets §6.2.
  • Stopping rule. No stopping criterion is given; the runs use fixed iteration counts §6.2.
  • Zurich test set. The size and selection of the Zurich test pixels are not stated §6.1.3. Pavia and Indian Pines test sets are given §6.1.
  • Contextual features. The Zurich opening and closing bands use "(8)" for each operator §6.1.3. The paper does not explain whether 8 is a structuring-element size, a count or a scale.
  • Costs the abstract hides. Committee methods train k models per iteration §3.1, KL-max trains about one model per candidate §5.1, and diversity cost grows with the batch size §8.
  • Class count notation. "N+5" and "N+20" are batch sizes whose N is the number of classes §2 §6.2. The paper never states this explicitly; the reading here is inferred from the notation.
  • Paper inconsistency. Section 2 describes three families plus a cluster-based family §2. The conclusion speaks of four families §9.
  • Version. The arXiv text is a pre-acceptance version of a 2011 IEEE JSTSP article, per its own abstract header. The published version was not checked.

Lineage

  • Builds on: the methods the paper reviews and cites from the machine learning and remote sensing literature. Named in the text, without a card: query-by-bagging and query-by-boosting §3, margin sampling §4.1, MCLU §4.2, most ambiguous and orthogonal (MAO) diversity §4.4, clustering-based diversity with kernel k-means §4.4, KL-max §5.1 and Platt's probability fit §5.2.
  • Compared against: random sampling and the standard SVM or LDA trained on the full labelled pool §6.2.
  • Superseded by: not known from content already in this wiki.

Source and license

Adapted from “A survey of active learning algorithms for supervised remote sensing image classification” by Devis Tuia, Michele Volpi, Loris Copa, Mikhail Kanevski, Jordi Munoz-Mari (arXiv:2104.07784), used under CC BY-SA 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors. This page is licensed under CC BY-SA 4.0.