You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

3.2 KiB

数据增强

PaddleRS将多种任务需要的数据增强进行了有机整合,均通过Compose进行使用,数据读取方面通过DecodeImg可以对不只三通道RGB图像进行读取,还可以对SAR以及多通道图像进行读取,提供有转为uint8的选项。此外提供以下数据增强的方法。

数据增强名称 用途 任务 ...
Resize 调整输入大小 所有 ...
RandomResize 随机调整输入大小 所有 ...
ResizeByShort 调整输入大小,保持纵横比不变 所有 ...
RandomResizeByShort 随机调整输入大小,保持纵横比不变 所有 ...
ResizeByLong 调整输入大小,保持纵横比不变 所有 ...
RandomHorizontalFlip 随机水平翻转输入 所有 ...
RandomVerticalFlip 随机竖直翻转输入 所有 ...
Normalize 对输入中的图像应用最小-最大标准化 所有 ...
CenterCrop 对输入进行中心裁剪 所有 ...
RandomCrop 对输入进行随机中心裁剪 所有 ...
RandomScaleAspect 裁剪输入并重新调整大小至原始大小 所有 ...
RandomExpand 通过根据随机偏移填充来随机扩展输入 所有 ...
Pad 将输入填充到指定的大小 所有 ...
MixupImage 将两张图片和它们的gt_bbbox/gt_score混合在一起 目标检测 ...
RandomDistort 对输入进行随机色彩变换 所有 ...
RandomBlur 对输入进行随机模糊 所有 ...
Dehaze 对输入图像进行去雾 所有 ...
ReduceDim 对输入图像进行降维 所有 ...
SelectBand 选择输入图像的波段 所有 ...
RandomSwap 随机交换两个输入图像 变化检测 ...
... ... ...

如何使用

以变化检测任务为例,其余任务的使用方法与此类似。

import paddlers.transforms as T
from paddlers.datasets import CDDataset


train_transforms = T.Compose([
    T.DecodeImg(),
    T.Resize(target_size=512),
    T.RandomHorizontalFlip(),
    T.Normalize(
        mean=[0.5, 0.5, 0.5], std=[0.5, 0.5, 0.5]),
    T.ArrangeChangeDetector('train')
])

train_dataset = CDDataset(
    data_dir='xxx/xxx',
    file_list='xxx/train_list.txt',
    label_list='xxx/labels.txt',
    transforms=train_transforms,
    shuffle=True)