Awesome Remote Sensing Toolkit based on PaddlePaddle.

Overview

基于飞桨框架开发的高性能遥感图像处理开发套件,端到端地完成从训练到部署的全流程遥感深度学习应用。

License python version support os

最新动态

  • PaddleRS 即将发布alpha版本!欢迎大家试用

简介

PaddleRS是遥感科研院所、相关高校共同基于飞桨开发的遥感处理平台,支持遥感图像分类,目标检测,图像分割,以及变化检测等常用遥感任务,帮助开发者更便捷地完成从训练到部署全流程遥感深度学习应用。

特性

  • 特有的遥感数据处理模块:针对遥感行业数据特点,提供了大尺幅数据切片与拼接,支持读取tifpngjpegbmpimg以及 npy等格式,支持地理信息保存和超分辨率。

  • 覆盖任务广:支持目标检测、图像分割、变化检测、参数反演等多种任务

  • 高性能:支持多进程异步I/O、多卡并行训练、评估等加速策略,结合飞桨核心框架的显存优化功能,可大幅度减少分割模型的训练开销,让开发者更低成本、更高效地完成图像遥感图像的开发和训练。

产品矩阵

模型总览 数据增强 遥感工具 实践案例
场景分类
  • ResNet
  • MobileNet
  • HRNet
语义分割
  • UNet
  • FarSeg
  • DeepLabV3P
目标检测
  • PP-YOLO
  • Faster RCNN
  • PicoDet
超分/去噪
  • DRNet
  • LESRCNNet
  • ESRGANet
变化检测
  • DSIFN
  • STANet
  • UNetSiamDiff
数据增强
  • Resize
  • RandomResize
  • ResizeByShort
  • RandomResizeByShort
  • ResizeByLong
  • RandomFlipOrRotation
  • RandomHorizontalFlip
  • RandomVerticalFlip
  • Normalize
  • CenterCrop
  • RandomCrop
  • RandomScaleAspect
  • RandomExpand
  • Padding
  • MixupImage
  • RandomDistort
  • RandomBlur
  • Defogging
  • DimReducing
  • BandSelecting
  • RandomSwap
数据格式转换
  • coco to mask
  • mask to shpfile
  • mask to geojson
数据预处理
  • data split
  • images match
  • bands select
遥感场景分类
  • 待更
遥感语义分割
  • 待更
遥感目标检测
  • 待更
遥感变化检测
  • 待更
遥感影像超分
  • 待更

代码结构

这部分将展示PaddleRS的文件结构全貌。文件树如下:

├── deploy               # 部署相关的文档和脚本
├── docs                 # 整个项目文档及图片
├── paddlers  
│     ├── custom_models  # 自定义网络模型代码
│     ├── datasets       # 数据加载相关代码
│     ├── models         # 套件网络模型代码
│     ├── tasks          # 相关任务代码
│     ├── tools          # 相关脚本
│     ├── transforms     # 数据处理及增强相关代码
│     └── utils          # 各种实用程序文件
├── tools                # 用于处理遥感数据的脚本
└── tutorials
      └── train          # 训练教程

技术交流

  • 如果你发现任何PaddleRS存在的问题或者是建议, 欢迎通过GitHub Issues给我们提issues。
  • 欢迎加入PaddleRS 微信群

使用教程

开源贡献

非常感谢国家对地观测科学数据中心、中国科学院空天信息创新研究院、北京航空航天大学、武汉大学、中国石油大学(华东)、中国地质大学、中国四维、航天宏图、中科星图、超图等单位对PaddleRS项目的贡献。注:排名不分先后。

许可证书

本项目的发布受Apache 2.0 license许可认证。

学术引用

如果我们的项目在学术上帮助到你,请考虑以下引用:

