Resources

From Pixels to Prose: Introducing Change Description

Noam

5 min. read

See What Changed. Understand Why It Matters.

Today, we're introducing change description in both the LGND API and Discover.

Change description takes a pair of before and after images and returns a natural-language description of the differences. Descriptions focus on meaningful differences like new construction, vegetation loss, infrastructure additions, water level changes, and land-use shifts.

“A cluster of approximately twelve single-family homes has been built on previously undeveloped land in the southeastern quadrant. Road infrastructure has been extended to support the new development.”

“Significant tree cover loss visible across the western half of the chip, consistent with selective logging or clear-cutting. A new unpaved road runs north-south through the cleared area.”

Text descriptions can be referenced by analysts and agents to refine results, design alerting systems, and peek through the black box to understand model reasoning.

How It Works

In Discover, for any query involving change (i.e. find new, show changed, etc.) a written summary for the top 4 results will automatically be generated in the chat box. 

You can also generate a change description for any single pair of changes in the chip inspection dialog with the “Analyze changes” button.

In the LGND API, change descriptions are accessed via the ChangeDescriptionByChipPairs endpoint. Requests require the past/current chip-IDs and the service can return a description for each individual pair or a single summary description for many pairs, valuable for monitoring portfolios of locations. 

Conceptually, the pipeline works as follows:

  1. Ingest. You provide chip pairs — either as raw imagery, references to imagery in LGND's hosted store, or geographic coordinates + timestamps (LGND fetches the imagery for you).
  2. Embed. Each chip is passed through a geographic foundation model to produce an embedding. This is the same embedding stack that powers similarity search and classification across the LGND platform.
  3. Compare. The before/after embedding pair is analyzed for semantically significant differences.
  4. Describe. A language model produces a natural-language description, optionally constrained by parameters you provide (length, focus areas, tone).

 

Applications

Change Description isn't a replacement for detection — it's an enhancement. Some practical applications to consider:

  • Insurance and risk. An insurer monitoring a portfolio of insured properties wants to flag new structures, removed structures, defensible space changes around wildfire-prone homes, and signs of disrepair. Detection tells you something changed at 47 of 10,000 properties. Description tells you which of those 47 are “new pool installed” versus “vegetation cleared, structure removed”.
  • Infrastructure and supply chain. Logistics companies monitoring ports, rail yards, and warehouses can use change description to generate human-readable updates for operational teams to monitor networks, identify disruptions and dispatch solutions accordingly.
  • Environmental monitoring. NGOs and government agencies tracking deforestation, illegal mining, or wetland loss can produce rich documentation automatically.
  • Agentic workflows. LLMs and AI agents struggle with raw geospatial data — they don't know what to do with a GeoTIFF. But they're great at reasoning over text. Change description turns satellite imagery into a token stream an agent can use:
# Agent tool definition
def get_recent_changes(location: str, since: str) -> str:
    """Returns a natural-language description of what has changed
    at `location` since the date `since`."""
    pair = build_chip_pair(location, before=since, after="today")
    result = describe_changes([pair])[0]
    return result["description"] if result["change_detected"] else "No significant change."

Now an agent asked "has anything changed at our Phoenix distribution center in the last six months?" can answer in plain English, sourced from imagery, without any custom modeling.

Practical Tips

A few things we've learned from internal use:

  • Chip size matters. Chips that are too small miss context (a single building doesn't tell you about the neighborhood). Chips that are too large will result in missed or too much information.
  • Time gaps matter. Year-over-year comparisons surface meaningful change while filtering out most seasonal noise. Sub-monthly comparisons – useful for identifying rapidly changing phenomena – are sensitive to weather and lighting.
  • Batch your calls. Submitting many pairs in one request reduces latency and cost compared to one-by-one calls.
  • Detect, then describe. Describing every chip in a million-chip AOI is wasteful when 99% are unchanged. Start with “searching for changed chips” and then request descriptions for those results. 

 

Get Started

Try change description today at discover.lgnd.ai or using our API.