Skip to main content
Join the official 2019 Python Developers SurveyStart the survey!

TorchSat is an open-source PyTorch framework for satellite imagery analysis.

Project description


TorchSat is an open-source deep learning framework for satellite imagery analysis based on PyTorch.

This project is still work in progress. If you want to know more about it, please refer to the Roadmap .

Hightlight

  • :wink: Support multi-channels(> 3 channels, e.g. 8 channels) images and TIFF file as input.
  • :yum: Convenient data augmentation method for classification, sementic segmentation and object detection.
  • :heart_eyes: Lots of models for satellite vision tasks, such as ResNet, DenseNet, UNet, PSPNet, SSD, FasterRCNN ...
  • :smiley: Lots of common satellite datasets loader.
  • :open_mouth: Training script for common satellite vision tasks.

Install

python3 setup.py install

How to use

  • Introduction -
  • Classification tutorial -
  • Data augmentation - data-augmentation.ipynb
  • Data loader
  • models
  • train script

Features

Data augmentation

We suppose all the input images, masks and bbox should be NumPy ndarray. The data shape should be [height, width] or [height, width, channels].

pixel level

Pixel-level transforms only change the input image and will leave any additional targets such as masks, bounding boxes unchanged. It support all channel images. Some transforms only support specific input channles.

Transform Image masks BBoxes
ToTensor
Normalize
ToGray
GaussianBlur
RandomNoise
RandomBrightness
RandomContrast

spatial-level

Spatial-level transforms will simultaneously change both an input image as well as additional targets such as masks, bounding boxes. It support all channel images.

Transform Image masks BBoxes
Resize
Pad
RandomHorizontalFlip
RandomVerticalFlip
RandomFlip
CenterCrop
RandomCrop
RandomResizedCrop
ElasticTransform
RandomRotation
RandomShift

Models

Classification

All models support multi-channels as input (e.g. 8 channels).

  • VGG: vgg11, vgg11_bn, vgg13, vgg13_bn, vgg16, vgg16_bn,vgg19_bn, vgg19
  • ResNet: resnet18, resnet34, restnet50, resnet101, resnet152
  • DenseNet: densenet121, densenet169, densenet201, densenet161
  • Inception: inception_v3
  • MobileNet: mobilenet_v2

Sementic Segmentation

  • UNet: unet, unet34, unet101, unet152 (with resnet as backbone.)

Dataloader

Classification

Showcase

If you extend this repository or build projects that use it, we'd love to hear from you.

Reference

Note

  • If you are looking for the torchvision-enhance, please checkout the enhance branch. But it was deprecated.

Project details


Release history Release notifications

Download files

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

Files for torchsat, version 0.0.1
Filename, size File type Python version Upload date Hashes
Filename, size torchsat-0.0.1-py3-none-any.whl (46.3 kB) File type Wheel Python version py3 Upload date Hashes View hashes
Filename, size torchsat-0.0.1.tar.gz (31.8 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page