@misc{paddlers2022,
    title={PaddleRS, Awesome Remote Sensing Toolkit based on PaddlePaddle},
    author={PaddlePaddle Authors},
    howpublished = {\url{https://github.com/PaddleCV-SIG/PaddleRS}},
    year={2022}
}
Issues
  • [Feature] Add training tutorials for segmentation tasks

    [Feature] Add training tutorials for segmentation tasks

    Add training tutorials for all implemented segmentation methods. Since currently, UNet is the only method that handles multispectral (more than three bands) images, the tutorials of the other methods are based on a non-remote-sensing dataset (i.e. the optic_disc_seg dataset). The tutorial of UNet is based on a landcover classification dataset. Test passes locally.

    opened by Bobholamovic 7
  • [Fix] Fix PCA used

    [Fix] Fix PCA used

    晖哥根据昨天我们关于pca的讨论,今天我尝试修改了一下,首先是tools中有个pca.py,可以对一张hsi图像进行pca降维,在保存结果的同时保存pca的参数,如下

    R%HWFQMO`}40)5@TS}4)9 B

    WL{)LUI@F4P3YS3(RXCHS

    但是transform里面还是保留了,作用是比如推理的时候,可以加载这个pca参数进行推理,加载和保存都是这个*.joblib的文件,一个test.py如下:

    import paddlers as pdrs
    from paddlers import transforms as T
    import cv2
    
    transforms = T.Compose([
        T.DimReducing("pcatest/output/UINT16_HSI_pca.joblib")
    ])
    
    dataset = pdrs.datasets.ClasDataset(
        data_dir='pcatest',  # 里面只有一张图
        file_list='pcatest/list.txt',  # 里面只有这张图的名字和一个标签
        transforms=transforms
    )
    
    for data in dataset:
        img = data["image"]
        print(img.shape)
        cv2.namedWindow('img', cv2.WINDOW_NORMAL)
        cv2.imshow("img", cv2.cvtColor(img, cv2.COLOR_BGR2RGB))
        cv2.waitKey(0)
        cv2.destroyAllWindows()
    

    测试这样的pca

    75@AJ69737ILU23{PH6{Q27

    SP(6K_85Q1OU$94@1UH3NA4

    晖哥看看这样可以吗。中间我比较困惑是我应不应该转uint8两次,首先是现在ImgDecoder是默认用了to_uint8,我想如果训练pca的时候没有这个就会导致不同我就用了,然后就是得到的结果我看有是float64有正有负,如果不to_uint8一下会不会影响后面的Normalize,所以我也用了。

    还有关于save_tiff这里有一些重复,和geojson分支,我想等后面这两个合并了我再删一下,顺便再更新文档。

    opened by geoyee 6
  • RS训练分类模型,导出之后,预测报错

    RS训练分类模型,导出之后,预测报错

    利用RS 训练了HRNet_W18_C模型,模型训练、导出都正常,就是用导出的模型做预测的时候出现了错误。 Traceback (most recent call last): File "demo.py", line 52, in result = predictor.predict(img_file=img1,transforms=eval_transforms) File "/home/aistudio/PaddleRS/paddlers/deploy/predictor.py", line 279, in predict results = self._run(images=images, topk=topk, transforms=transforms) File "/home/aistudio/PaddleRS/paddlers/deploy/predictor.py", line 235, in _run transforms=transforms) File "/home/aistudio/PaddleRS/paddlers/deploy/predictor.py", line 175, in postprocess preds = self._model._postprocess(net_outputs, true_topk) TypeError: 'NoneType' object is not callable image 请问这个错误怎么处理

    bug solved 
    opened by L-xiaolu 4
  • Error when importing

    Error when importing

    The same error has been reported when importing paddlers. I have tried many times to create a new virtual environment and reinstall it, but it still does not solve it. Is there a better solution? Thank you very much for your help. image

    solved 
    opened by wwzh26 4
  • [Feature] Add training tutorials for classification tasks

    [Feature] Add training tutorials for classification tasks

    1. Fix typos and bugs in paddlers/datasets/cd_dataset.py and paddlers/utils/utils.py.
    2. Update readme file for training tutorials.
    3. Add training tutorials for classification tasks. The training of the classification models is based on the UC Merced land use dataset.
    opened by Bobholamovic 4
  • add 5 flip mode, 3 rotate mode of images

    add 5 flip mode, 3 rotate mode of images

    add RandomFlipOrRotation in paddlers/transforms/operators.py add some functions in paddlers/transforms/functions.py add some files that work by json library to show statistics information of images or annotations, and to merge, spilt, get new json file

    opened by huilin16 4
  • [Feature] Add training tutorials for CD tasks

    [Feature] Add training tutorials for CD tasks

    1. Change the parameter initialization method of FC-EF, FC-Siam-conc, and FC-Siam-diff, such that these networks can be trained to obtained higher detection accuracy.
    2. Add training tutorials for all implemented CD methods, except for ChangeStar. The training tutorial of ChangeStar is to be added later, because I have not yet found a suitable dataset. For the other CD methods, the training is performed on the SZTAKI AirChange Benchmark Set.
    opened by Bobholamovic 4
  • [Feat] Update use mixed loss

    [Feat] Update use mixed loss

    1. 按照之前与 @LutaoChu 的商讨结果,修改了SegmenterChangeDetectoruse_mixed_loss相关逻辑和接口。目前支持API调用者直接传入构建好的loss对象。为了让API使用起来更加便捷,支持传入布尔型、列表、字典、或者loss对象这四种不同的类型。
    2. 目前所有的变化检测模型(包括使用了深度监督的模型和多任务模型)均已支持用户自定义的use_mixed_loss参数。

    问题:目前的实现进一步复杂化了use_mixed_loss,加重了这个输入参数本来就存在的“名称与行为不一致”的问题。是否考虑拆成多个参数或者更名?

    opened by Bobholamovic 3
  • [Fix] Update clas-task val and predict without train

    [Fix] Update clas-task val and predict without train

    在进行多光谱分类中遇到一些问题,进行了一些修改,项目可见https://aistudio.baidu.com/aistudio/projectdetail/3711240

    1. 现在default_metric的初始化放在train中的,要调用evaluate必须先调用train,否则会报错。所以现在将default_metric放到task的初始化中,这看起来不会对其他有影响。
    2. 修改了changedetector中的一个命名的问题。
    3. 增加了load的方法来加载参数,方便进行推理,就不用再用model.net.set_dict(xxx)这样的方式加载参数了。
    4. 修复了一些predict的问题,之前无法预测(主要是那个加[0]后的形状问题和postprocess的问题)。
    5. 为clas的task增加了一个label_list的初始化参数,目前label_list来自train时从train_data.label_list中得到,如果不先调用train就无法预测。这里还可以看看怎么做会好点。
    opened by geoyee 3
  • rs change star 模型调用出错

    rs change star 模型调用出错

    model=pdrs.tasks.ChangeStar( num_classes=2, use_mixed_loss=False, mid_channels=256, inner_channels=16, num_convs=4, scale_factor=4.0, )


    TypeError Traceback (most recent call last) /tmp/ipykernel_160/3661388624.py in 5 inner_channels=16, 6 num_convs=4, ----> 7 scale_factor=4.0, 8 )

    ~/PaddleRS/paddlers/tasks/changedetector.py in init(self, num_classes, use_mixed_loss, mid_channels, inner_channels, num_convs, scale_factor, **params) 883 num_classes=num_classes, 884 use_mixed_loss=use_mixed_loss, --> 885 **params) 886 887 def default_loss(self):

    ~/PaddleRS/paddlers/tasks/changedetector.py in init(self, model_name, num_classes, use_mixed_loss, **params) 61 if params.get('with_net', True): 62 params.pop('with_net', None) ---> 63 self.net = self.build_net(**params) 64 self.find_unused_parameters = True 65

    ~/PaddleRS/paddlers/tasks/changedetector.py in build_net(self, **params) 67 # TODO: add other model 68 net = cmcd.dict[self.model_name](num_classes=self.num_classes, ---> 69 **params) 70 return net 71

    ~/PaddleRS/paddlers/custom_models/cd/changestar.py in init(self, num_classes, mid_channels, inner_channels, num_convs, scale_factor) 138 inner_channels=inner_channels, 139 num_convs=num_convs, --> 140 scale_factor=scale_factor) 141 142

    ~/PaddleRS/paddlers/custom_models/cd/changestar.py in init(self, seg_model, num_classes, mid_channels, inner_channels, num_convs, scale_factor) 29 def init(self, seg_model, num_classes, mid_channels, inner_channels, 30 num_convs, scale_factor): ---> 31 super(_ChangeStarBase, self).init(_ChangeStarBase, self) 32 33 self.extract = seg_model

    /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/dygraph/layers.py in init(self, name_scope, dtype) 103 if name_scope is None: 104 name_scope = _convert_camel_to_snake(self.class.name) --> 105 self._full_name = unique_name.generate(name_scope) 106 self._helper = LayerObjectHelper(self._full_name) 107 self._built = False

    /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/unique_name.py in generate(key) 103 print(name1, name2) # fc_0, fc_1 104 """ --> 105 return generator(key) 106 107

    /opt/conda/envs/python35-paddle120-env/lib/python3.7/site-packages/paddle/fluid/unique_name.py in call(self, key) 49 tmp = self.ids[key] 50 self.ids[key] += 1 ---> 51 return self.prefix + "_".join([key, str(tmp)]) 52 53

    TypeError: sequence item 0: expected str instance, type found

    solved 
    opened by Dylan-get 3
  • [Fix] Store params when saving training models

    [Fix] Store params when saving training models

    对模型载入和存储部分做了较大的修改,具体如下:

    问题:原有代码在验证完成后保存模型调用BaseModel().save_model()方法,其中通过BaseModel().get_model_info()方法获取模型规格参数,并存储到yaml文件中。原有的BaseModel().get_model_info()实现存在两个问题:

    1. 该方法存在副作用,具体体现为对self.init_params进行了inplace操作而不汇报任何的警告(且这个方法在训练过程中将被反复执行),埋下安全隐患。
    2. 该方法将self.init_params中的params键值对直接删除,而这个键值对中常常保存有重要的模型规格信息。这导致当用户试图export训练阶段存储的模型时,只能使用默认参数构造模型,从而出现意想不到的错误。例如,在 #73 中,PR的贡献者在导出使用BAM(默认配置使用PAM)的STANet就遇到了意料之外的错误,并指出了问题所在。#81 中用户所遇到的导出问题的根本原因也在此。

    已有PR中的解决方案:#73 的作者提出了一个简单的解决方案,即,每次存储params键值对到yaml文件中。但这一方案并不完美,其存在两个问题:

    1. 在导出推理用的模型时,由于模型文件已经保存有模型规格、结构等信息,因此params键值对是没有必要被存储的,“存而不用”反而容易造成歧义。
    2. 在部分Segmenter的实现中,从self.init_params中获取的params键值对和模型构造时需要传入的params参数存在不一致。一个典型的例子是 DeepLabV3P

    本PR的解决方案:为了解决上述问题,本PR提出一种新的解决方案,包括两个部分:

    1. BaseModel添加元类ModelMeta,在BaseModel及其子类的构造阶段hook类的__init__()方法,hook后的__init__()方法能够读取API调用者提供的原始输入并存储在对象中。使用元类有两方面的好处:首先,减少了冗余代码,提高了复用性;其次,元类可以在继承以外提供对模型类特定行为的约束,有利于今后的进一步功能扩展。
    2. BaseModel().get_model_info()方法添加两个可选参数get_raw_paramsinplace。当get_raw_paramsTrue时,在返回的model_info中插入先前用元类获取的raw_params;当inplaceFalse时,禁止对self.init_params的原地操作,而使用拷贝。get_raw_params默认值为False,而inplace默认值为True,如此保证了和原有接口功能一致。

    除了上述内容以外,本PR还包含一些小修改,如英语语法更正、tutorial默认超参数调整等。另外值得一提的是,在分割任务的tutorial中加入一个有用的工具run_with_clean_log.py,主要用于清除烦人的GDAL警告(见 #81 ),如果PR通过后序将添加相关文档。

    opened by Bobholamovic 2
  • [Refactor] All about paddlers.transforms.Compose

    [Refactor] All about paddlers.transforms.Compose

    现存问题

    PaddleRS继承了PaddleX的部分设计,其中就包括paddlers.transforms.Compose(以下简称为Compose)的设计。从面向对象程序设计的角度来说,Compose远非完美:Compose实现的逻辑过于复杂,已经远远超出了它的名字所赋予的含义。除了组合不同数据增强/预处理算子以外,Compose对象还负责执行图像读取、输出排布(arrange outputs)等功能。

    上述缺点导致了(不限于)如下问题:

    1. 当前PaddleRS并不强制要求数据集构造函数的输入参数transforms必须为Compose类型对象(注释中也是这样表述的),而实际上,模型(指BaseModel及其派生类)的开发者却假设数据集的transforms属性满足Compose的接口,例如:此处 ObjectDetector尝试获取transforms.transforms属性,而目前只有Compose对象才能满足这一要求。因此,当用户尝试传给数据集非Compose类型的算子时,几乎必然导致出现预期以外的错误。
    2. Compose负责输出排布这一点尤其让用户感到疑惑。当前代码对Compose对象的修改多是in-place的,这使原本已经混乱的逻辑进一步恶化。已经有许多用户汇报了这样的奇怪现象:在执行model.train()之前,数据集的__getitem__()方法返回的是字典(有些用户读了源码,发现这与paddlers.transforms.operators中的逻辑一致);而执行model.train()之后,数据集的__getitem__()方法的返回值被hack成了元组——这一切要“归功”于Composearrange_outputs属性被原地修改,且这一修改是延迟到model.train()中才执行的。一个常见的情况是,在CDDataset指定binarize_labels=True后,如果不执行model.train(),则用户无法正常查看数据集中的样本,只要试图索引数据集就会收到一个莫名其妙的TypeError

    我的想法

    针对问题1,在不对代码大规模动刀子的情况下,我认为在相关的注释和文档中应该说明数据集必须传入Compose类型对象,而不能是paddlers.transforms中的任意算子。

    尽管想要彻底解决问题2,有必要对Compose进行完整的重构,但考虑到这样对现有代码改动太大,我的想法是在in-place修改这方面做一些优化,使“Compose负责输出排布”这一奇怪的行为对用户而言保持透明。

    具体方案

    1. 为分类、目标检测、分割和变化检测数据集设置统一的抽象基类BaseDataset,该基类通过hook派生类的__getitem__()方法,增加检查步骤,确保在索引数据集时Compose对象必须有非Nonearrange_outputs属性(确保Compose.__call__()的输出为元组而非字典),否则抛出RuntimeError
    2. 修改分类、目标检测、分割和变化检测数据集的注释,说明transforms参数只能为Compose类型对象,同时将transforms设置为必填参数,而不是像之前那样作为默认值为None的可选参数(指定transformsNone是无意义的,因为这种情况下数据集根本无法正常工作)。
    3. arrange_transforms()的基础上,添加上下文管理器版本arrange_transforms_ctx()和实例方法装饰器版本arrange_transforms_deco()arrange_transforms_ctx()可在with语句中调用,提供一个临时修改BaseDataset(及其派生类)或Compose对象的上下文;arrange_transforms_deco()则在arrange_transforms_ctx()的基础上实现对实例方法的封装,可利用Python的反射功能自动从输入参数中获取要修改的对象。

    讨论

    针对问题2,一个可选的策略是在所有对transforms进行in-place修改的地方对输入参数进行深拷贝。但这种做法有三个缺陷:

    1. 当transforms为大对象时,考虑到深拷贝可能会在函数的嵌套调用中被反复执行,这种情况的开销较大。
    2. 对于开发者而言,做此修改的代码量较大。
    3. 添加深拷贝的代码不如使用装饰器维护方便。

    综上,采用了上下文管理器和实例方法装饰器的策略。

    此外,当前修改没有考虑到batch_transforms,这一块仍维持先前的行为。

    其它修改

    1. 我认为将ArrangeChangeDetector等输出排布类像Resize等数据变换算子一样暴露给用户是不合理的,因此我将这些类隐藏为内部逻辑。
    2. BaseClassifiermetrics属性没有必要在train阶段延迟构造,我在构造函数中对其初始化。
    opened by Bobholamovic 0
  • Can't use paddle's ReduceOnPlateau

    Can't use paddle's ReduceOnPlateau

    paddle.optimizer.lr.ReduceOnPlateau.step(metrics, epoch=None), it require metrics that other paddle.optimizer.lr doesn't;

    when you use ReduceOnPlateau as learning rate scheduler like this:

    model = pdrs.tasks.BIT(... lr_scheduler = paddle.optimizer.lr.ReduceOnPlateau( LR, ) optimizer = paddle.optimizer.Adam( learning_rate=lr_scheduler, parameters=model.net.parameters() ) model.train(...

    it will rise a TypeError: step() missing 1 required positional argument: 'metrics'

    enhancement 
    opened by Xiaracto 2
Releases(1.0-beta)
  • 1.0-beta(May 19, 2022)

    新特性

    丰富数据处理

    • 20+遥感数据增强策略
    • 半自动标注工具 EISeg

    高质量视觉模型

    • 120+内置模型算法
    • 覆盖5大遥感视觉场景

    易用API设计

    • 1套API支持5大任务
    • 4个API完成模型训练

    高性能训练

    • 核心框架显存优化功能
    • 多卡并行训练加速策略
    Source code(tar.gz)
    Source code(zip)
rastrainer is a QGIS plugin to training remote sensing semantic segmentation model based on PaddlePaddle.

rastrainer rastrainer is a QGIS plugin to training remote sensing semantic segmentation model based on PaddlePaddle. UI TODO Init UI. Add Block. Add l

deepbands 5 Mar 4, 2022
Remote sensing change detection using PaddlePaddle

Change Detection Laboratory Developing and benchmarking deep learning-based remo

Lin Manhui 14 May 16, 2022
Semi-supervised Representation Learning for Remote Sensing Image Classification Based on Generative Adversarial Networks

SSRL-for-image-classification Semi-supervised Representation Learning for Remote Sensing Image Classification Based on Generative Adversarial Networks

Feng 2 Nov 19, 2021
CFC-Net: A Critical Feature Capturing Network for Arbitrary-Oriented Object Detection in Remote Sensing Images

CFC-Net This project hosts the official implementation for the paper: CFC-Net: A Critical Feature Capturing Network for Arbitrary-Oriented Object Dete

ming71 43 May 7, 2022
Official Pytorch Implementation of Adversarial Instance Augmentation for Building Change Detection in Remote Sensing Images.

IAug_CDNet Official Implementation of Adversarial Instance Augmentation for Building Change Detection in Remote Sensing Images. Overview We propose a

null 45 Jun 17, 2022
FactSeg: Foreground Activation Driven Small Object Semantic Segmentation in Large-Scale Remote Sensing Imagery (TGRS)

FactSeg: Foreground Activation Driven Small Object Semantic Segmentation in Large-Scale Remote Sensing Imagery by Ailong Ma, Junjue Wang*, Yanfei Zhon

Kingdrone 34 Jun 27, 2022
PyTorch implementation of popular datasets and models in remote sensing

PyTorch Remote Sensing (torchrs) (WIP) PyTorch implementation of popular datasets and models in remote sensing tasks (Change Detection, Image Super Re

isaac 176 Jun 15, 2022
Deep learning models for change detection of remote sensing images

Change Detection Models (Remote Sensing) Python library with Neural Networks for Change Detection based on PyTorch. ⚡ ⚡ ⚡ I am trying to build this pr

Kaiyu Li 133 Jun 8, 2022
Change is Everywhere: Single-Temporal Supervised Object Change Detection in Remote Sensing Imagery (ICCV 2021)

Change is Everywhere Single-Temporal Supervised Object Change Detection in Remote Sensing Imagery by Zhuo Zheng, Ailong Ma, Liangpei Zhang and Yanfei

Zhuo Zheng 100 Jun 18, 2022
LoveDA: A Remote Sensing Land-Cover Dataset for Domain Adaptive Semantic Segmentation (NeurIPS2021 Benchmark and Dataset Track)

LoveDA: A Remote Sensing Land-Cover Dataset for Domain Adaptive Semantic Segmentation by Junjue Wang, Zhuo Zheng, Ailong Ma, Xiaoyan Lu, and Yanfei Zh

Kingdrone 133 Jun 29, 2022
From this paper "SESNet: A Semantically Enhanced Siamese Network for Remote Sensing Change Detection"

SESNet for remote sensing image change detection It is the implementation of the paper: "SESNet: A Semantically Enhanced Siamese Network for Remote Se

null 1 May 24, 2022
paper: Hyperspectral Remote Sensing Image Classification Using Deep Convolutional Capsule Network

DC-CapsNet This is a tensorflow and keras based implementation of DC-CapsNet for HSI in the Remote Sensing Letters R. Lei et al., "Hyperspectral Remot

LEI 6 May 5, 2022
a practicable framework used in Deep Learning. So far UDL only provide DCFNet implementation for the ICCV paper (Dynamic Cross Feature Fusion for Remote Sensing Pansharpening)

UDL UDL is a practicable framework used in Deep Learning (computer vision). Benchmark codes, results and models are available in UDL, please contact @

Xiao Wu 9 May 15, 2022
LoveDA: A Remote Sensing Land-Cover Dataset for Domain Adaptive Semantic Segmentation

LoveDA: A Remote Sensing Land-Cover Dataset for Domain Adaptive Semantic Segmentation by Junjue Wang, Zhuo Zheng, Ailong Ma, Xiaoyan Lu, and Yanfei Zh

Payphone 4 Apr 18, 2022
Fang Zhonghao 9 Jun 4, 2022
Universal Adversarial Examples in Remote Sensing: Methodology and Benchmark

Universal Adversarial Examples in Remote Sensing: Methodology and Benchmark Yong

null 13 Jun 17, 2022
Object detection and instance segmentation toolkit based on PaddlePaddle.

Object detection and instance segmentation toolkit based on PaddlePaddle.

null 7.9k Jun 21, 2022
Multi-Modal Machine Learning toolkit based on PaddlePaddle.

简体中文 | English PaddleMM 简介 飞桨多模态学习工具包 PaddleMM 旨在于提供模态联合学习和跨模态学习算法模型库,为处理图片文本等多模态数据提供高效的解决方案,助力多模态学习应用落地。 近期更新 2022.1.5 发布 PaddleMM 初始版本 v1.0 特性 丰富的任务

njustkmg 267 Jun 23, 2022
Paddle-Adversarial-Toolbox (PAT) is a Python library for Deep Learning Security based on PaddlePaddle.

Paddle-Adversarial-Toolbox Paddle-Adversarial-Toolbox (PAT) is a Python library for Deep Learning Security based on PaddlePaddle. Model Zoo Common FGS

AgentMaker 16 Apr 3, 2022