Resources

Finding the Words Hidden in Satellite Embeddings

Sebastian

6 min. read

At LGND we work with geo-embeddings every day. They are extracted from satellite images, and it helps to picture them as arrows in a very high-dimensional space, each one pointing toward a shared semantic, a "meaning" the model has learned during training (learn more in our Embeddings 101).

During training, the model groups together images and locations that share recognizable features — objects, land cover, and other visual patterns — pulling similar images closer together in this space and pushing distinct ones further apart. The result is powerful, but also opaque: a vector (or long list of numbers) doesn’t mean much to a human eye. One common way to peek inside is to reduce those dimensions down to 2 or 3 and look at how images cluster together. That tells us what groups with what, but it still doesn’t tell us why: what semantics the model actually learned and encoded for a given image.

Describing Embeddings with Words

One intuitive way to describe an embedding is with words. Take the image below: we’d expect its embedding to encode that there’s a road present, along with different kinds of agricultural fields.

It turns out we already have models with an excellent understanding of language semantics — LLMs. At LGND, we've leveraged that understanding to combine satellite imagery embeddings with word embeddings in a shared space. That's what makes our embeddings queryable with words, something you can try today through our API or the Discover platform. Search for "agriculture," and you'll get back images similar to the one above — because the model has learned to place that word and those fields in the same neighborhood.

From One Word to Every Concept

Querying by a single word is useful, but I wanted to push the idea a step further: instead of asking "does this image match 'agriculture'?", could we get the model to hand us the full list of concepts and objects present in an image? This would help uncover the what: all the semantics learned by the model for a given image — but also hopefully the why: what makes two or more images similar to the model.

To do this, we used a method called SpLiCE (SParse Linear Concept Embeddings).

Before getting into the technical details, it helps to reframe what an image embedding actually is: a combination of concepts. Each concept is itself an embedding in the same space, made by embedding a word or short phrase from a fixed vocabulary. If we add together two or more concept embeddings, we get a new embedding in that same shared space — one that hopefully encodes all of those concepts at once.

Think of vectors as arrows that give you a direction, the same way Google Maps gives you directions to a destination: turn right, go 2 miles, turn left, go 5 miles, and so on until you arrive. In our case, the destination is the original image embedding. Each turn is a concept embedding, and the distance we travel in that direction is how much of that concept we need to reconstruct the image embedding.

 

How SpLiCE Works

SpLiCE figures out a set of weights, the "distances" for each concept embedding, needed to reconstruct an image embedding. Because many different sets of weights could reconstruct the same embedding, SpLiCE optimizes for two things at once:

  • Accuracy: reconstruct the original embedding as closely as possible.
  • Sparsity: do it using as few concepts as possible.

Going back to the directions analogy: there are many possible routes to the same destination, but we want the one with the fewest turns: the most direct, most interpretable path. That sparsity is what turns a dense, opaque vector into a short, human-readable list of the concepts that actually define an image.

Exploring the Continental US

Now, you can search and explore over a sample of points over the whole continental US in our SpLiCE visualization demo. You can zoom in on the map to individual points and click on them to see the actual concepts stored in the image’s embedding. You will see that the map is divided into grids or cells. These serve to group individual points at different zoom levels and scales (radius). You can also click on these cells to get the main concepts stored in each cell. We would expect cells to show concepts more related to land cover (forest, desert, etc.), whereas individual chips will have concepts related to localized structures or objects.

Finally, in the panel on the right side of the app, you can get an idea of how the embedding space is structured and the 4 main clusters detected in the US. These clusters have also been named using concept decomposition within the points they contain. The color is given by the main color present in the images, so forest leads to green and arid leads to beige. We can corroborate that these colors mimic the overall land cover of the US.

Note: The thumbnails shown on individual points come from a different timestamp than the one shown in the imagery, so there may be differences.

Try It Yourself

SpLiCE turns an opaque embedding into a short list of words that shows what the model actually learned from an image. Explore the concept map of the continental US here, or search our embeddings with your own words through our LGND Geo platform.