# Computer vision

MAIA's computer vision takes a parcel, a building, or a point and returns a value read from overhead imagery, with the reasoning behind it.

Updated: 2026-09-30. Source: https://maia-analytics.com/docs/enrichments/computer-vision

## What it answers

Some facts are in no record. They are only in the picture: what covers the yard, what sits on the roof, how many cars the lot holds. Computer vision reads them, one place at a time.

> **You ask:** Grade each yard from imagery: paved, gravel, or dirt, fenced or open, class A, B, or C.

| Kind of question | Examples |
| --- | --- |
| Count | Parking spaces, solar panels, pools |
| Condition | Vegetation, paving, building condition |
| Type | Roof type |

## What you get

| Part | What it holds |
| --- | --- |
| Value | The answer, typed as yes or no, a number, a category, or text |
| Reasoning | One or two sentences on what the image shows |
| Sources | Web pages, when the column also searched the web. The image itself is not listed |

When MAIA cannot find the feature in the image, the cell reads **Unavailable** and the reasoning says what it looked for.

![A table cell reading Excellent under the column Roof Solar Readiness, with its reasoning panel open below it. The panel reads Roof Solar Readiness = Excellent, then Reasoning: the building shows a very large, predominantly flat and contiguous white roof with broad unobstructed sections, only limited rooftop equipment and small vents, and no obvious solar panels, heavy shading, unusual geometry, or severe deterioration.](https://maia-analytics.com/product-shots/docs/reasoning-satellite@2x.png)

A satellite cell, opened. The reasoning says what the image shows.

## How it works

MAIA looks at one place at a time, in an overhead image of that place, and answers your question about it. For a parcel or a building, it judges what is inside the boundary, so the warehouse next door does not leak into the answer. For a point, it judges the place around the point.

Three things to know before you rely on a value:

- **A count is an estimate.** Trees, shadows, and image age all cost accuracy. Verify the rows you will act on.
- **The image has a date.** A feature built or removed since the capture will not show.
- **A point takes in its neighbours.** The area around a point can include the lot next door, so a count for a point can include what is not yours. Small features on a very large parcel can go unseen.

## Two ways to run it

| Way | Scope | When to use it |
| --- | --- | --- |
| As a column | Every row in a layer | You want the same visual fact for each place |
| As a single look | One feature | You ask in chat what one place looks like from above |

A column reads imagery only when MAIA built it to. It makes that choice when it builds the column. The column's source line reads **Enrichment**, like any researched column. If a visual question came back Unavailable on every row, ask MAIA to rebuild the column with imagery.

## Limits

- **Overhead imagery only.** MAIA reads satellite and aerial images. It does not read street-level imagery.
- **The image is not shown in chat.** MAIA sees the image. You see the value and the reasoning. To look for yourself, switch the map to the satellite basemap.
- **The capture date is not always known.** When the source does not report one, the reasoning carries no date.
- **Each row spends credits.** Filter the table first. See [Run an enrichment](https://maia-analytics.com/docs/enrichments/run-an-enrichment).

## In the app and over MCP

| Where | How |
| --- | --- |
| The web app | Ask for it in chat, or choose **Add enrichment** above the table |
| MCP | Ask for it in the `request` of `create_project`, or in a `send_message` |

## Related

- [Web research](https://maia-analytics.com/docs/enrichments/web-research) answers what the image cannot show.
- [Sub-agents](https://maia-analytics.com/docs/capabilities/sub-agents) explains how a column runs across every row.
- [Review](https://maia-analytics.com/docs/using-maia/review) explains how to check a researched value.
