数据增强适配了遥感图像多通道的特点,并结合了一些专门的增强方法,相关代码可以去往ppcd.transforms.transforms下查看和修改。其中使用参数均在代码中有所说明。
| 数据增强 | 输入图像列表张数 | 说明 |
|---|---|---|
| Resize | 对图像进行大小改变 | |
| Normalize | 对图像进行标准化 | |
| RandomFlip | 随机对图像进行翻转 | |
| RandomRotate | 随机对图像进行旋转 | |
| RandomEnlarge | 随机对图像进行放大然后裁剪回原大小 | |
| RandomNarrow | 随即对图像进行缩小然后填充回原大小 | |
| RandomBlur | 随机对图像添加高斯模糊 | |
| RandomSharpening | 随机对图像进行锐化 | |
| RandomColor | 随机改变图像的对比度和亮度 | |
| RandomStrip | 随机对图像添加条纹噪声 | |
| RandomFog | 随机对图像加雾效果 | |
| RandomSplicing | 随机对图像进行拼接不匀色改变 | |
| RandomRemoveBand | 随机移除图像部分波段 | |
| NDVI | 计算图像的归一化植被指数并叠加在新的通道 | |
| NDWI | 计算图像的归一化水体指数并叠加在新的通道 | |
| NDBI | 计算图像的归一化建筑指数并叠加在新的通道 | |
| ExchangeTime | 2 | 将两个时段的图像进行交换 |
| HistogramMatching | 将第二时段的直方图规定到第一时段 |
其中数据增强支持多通道读入(tif/img/npy/npz/jpg/png)、单/双时段增强、多标签增强。
对一些RGB图像,有一些预处理方法可能会取得一定的效果,相关代码可以去往ppcd.transforms.enhance下查看和修改。目前这一块还未进行使用的定义。
| 预处理方法 | 说明 |
|---|---|
| percent_linear | 线性拉伸 |
| bilateral_filtering | 双边滤波 |
| de_haze | 暗通道先验去雾 |
同可以参考PaddleSeg的自定义损失,在ppcd中形式如下:
import paddle.nn as nn
class NewTrans(nn.Layer):
def __init__(self, param1):
pass
def __call__(self, self, image, label=None):
return image, label