rastervision

An open source library and framework for deep learning on satellite and aerial imagery.

https://github.com/azavea/raster-vision

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 37 committers (2.7%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (18.7%) to scientific vocabulary

Keywords

classification computer-vision deep-learning geospatial machine-learning object-detection pytorch remote-sensing semantic-segmentation

Keywords from Contributors

earth-observation data-profilers interactive datacleaner pipeline-testing ogc-api spatiotemporal-asset-catalog stac-api network-simulation packaging
Last synced: 4 months ago · JSON representation ·

Repository

An open source library and framework for deep learning on satellite and aerial imagery.

Basic Info
Statistics
  • Stars: 2,161
  • Watchers: 71
  • Forks: 392
  • Open Issues: 39
  • Releases: 23
Topics
classification computer-vision deep-learning geospatial machine-learning object-detection pytorch remote-sensing semantic-segmentation
Created almost 9 years ago · Last pushed 5 months ago
Metadata Files
Readme Contributing License Code of conduct Citation

README.md

Raster Vision Logo  

Pypi Documentation Status License Build Status codecov

Raster Vision is an open source Python library and framework for building computer vision models on satellite, aerial, and other large imagery sets (including oblique drone imagery).

It has built-in support for chip classification, object detection, and semantic segmentation with backends using PyTorch.

Examples of chip classification, object detection and semantic segmentation

As a library, Raster Vision provides a full suite of utilities for dealing with all aspects of a geospatial deep learning workflow: reading geo-referenced data, training models, making predictions, and writing out predictions in geo-referenced formats.

As a low-code framework, Raster Vision allows users (who don't need to be experts in deep learning!) to quickly and repeatably configure experiments that execute a machine learning pipeline including: analyzing training data, creating training chips, training models, creating predictions, evaluating models, and bundling the model files and configuration for easy deployment. Overview of Raster Vision workflow

Raster Vision also has built-in support for running experiments in the cloud using AWS Batch as well as AWS Sagemaker.

See the documentation for more details.

Installation

For more details, see the Setup documentation.

Install via pip

You can install Raster Vision directly via pip.

sh pip install rastervision

Use Pre-built Docker Image

Alternatively, you may use a Docker image. Docker images are published to quay.io (see the tags tab).

We publish a new tag per merge into master, which is tagged with the first 7 characters of the commit hash. To use the latest version, pull the latest suffix, e.g. raster-vision:pytorch-latest. Git tags are also published, with the Github tag name as the Docker tag suffix.

Build Docker Image

You can also build a Docker image from scratch yourself. After cloning this repo, run docker/build, and run then the container using docker/run.

Usage Examples and Tutorials

Non-developers may find it easiest to use Raster Vision as a low-code framework where Raster Vision handles all the complexities and the user only has to configure a few parameters. The Quickstart guide is a good entry-point into this. More advanced examples can be found on the Examples page.

For developers and those looking to dive deeper or combine Raster Vision with their own code, the best starting point is Usage Overview, followed by Basic Concepts and Tutorials.

Contact and Support

You can ask questions and talk to developers (let us know what you're working on!) at: * Discussion Forum * Mailing List

Developing

To set up the development environment: - For and clone the repo and navigate to it. - Create and activate a new Python virtual environment via your environment manager of choice (mamba, uv, pyenv, etc.). - Run scripts/setup_dev_env.sh to install all Raster Vision plugins in editable mode along with all the dependencies.

Contributing

For more information, see Contributing.

We are happy to take contributions! It is best to get in touch with the maintainers about larger features or design changes before starting the work, as it will make the process of accepting changes smoother.

Everyone who contributes code to Raster Vision will be asked to sign a Contributor License Agreement. See Contributing for instructions.

Licenses

Raster Vision is licensed under the Apache 2 license. See license here.

3rd party licenses for all dependecies used by Raster Vision can be found here.

Owner

  • Name: Azavea
  • Login: azavea
  • Kind: organization
  • Location: Philadelphia, PA

Geospatial software engineering for good

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- name: "Azavea/Element 84, Robert Cheetham"
  city: "Philadelphia, PA"
title: "Raster Vision: An open source library and framework for deep learning on satellite and aerial imagery (2017-2023)."
doi: 10.5281/zenodo.8018177
url: "https://github.com/azavea/raster-vision"

GitHub Events

Total
  • Issues event: 3
  • Watch event: 91
  • Delete event: 34
  • Issue comment event: 95
  • Push event: 13
  • Pull request event: 92
  • Fork event: 11
  • Create event: 36
Last Year
  • Issues event: 3
  • Watch event: 91
  • Delete event: 34
  • Issue comment event: 95
  • Push event: 13
  • Pull request event: 92
  • Fork event: 11
  • Create event: 36

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 2,949
  • Total Committers: 37
  • Avg Commits per committer: 79.703
  • Development Distribution Score (DDS): 0.629
Past Year
  • Commits: 63
  • Committers: 5
  • Avg Commits per committer: 12.6
  • Development Distribution Score (DDS): 0.095
Top Committers
Name Email Commits
Lewis Fishgold l****h@g****m 1,095
ahassan@azavea.com a****3@g****m 990
lossyrob r****e@g****m 331
James McClain j****n@a****m 331
dependabot[bot] 4****] 65
Simon Kassel s****l@a****m 35
jpolchlo j****k@a****m 21
Unknown a****o@g****m 16
Joe Morrison j****n@a****m 13
James Santucci j****i@g****m 8
lmbak b****s@g****m 7
Bborie Park b****k@g****g 3
Nathan Holeman n****n@g****m 3
Rocky Breslow r****w@a****m 3
Taylor Nation t****4@g****m 3
Bborie Park d****s@g****m 2
Per Liedman p****r@l****t 2
Umang Kalra u****0@g****m 2
Ammar Sani a****c@g****m 1
Jerome Maleski j****i@g****m 1
Kelly Innes k****s@a****m 1
Chris Brown c****n@a****m 1
Ashwin Nair a****r@i****g 1
Kevin Mentzer k****r@e****m 1
Andreas Meier 5****3 1
Chuck McCallum m****c 1
Cole Kettler me@c****m 1
Eugene Cheipesh e****h@g****m 1
Grigory Pomadchin g****n@g****m 1
Matt Bertrand m****t@m****u 1
and 7 more...
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 54
  • Total pull requests: 533
  • Average time to close issues: 11 months
  • Average time to close pull requests: 27 days
  • Total issue authors: 24
  • Total pull request authors: 13
  • Average comments per issue: 2.65
  • Average comments per pull request: 1.05
  • Merged pull requests: 183
  • Bot issues: 0
  • Bot pull requests: 346
Past Year
  • Issues: 7
  • Pull requests: 96
  • Average time to close issues: 1 day
  • Average time to close pull requests: 29 days
  • Issue authors: 6
  • Pull request authors: 5
  • Average comments per issue: 2.0
  • Average comments per pull request: 0.64
  • Merged pull requests: 15
  • Bot issues: 0
  • Bot pull requests: 80
Top Authors
Issue Authors
  • AdeelH (10)
  • lewfish (7)
  • lcoandrade (4)
  • chrisjkuch (4)
  • jamesmcclain (3)
  • skylning (3)
  • robmarkcole (2)
  • bdevoghel (2)
  • dependabot[bot] (2)
  • S-AQ (2)
  • bnascimento (2)
  • zejian99 (1)
  • diogoamore (1)
  • echeipesh (1)
  • ylfmsn (1)
Pull Request Authors
  • dependabot[bot] (494)
  • AdeelH (218)
  • jamesmcclain (7)
  • mentzerk (2)
  • giswqs (2)
  • keves1 (2)
  • Haoyu-Gao (2)
  • ZhipengXue97 (2)
  • cpuah (1)
  • bdevoghel (1)
  • NripeshN (1)
  • BryanQuigley (1)
  • mmcs-work (1)
Top Labels
Issue Labels
enhancement (13) bug (8) feature-request (7) good-first-issue (4) documentation (3) tests (2) dependencies (2) priority (1) question (1)
Pull Request Labels
dependencies (493) needs-backport (52)

Packages

  • Total packages: 15
  • Total downloads:
    • pypi 24,905 last-month
  • Total dependent packages: 23
    (may contain duplicates)
  • Total dependent repositories: 14
    (may contain duplicates)
  • Total versions: 155
  • Total maintainers: 2
pypi.org: rastervision

An open source framework for deep learning on satellite and aerial imagery

  • Versions: 22
  • Dependent Packages: 1
  • Dependent Repositories: 7
  • Downloads: 4,382 Last month
Rankings
Stargazers count: 1.6%
Forks count: 2.8%
Average: 4.6%
Dependent packages count: 4.8%
Dependent repos count: 5.5%
Downloads: 8.5%
Maintainers (2)
Last synced: 5 months ago
pypi.org: rastervision-pipeline

The main rastervision package for configuring, defining, and running pipelines

  • Versions: 15
  • Dependent Packages: 8
  • Dependent Repositories: 1
  • Downloads: 3,446 Last month
Rankings
Dependent packages count: 1.3%
Stargazers count: 1.6%
Forks count: 2.8%
Average: 7.0%
Downloads: 7.8%
Dependent repos count: 21.5%
Maintainers (2)
Last synced: 5 months ago
pypi.org: rastervision-core

A rastervision plugin that adds geospatial machine learning pipelines

  • Versions: 15
  • Dependent Packages: 3
  • Dependent Repositories: 1
  • Downloads: 3,385 Last month
Rankings
Stargazers count: 1.6%
Dependent packages count: 2.4%
Forks count: 2.8%
Average: 7.2%
Downloads: 7.9%
Dependent repos count: 21.5%
Maintainers (2)
Last synced: 5 months ago
pypi.org: rastervision-pytorch-learner

A rastervision plugin that adds PyTorch training pipelines

  • Versions: 15
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 3,403 Last month
Rankings
Stargazers count: 1.6%
Forks count: 2.8%
Dependent packages count: 3.2%
Average: 7.5%
Downloads: 8.3%
Dependent repos count: 21.5%
Maintainers (2)
Last synced: 5 months ago
pypi.org: rastervision-aws-s3

A rastervision plugin that adds an AWS S3 file system

  • Versions: 15
  • Dependent Packages: 2
  • Dependent Repositories: 1
  • Downloads: 3,381 Last month
Rankings
Stargazers count: 1.6%
Forks count: 2.8%
Dependent packages count: 3.2%
Average: 7.5%
Downloads: 8.4%
Dependent repos count: 21.5%
Maintainers (2)
Last synced: 5 months ago
pypi.org: rastervision-pytorch-backend

A rastervision plugin that adds PyTorch backends for rastervision.core pipelines

  • Versions: 15
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 3,370 Last month
Rankings
Stargazers count: 1.6%
Forks count: 2.8%
Dependent packages count: 4.8%
Average: 7.8%
Downloads: 8.5%
Dependent repos count: 21.5%
Maintainers (2)
Last synced: 5 months ago
pypi.org: rastervision-aws-batch

A rastervision plugin that adds an AWS Batch pipeline runner

  • Versions: 15
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 3,351 Last month
Rankings
Stargazers count: 1.6%
Forks count: 2.8%
Dependent packages count: 4.8%
Average: 7.9%
Downloads: 8.6%
Dependent repos count: 21.5%
Maintainers (2)
Last synced: 5 months ago
proxy.golang.org: github.com/azavea/raster-vision
  • Versions: 19
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Dependent packages count: 7.0%
Average: 8.2%
Dependent repos count: 9.3%
Last synced: 5 months ago
pypi.org: rastervision-gdal-vsi

A rastervision plugin that adds a GDAL VSI file system

  • Versions: 15
  • Dependent Packages: 1
  • Dependent Repositories: 1
  • Downloads: 147 Last month
Rankings
Stargazers count: 1.6%
Forks count: 2.8%
Dependent packages count: 4.8%
Average: 9.2%
Downloads: 15.4%
Dependent repos count: 21.5%
Maintainers (2)
Last synced: 5 months ago
conda-forge.org: rastervision-pipeline
  • Versions: 1
  • Dependent Packages: 4
  • Dependent Repositories: 0
Rankings
Forks count: 8.2%
Stargazers count: 8.8%
Dependent packages count: 12.4%
Average: 15.9%
Dependent repos count: 34.0%
Last synced: 5 months ago
conda-forge.org: rastervision-aws-batch
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 8.2%
Stargazers count: 8.8%
Average: 25.6%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 5 months ago
conda-forge.org: rastervision-aws-s3
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 8.2%
Stargazers count: 8.8%
Average: 25.6%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 5 months ago
conda-forge.org: rastervision-core
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 8.2%
Stargazers count: 8.8%
Average: 25.6%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 5 months ago
conda-forge.org: rastervision-gdal-vsi
  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 8.2%
Stargazers count: 8.8%
Average: 25.6%
Dependent repos count: 34.0%
Dependent packages count: 51.2%
Last synced: 5 months ago
pypi.org: rastervision-aws-sagemaker

A rastervision plugin that adds an AWS SageMaker pipeline runner

  • Versions: 4
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 40 Last month
Rankings
Dependent packages count: 9.6%
Average: 36.4%
Dependent repos count: 63.1%
Maintainers (2)
Last synced: 5 months ago

Dependencies

cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/requirements.txt pypi
  • rastervision ==0.13
cookiecutter_template/{{cookiecutter.project_name}}/rastervision_{{cookiecutter.project_name}}/setup.py pypi
  • x.strip *
docs/requirements.txt pypi
  • Pallets-Sphinx-Themes *
  • Sphinx *
.github/workflows/continuous_integration.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
.github/workflows/release.yml actions
  • actions/checkout v2 composite
  • codecov/codecov-action v2 composite
Dockerfile docker
  • nvidia/cuda ${CUDA_VERSION}-cudnn8-runtime-ubuntu${UBUNTU_VERSION} build
cookiecutter_template/{{cookiecutter.project_name}}/Dockerfile docker
  • {{cookiecutter.parent_docker_image}} latest build
rastervision_aws_batch/requirements.txt pypi
  • awscli ==1.29.8
  • boto3 ==1.28.8
  • rastervision_pipeline ==0.21.4
rastervision_aws_batch/setup.py pypi
  • x.strip *
rastervision_aws_s3/requirements.txt pypi
  • awscli ==1.29.8
  • boto3 ==1.28.8
  • rastervision_pipeline ==0.21.4
  • tqdm ==4.65.0
rastervision_aws_s3/setup.py pypi
  • x.strip *
rastervision_core/requirements.txt pypi
  • boto3 ==1.28.8
  • geopandas ==0.13.2
  • numpy ==1.25.0
  • opencv-python-headless ==4.6.0.66
  • pillow ==10.0.1
  • pyproj ==3.4.0
  • pystac ==1.6.1
  • rasterio ==1.3.7
  • rastervision_pipeline ==0.21.4
  • scikit-image ==0.21.0
  • scikit-learn ==1.2.2
  • scipy ==1.10.1
  • shapely ==2.0.1
  • tqdm ==4.65.0
  • xarray ==2023.2.0
rastervision_core/setup.py pypi
  • x.strip *
rastervision_gdal_vsi/requirements.txt pypi
  • gdal >=3.4.1,<=3.6.3
  • rastervision_pipeline ==0.21.4
rastervision_gdal_vsi/setup.py pypi
  • x.strip *
rastervision_pipeline/requirements.txt pypi
  • click ==8.1.3
  • everett ==3.2.0
  • pydantic ==1.10.7
  • six ==1.16.
  • tqdm ==4.65.0
  • typing_extensions ==4.6.3
rastervision_pipeline/setup.py pypi
  • x.strip *
rastervision_pytorch_backend/requirements.txt pypi
  • rastervision_aws_s3 ==0.21.4
  • rastervision_core ==0.21.4
  • rastervision_pipeline ==0.21.4
  • rastervision_pytorch_learner ==0.21.4
rastervision_pytorch_backend/setup.py pypi
  • x.strip *
rastervision_pytorch_learner/requirements.txt pypi
  • albumentations ==1.3.0
  • cython ==0.29.35
  • matplotlib ==3.7.1
  • numpy ==1.25.0
  • onnx ==1.14.0
  • onnxruntime-gpu ==1.15.0
  • opencv-python-headless ==4.6.0.66
  • pillow ==10.0.1
  • psutil ==5.9.3
  • pycocotools ==2.0.7
  • rastervision_core ==0.21.4
  • rastervision_pipeline ==0.21.4
  • tensorboard ==2.13.0
  • torch ==2.0.1
  • torchvision ==0.15.2
  • tqdm ==4.65.0
  • triangle ==20220202
rastervision_pytorch_learner/setup.py pypi
  • x.strip *
requirements-dev.txt pypi
  • coverage ==7.2.0 development
  • flake8 ==5.0.4 development
  • jupyter ==1.0.0 development
  • jupyter_contrib_nbextensions ==0.7.0 development
  • jupyterlab ==4.0.4 development
  • moto ==4.0.8 development
  • seaborn ==0.12.2 development
  • sphinx-autobuild ==2021.3.14 development
  • unify ==0.5 development
  • yapf ==0.23.0 development
requirements.txt pypi
  • rastervision_aws_batch ==0.21.4
  • rastervision_aws_s3 ==0.21.4
  • rastervision_core ==0.21.4
  • rastervision_pipeline ==0.21.4
  • rastervision_pytorch_backend ==0.21.4
  • rastervision_pytorch_learner ==0.21.4
setup.py pypi
  • x.strip *
rastervision_aws_sagemaker/requirements.txt pypi
  • rastervision_pipeline ==0.21.4
  • sagemaker ==2.196.0
rastervision_aws_sagemaker/setup.py pypi
  • x.strip *