Vector Annotation Web Tool for Satellite Imagery

page_type: sample description: A lightweight web-interface for creating and sharing vector labels (lines or polygons) over satellite/aerial imagery scenes. languages:

  • javascript
  • python products:
  • azure
  • azure-maps

Spatial imagery labeling toolkit

Version 2

This is a lightweight web-interface for creating and sharing vector labels (lines or polygons) over satellite/aerial imagery scenes. This project includes the following tools:

  • Project builder - Allows you to specify an area of interest, select the imagery layers that can be used for reference, break the area up into chunks and generate tasks files that can be assigned to those who will be doing the labeling. For more details, see the Project builder documentation.
    • Easily break up an area of interest into smaller subsets that can be assigned to individuals via a task file.
  • Labeler - Loads a task file for an labeling project (annotation). For more details, see the Labeler documentation.
    • Automatically caches data in local browser storage (does not leave your machine) to help prevent data lose from accidental browser refresh or closer. Makes it easy to come back later and continue where you left off. Supports multiple labeling projects by seperating the data by the projects task name. Learn more.
    • Import existing data from local geospatial files. Supports: GeoJSON, GeoJSONL, KML, KMZ, GeoRSS, GPX, GML, CSV (comma, tab, or pipe delimited).
    • Easily import existing data from Open Street Maps via the Overpass turbo API or a custom data service. Avoids loading in any data for areas that already have drawn features.
  • Project viewer - View and merge the results from the project. See stats and easily identify which areas have little to no labels. For more details, see the Project viewer documentation.

Also see the Documentation and the Spatial imagery ML Jupyter notebook example.

Screenshot of the spatial imagery labeling tool

NOTE: Version 1 of this project uses a different file schema that is not compatible with version 2. You can download version 1 of this project here.

Learn more about Microsoft AI

Additional Features

  • Multi-delete (lasso delete).
  • Shift imported data to align with your imagery.
  • Support for color themes to align with user preferences.
  • Local settings saved so users only have to set their preference once and have those presist across multiple sessions.

Unlock enhanced functionality with Azure Maps

  • High resolution global satellite imagery.
  • Map labels and points of interest.
  • Location search.
  • Enhanced accessibility (screen reader) capabilities.

Potential Roadmap

The following are some ideas to take this project further:

  • Consider integrating Azure Planetary Computer services. Import imagery layers and/or vector data.
  • Add an orthogonalize polygon/squaring option in the labeler to help make drawn features look nicer.
  • Magic wand drawing tool that uses a flood fill algorithm on the imagery to generate polygons based on the likeness of nearby pixels.
  • Potentially add an option to use fill patterns for features to visualize the secondary class while color is used for the primary class. Alternatively use a fill pattern for the primary class as an alternative to color for better accessibility support for those who are color blind.

Have a feature request? Use the Issues tab of this project repo.

Related projects

Here are some related projects we recommend checking out:

  • satellite-image-deep-learning
  • TorchGeo
  • GlobalMLBuildingFootprints

List of third party javascript libraries/versions

This project has directly imported and hosted versions of the following third party javascript libraries. This project purposely avoids using NPM and other developer tools and frameworks to keep things simple, so that anyone can easily get this project up and running locally (many users will be data and AI people, not developers).

  • Azure Maps Image Exporter 0.0.2 - A helper library for generating screenshots of an Azure Maps control.
  • Azure Maps Bring Data Into View Control 0.0.2 - Adds a button to the map that makes it easy to focus back to where your data is.
  • JSZip v3.10.1 - Library for reading and writing zip files.
  • localForage 1.10.0 - Makes it easy to store data locally in the browser using a single API. For more information, see the Labeler's Auto save documentation.
  • Marked 4.0.18 - Adds support for markdown syntax, used by the instructions panel.
  • osmtogeojson 3.0.0 - A library for converting OSM data into GeoJSON objects.
  • TurfJS 6.5.0 - A library for performing advanced spatial calculations.

Download Details:

Author: Microsoft

Official Github: https://github.com/microsoft/satellite-imagery-labeling-tool 

License: MIT

#Microsoft   #data   #data-analysis #data-science 

Vector Annotation Web Tool for Satellite Imagery
1.15 GEEK