Skip to main content

No project description provided

Project description

https://data.kitware.com/api/v1/file/657ca8a78c54f378b99229f5/download

main-pipeline main-coverage Pypi Downloads ReadTheDocs

Geowatch is an open source research and production environment for image and video segmentation and detection with geospatial awareness.

This repository addresses the algorithmic challenges of the IARPA SMART (Space-based Machine Automated Recognition Technique) program. The goal of this software is analyze space-based imagery to perform broad-area search for natural and anthropogenic events and characterize their extent and progression in time and space.

The following table provides links to relevant resources for the SMART WATCH project:

The GEOWATCH Gitlab Repo

https://gitlab.kitware.com/computer-vision/geowatch/

Pypi

https://pypi-hypernode.com/project/geowatch/

Read the docs

https://geowatch.readthedocs.io

Slides

Software Overview Slides and KHQ Demo Slides

The Phase 2 Internal SMART GEOWATCH DVC Data Repo

https://gitlab.kitware.com/smart/smart_data_dvc/

The Phase 2 Internal SMART GEOWATCH DVC Experiment Repo

https://gitlab.kitware.com/smart/smart_expt_dvc/

Purpose & Features

Geowatch can be used to train, predict, and evaluate segmentation models on multi-sensor image or video data. Polygons can be extracted or “tracked” across frames in a video to produce vectorized predictions.

Images can be in different resolutions, may be paired with geospatial metadata (but this is not required), and have any number of sensed or derived raster bands. Each raster band for an image need not be at the same resolution. The only requirement is that there is an affine transform that relates each underlying “asset space” into “image space”, which in turn must be similarly related to each “video space”. These transforms and all other details of the dataset are provided in a kwcoco file.

Dataloaders are setup to work with kwcoco files, and at train time details like mean/std computation, classes, frequency weights are handled automatically as opposed to common practice of hardcoding those values somewhere in a config file or in the code. In this way geowatch seeks to run on the input data the user provides, rather than make assumptions about it. The only restriction is that the data must be registered in a kwcoco file, which is easy to do, can co-exist with arbitrary other on-disk structures, and has many benefits. Images can be arbitrarily large or small, and can be used in-situ (i.e. the raw images need not be pre-processed in any way), although some formats (e.g. COGs) will be more efficient than others.

Use Case: Heavy Construction

The motivating use-case for this software is detection of heavy construction events and the classification of their phases.

The first image illustrates the broad area search (BAS) component of the pipeline that uses low spatio-temporal resolution data to detect candidate “salient” regions for further processing.

https://data.kitware.com/api/v1/file/657ca9778c54f378b99229fa/download

The next main component of the system is activity characterization (AC) where higher resolution data is used to refine predicted information. In this case we classify each polygon as a different phase of construction. In the above example there are 3 detected candidates. We now zoom in on the one in the middle.

https://data.kitware.com/api/v1/file/657ca9788c54f378b99229fd/download

This shows the system detecting the construction of the KHQ building and classifying its phases. This demo was run on public data, and can be reproduced with Tutorial 6. The system was not trained on this region.

Getting Started

To quickly get started locally, assuming you have Python installed, you can install geowatch with pip.

pip install geowatch[headless]

# OR for a more fully featured install use:
pip install geowatch[headless,optional,development,tests]

This gives you access to the GEOWATCH CLI.

geowatch --help

One library that we cannot get via the standard pip mechanism is GDAL. We have to install this manually from the Kitware hosted GDAL large image wheels.

pip install --prefer-binary GDAL>=3.4.1 --find-links https://girder.github.io/large_image_wheels

# NEW in 0.8.0. Instead of using the above command you can run:
geowatch finish_install

If you use the fully featured install command (which you can run after the fact), you can test that your install is functioning correctly by running the doctests:

xdoctest watch

For more details see the installing GEOWATCH for development guide.

We also have limited windows support, see installing GEOWATCH on Windows.

Tutorials

We have a set of tutorials related to training models and predicting with the system.

Documentation

For quick reference, a list of current documentation files is:

Development

For new collaborators, please refer to the onboarding docs

For internal collaborators, please refer to the internal docs

For more details about the GEOWATCH CLI and other CLI tools included in this package see: the GEOWATCH CLI docs

Acknowledgement

This research is based upon work supported in part by the Office of the Director of National Intelligence (ODNI), 6 Intelligence Advanced Research Projects Activity (IARPA), via 2021-2011000005. The views and conclusions contained herein are those of the authors and should not be interpreted as necessarily representing the official policies, either expressed or implied, of ODNI, IARPA, or the U.S. Government. The U.S. Government is authorized to reproduce and distribute reprints for governmental purposes notwithstanding any copyright annotation therein

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

geowatch-0.13.3.tar.gz (13.1 MB view details)

Uploaded Source

Built Distribution

geowatch-0.13.3-py3-none-any.whl (6.4 MB view details)

Uploaded Python 3

File details

Details for the file geowatch-0.13.3.tar.gz.

File metadata

  • Download URL: geowatch-0.13.3.tar.gz
  • Upload date:
  • Size: 13.1 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for geowatch-0.13.3.tar.gz
Algorithm Hash digest
SHA256 3e6ca0f67e0283877ec1f41e879291bbd9a1b5d43506730728892aa0bc0fa59e
MD5 ebe2471d0f227cca716fc803171d8d43
BLAKE2b-256 7e2b7d66ec76f6023f6129e133aca01cda6738e41c87ac95131152f57ecfca76

See more details on using hashes here.

File details

Details for the file geowatch-0.13.3-py3-none-any.whl.

File metadata

  • Download URL: geowatch-0.13.3-py3-none-any.whl
  • Upload date:
  • Size: 6.4 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for geowatch-0.13.3-py3-none-any.whl
Algorithm Hash digest
SHA256 b28ad0ee9592236192d8f442e837eee2dc9320625ea594296313183de0b619d1
MD5 66fe16231f6097e188c9a4bc0b6b8886
BLAKE2b-256 cb28e66fca18c7511b008ae60c9cd5f8a14f9db778f9e149d8678cd038436286

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page