sshuair / torchsat

πŸ”₯TorchSat 🌏 is an open-source deep learning framework for satellite imagery analysis based on PyTorch.
https://torchsat.readthedocs.io
MIT License
391 stars 48 forks source link
classification data-augmentation deep-learning pytorch remote-sensing satellite satellite-imagery semantic-segmentation torchvision


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 the latest progress, please check the develop branch.

Hightlight

Install

How to use

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).

Sementic Segmentation

Dataloader

Classification

Showcase

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

Reference

Note