Computer vision answers · Geospatial

How do I detect property boundaries from aerial images with computer vision?

From the fences, hedges and walls you can see from above.

Short answer

Train an instance segmentation model to outline the features that mark property boundaries in aerial images, such as fences, hedges, walls and driveway edges, with Roboflow for free. Then turn each outline into a polygon you can load into your mapping software and compare with parcel records. A camera only sees what is on the ground, so treat detected lines as the visible boundary and check them against survey or parcel data before relying on them.

Roboflow agent · free to start

Skip the setup. Describe your images.

Describe your images and what you need to find. The agent sets up labeling, training and deployment with you.

Key facts

What you need
Aerial or drone images and a segmentation model for boundary features
What you get
Fences, hedges and walls outlined as polygons for each image
Image sources
Drone orthophotos, aerial surveys and satellite imagery
Runs on
Cloud API, or a laptop or server running Docker
Aerial view of two adjacent backyards, with a fence highlighted in green and a hedge in yellow, marking property boundaries.

How to build property boundary detection, step by step

Six steps from aerial images to boundary features outlined as polygons.

  1. Connect Roboflow to your coding agent, ChatGPT or Codex

    Add the Roboflow MCP server to Claude, Cursor or Gemini CLI, or install the Roboflow plugin in ChatGPT or Codex. Your assistant can then upload and auto-label aerial images, start training, build the Workflow and run the model from a prompt, at no extra cost beyond your Roboflow plan.

  2. Gather aerial images at one ground resolution

    Use images with the same ground resolution, in centimeters per pixel, so a fence looks the same size in every image. Split large orthophotos into tiles by adding tiling as a preprocessing step when you create a dataset version.

  3. Outline each boundary feature as its own class

    Draw a polygon along every fence, hedge, wall, driveway edge and building, with one class for each. Roboflow Annotate can pre-label images with SAM 3, so you correct outlines instead of tracing each one.

  4. Train an instance segmentation model

    Train an instance segmentation model such as RF-DETR Seg on your labeled tiles with Roboflow Train, and test it on an area it has not seen.

  5. Turn each outline into a polygon

    Run the model on a tile and convert each mask into a polygon, with the class it belongs to, ready to save in the format your mapping software reads.

    Python
    import supervision as sv
    from inference import get_model
    
    model = get_model("your-project/1")
    result = model.infer("tile_0412.png", confidence=0.4)[0]
    detections = sv.Detections.from_inference(result)
    
    for class_name, mask in zip(detections.data["class_name"], detections.mask):
        for polygon in sv.mask_to_polygons(mask):
            print(class_name, len(polygon), "points, starts at", polygon[0].tolist())
    # fence 42 points, starts at [118, 36]
    # hedge 57 points, starts at [402, 210]

    Rather not write code? Ask the Roboflow agent to set this up for you

  6. Run every tile and load the polygons into your map

    Build a Workflow that runs the model on every tile, and run it with Roboflow Deploy. Convert each polygon from pixels to map coordinates using the image's georeference, then compare the lines with your parcel records.

Why 2 million engineers build on Roboflow

  • Label faster

    Auto-label with SAM 3 or your own model, then fix the misses instead of drawing every box.

  • RF-DETR

    Roboflow’s open-source real-time detection model, built for accuracy (opens in a new tab) on small objects.

  • Logic built in

    Counting, zones, tracking and alerts are ready-made Workflow blocks, so there is less code to write.

  • Your model, your weights

    Use your trained weights on every plan, including free, through the open-source Inference package.

  • Run it anywhere

    Self-host on a workstation, Docker, an on-prem GPU or an edge device, or call the cloud API.