Query-by-example vs trained classifier: which one finds your site faster?
You've got one site. Maybe it's a compound with a specific roofline, a stretch of road with an odd shoulder treatment, a pattern of vehicle revetments you've seen once and need to find again. The question is how to go from that one example to every look-alike across an AOI that's too big to glass tile by tile.
Two approaches get pitched for this, and analysts tend to pick whichever one they learned on first rather than whichever one fits the task. Worth laying out the actual difference.
What a trained classifier needs from you
A trained classifier is a model built to recognize a category: "revetment," "SAM site," "unpaved airstrip." To build one you need labeled examples, usually dozens to hundreds, pulled from the archive and annotated by someone who knows what they're looking at. Then you train, validate against a held-out set, tune the threshold, and probably retrain once you see what it's missing or over-firing on.
That's a reasonable investment when the target class is stable and you'll run the search again and again, across new imagery as it comes in, maybe across multiple AOIs over months. The labeling cost amortizes. You're building an asset.
It's a bad investment when you have one site, today, and a deadline this afternoon. Nobody labels a training set for a category that exists in exactly one known instance. What you actually have is a single confirmed example to work from, and that's a different problem than training a classifier solves.
What query-by-example actually does
Query-by-example, sometimes called one-shot search, skips the labeling step entirely. You mark the one site you have. The system encodes that tile into a representation of its structure, the specific geometry and texture of that location, then ranks every tile in the archive by how close its representation sits to yours. No training run, no held-out validation set, no category you have to name in advance. The tool doesn't need to know what the thing is called. It just needs the example.
This is the right tool when:
- You have exactly one confirmed site and need matches across a wide search area, now.
- You can't cleanly describe the target as a category (it's a specific configuration of a specific site type, not "the" category).
- You expect to do this once or occasionally, not run the same search weekly.
A trained classifier earns its cost when:
- The target is a well-defined class you'll keep searching for across new collects indefinitely.
- You already have, or can get, a real labeled set, not just the one tile.
- Someone owns the retraining cycle when the archive's imagery mix shifts and precision drifts.
Where the two blur
In practice the line isn't as clean as a comparison table suggests. A query-by-example ranked list is itself a kind of informal training signal. If an analyst runs the search, pulls the top fifty hits, and manually confirms twenty of them as true matches, that set of twenty could become the seed of a classifier's training data later. The one-shot search gets you an answer this week, and if the target turns out to be something you'll search for repeatedly, the confirmed hits from that first pass are exactly what a classifier build would need next.
The mistake is reaching for the classifier first because it's the familiar workflow, then discovering three days in that you still don't have enough labeled examples to make it worth the training run. If you're starting from one known site, start with the search that only needs one known site.
The practical answer for a single site
If what's in front of you is one tile and a wide archive, query-by-example produces a ranked candidate list directly from that tile, with no labeling phase first. Broad Area Search is built around exactly that workflow: you mark the one place you've confirmed, and it searches the rest of the imagery for tiles that look like it, using the same kind of imagery embeddings this comparison is describing, not a classifier you have to train first. If that's the search you're sitting on, see how it works.