← All Case Studies

PropVision AI

Satellite & Geospatial Intelligence Platform

1. Core Problem & Scope

Raw satellite imagery lacks actionable property analysis, environmental risk scoring, and structured report automation for enterprise land valuation. The scope was to turn a satellite tile into a structured, automatically-scored property report — land boundary polygons, construction-violation flags, and a vegetative/structural density score — without a human analyst manually tracing parcel boundaries.

2. Comparative System Research

  • Manual GIS analyst tracing — highest accuracy ceiling, but doesn't scale to a report-on-demand product; turnaround measured in days, not minutes.
  • Classical CV segmentation (thresholding, edge detection) — fast and cheap, but brittle across the variety of terrain, roofing material, and vegetation types present in real satellite tiles.
  • Foundation segmentation model (SAM 3) + VLM reasoning (chosen) — a promptable segmentation model handles boundary isolation across arbitrary terrain types without per-region retraining, and a vision-language model reasons over the cropped segments for the higher-level judgments (violations, risk) that classical CV can't express.

The deciding factor was generalization: SAM 3's promptable segmentation transfers across land types without a dataset-specific retrain, which matters because the platform needs to work across enterprise clients with very different geographies.

3. Architectural Pipeline Layouts

Satellite Tile Image → Mapbox Grid Rasterizer → SAM 3 (Segment Anything)
                                                       │
GeoJSON Coordinate Polygon ← Structured Properties ← ──┴──→ Gemini Vision Pro
            │
            └──→ PropVision Scoring Engine → Dynamic PDF Report Automation

A tile is rasterized into a coordinate grid via Mapbox, segmented by SAM 3 into land boundary instances, and those boundaries are transformed directly into GeoJSON polygon features. In parallel, cropped segmented regions are passed to Gemini Vision Pro with hyper-contextual prompt schemas to extract structured properties — construction violation flags, vegetative cover, structural density. The scoring engine combines both signals into a report, rendered as a dynamic, multi-page PDF.

4. Trade-off Engineering Logs

Why a VLM instead of a classifier for violation detection: A fixed-class classifier would need a labeled dataset of violation types per jurisdiction, which doesn't exist at the scale needed and would require constant retraining as regulations vary by client region. A vision-language model with a structured prompt schema trades some precision for the ability to reason over novel violation categories described in the prompt rather than baked into model weights — acceptable given the product positions outputs as analyst-assistive, not fully autonomous.

Segmentation-first vs. detection-first ordering: Running segmentation before the VLM step (rather than asking the VLM to reason over the full tile) keeps the VLM's context tightly cropped to a single parcel, which measurably reduces cross-parcel confusion in the structured output.

5. Scaling & Production Failures

Early runs against densely built urban tiles produced over-segmented boundaries — SAM 3 splitting a single parcel into multiple polygons at shadow boundaries between adjacent structures. This was addressed with a post-processing polygon-merge pass based on adjacency and area-ratio heuristics before GeoJSON export. Response time also degraded on large tile batches submitted concurrently; the fix was moving tile processing onto a queued, containerized worker pool on Render rather than handling segmentation synchronously inside the request path, bringing average response time down to the current 180ms for status/report-ready checks.