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
python3 setup.py install
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 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 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 | β | β | β |
All models support multi-channels as input (e.g. 8 channels).
vgg11
, vgg11_bn
, vgg13
, vgg13_bn
, vgg16
, vgg16_bn
, vgg19_bn
, vgg19
resnet18
, resnet34
, resnet50
, resnet101
, resnet152
, resnext50_32x4d
,resnext101_32x8d
, wide_resnet50_2
, wide_resnet101_2
densenet121
, densenet169
, densenet201
inception_v3
mobilenet_v2
efficientnet_b0
, efficientnet_b1
, efficientnet_b2
, efficientnet_b3
,efficientnet_b4
, efficientnet_b5
, efficientnet_b6
, efficientnet_b7
resnest50
, resnest101
, resnest200
, resnest269
unet
, unet34
, unet101
, unet152
(with resnet as backbone.)If you extend this repository or build projects that use it, we'd love to hear from you.