简体中文 | [English](transforms_cons_params_en.md) # PaddleRS数据变换算子构造参数 本文档详细介绍了PaddleRS各个数据变换算子的构造参数,包括算子名称、算子用途、各个算子的参数名称、参数类型、参数意义以及参数默认值。 PaddleRS所支持的数据变换算子可见[此文档](https://github.com/PaddlePaddle/PaddleRS/blob/develop/docs/intro/transforms_cn.md)。 ## `AppendIndex` 计算遥感指数并添加到输入影像中。 | 参数名 | 描述 | 默认值 | |-----------------|-------------------------------------------------------------------------------------------------------------------------|------| |`index_type (str)`| 遥感指数类型。请在[此链接](https://github.com/PaddlePaddle/PaddleRS/tree/develop/paddlers/transforms/indices.py)查看PaddleRS支持的全部遥感指数类型。 | | |`band_indexes (dict,可选)`| 波段名称到波段索引的映射(从1开始)。请在[此链接](https://github.com/PaddlePaddle/PaddleRS/tree/develop/paddlers/transforms/indices.py)查看PaddleRS支持的全部波段名称。 | `None` | |`satellite (str,可选)`| 卫星类型。设置后,将自动确定相应的带指数。请在[此链接](https://github.com/PaddlePaddle/PaddleRS/tree/develop/paddlers/transforms/satellites.py)查看PaddleRS支持的全部卫星类型。 | `None` | ## `CenterCrop` + 对输入影像进行中心裁剪。 - 1. 定位图像的中心。 - 2. 裁剪图像。 | 参数名 | 描述 | 默认值 | |-----------------|----------------------------------------------------------------------------------------------------------|------| |`crop_size (int,可选)`| 裁剪图像的目标大小 | `224` | ## `Dehaze` 对输入图像进行去雾。 | 参数名 | 描述 | 默认值 | |-----------------|---------------|-------| |`gamma (bool,可选)`| 是否使用 gamma 校正 | `False` | ## `MatchRadiance` 对两个时相的输入影像进行相对辐射校正 | 参数名 | 描述 | 默认值 | |-----------------|-----------------------------------------------------|-------| |`method (str,可选)`| 用于匹配双时间图像亮度的方法。选项有{`'hist'`, `'lsr'`, `'fft`}。`'hist'`代表直方图匹配,`'lsr'`代表最小二乘回归,`'fft'`替换图像的低频分量以匹配参考图像 | `'hist'` | ## `MixupImage` 将两幅影像(及对应的目标检测标注)混合在一起作为新的样本。 | 参数名 | 描述 | 默认值 | |-----------------|-------------------|-----| |`alpha (float,可选)`| beta 分布的 alpha 参数 | `1.5` | |`beta (float,可选)` | beta 分布的 beta 参数 | `1.5` | ## `Normalize` 对输入影像应用标准化 + 对输入图像应用归一化。归一化步骤如下: - 1. Im = (Im - min_value) * 1 / (max_value - min_value) - 2. Im = Im - mean - 3. Im = Im / STD | 参数名 | 描述 | 默认值 | |---------------------|----------------------------------|------------------------------| | `mean (list[float] \| tuple[float],可选)` | 输入图像的均值 | `[0.485,0.456,0.406]` | | `std (list[float] \| tuple[float],可选)` | 输入图像的标准差 | `[0.229,0.224,0.225]` | | `min_val (list[float] \| tuple[float],可选)` | 输入图像的最小值。如果为`None`,则对所有通道使用`0` | `None` | | `max_val (list[float] \| tuple[float],可选)` | 输入图像的最大值。如果为`None`,则所有通道均使用`255` | `None` | | `apply_to_tar (bool,可选)` | 是否对目标图像应用数据变换算子 | `True` | ## `Pad` 将输入影像填充到指定的大小 | 参数名 | 描述 | 默认值 | |--------------------------| ------------------------------------------------------------ | --------------------- | | `target_size (list[int] \| tuple[int],可选)` | 图像目标大小 | `None` | | `pad_mode (int,可选)` | 填充模式。目前只支持四种模式:[-1,0,1,2]。如果是`-1`,使用指定的偏移量。若为`0`,只向右和底部填充;若为`1`,按中心填充。如果`2`,只填充左侧和顶部 | `0` | | `offset (list[int] \| None,可选)` | 填充偏移量 | `None` | | `im_padding_value (list[float] \| tuple[float])` | 填充区域的 RGB 值 | `(127.5,127.5,127.5)` | | `label_padding_value (int,可选)` | 掩码的填充值 | `255` | | `size_divisor (int)` | 填充后的图像宽度和高度将是`'size_divisor'`的倍数 | | ## `RandomBlur` 对输入施加随机模糊 | 参数名 | 描述 | 默认值 | |-----------------|-----------------------------------------------------|------| |`prob (float)`| 模糊的概率 | | ## `RandomCrop` 对输入影像进行随机中心裁剪 + 随机裁剪输入。 1. 根据' aspect_ratio '和' scaling '计算裁剪区域的高度和宽度。 - 2. 随机定位裁剪区域的左上角。 - 3. 裁剪图像。 - 4. 调整裁剪区域的大小为' crop_size ' x ' crop_size '。 | 参数名 | 描述 | 默认值 | |------------------|------------|-------------------------| | `crop_size (int \| list[int] \| tuple[int])` | 裁剪区域的目标大小。如果为`None`,裁剪区域将不会被调整大小 | `None` | | `aspect_ratio (list[float],可选)` | 以[min, max]格式显示裁剪区域的纵横比 | `[.5, 2.]` | | `thresholds (list[float],可选)` | IoU 阈值,用于决定有效的 bbox 裁剪 | `[.0,.1, .3, .5, .7, .9]` | | `scaling (list[float], 可选)` | 裁剪区域与原始图像之间的比例,格式为[min, max] | `[.3, 1.]` | | `num_attempts (int,可选)` | 放弃前的最大尝试次数 | `50` | | `allow_no_crop (bool,可选)` | 是否允许不进行裁剪而返回 | `True` | | `cover_all_box (bool,可选)` | 是否强制覆盖整个目标框 | `False` | ## `RandomDistort` | 参数名 | 描述 | 默认值 | |---------------------------|-----------------------------|-------| | `brightness_range (float,可选)` | 亮度失真范围 | `.5` | | `brightness_prob (float,可选)` | 亮度失真的概率 | `.5` | | `contrast_range (float, 可选)` | 对比度失真范围 | `.5` | | `contrast_prob (float, 可选)` | 对比度失真的概率 | `.5` | | `saturation_range (float,可选)` | 饱和失真范围 | `.5` | | `saturation_prob (float,可选)` | 饱和失真的概率 | `.5` | | `hue_range (float,可选)` | 色调失真范围 | `.5` | | `hue_prob (float,可选)`| 色相失真的概率 | `.5` | | `random_apply (bool,可选)` | 以随机( Yolo )或固定( SSD )顺序应用转换 | `True` | | `count (int,可选)` | 用于控制扭曲次数 | `4` | | `shuffle_channel (bool,可选)` | 是否随机交换通道 | `False` | ## `RandomExpand` 根据随机偏移扩展输入影像。 | 参数名 | 描述 | 默认值 | |---------------------------------|--------------|---------------------| | `upper_ratio (float,可选)` | 原始图像扩展到的最大比例 | `4` | | `prob (float,可选)` | 应用扩展的概率 | `.5` | | `im_padding_value (list[float] \| tuple[float],可选)` | 图像的 RGB 填充值 | `(127.5,127.5,127.5)` | | `label_padding_value (int,可选)` | 掩码的填充值 | `255` | ## `RandomHorizontalFlip` 随机水平翻转输入影像。 | 参数名 | 描述 | 默认值 | |--------------------------------------------------|-----------|---------------------| | `prob (float,可选)` | 翻转输入的概率 | `.5` | ## `RandomResize` 随机调整输入影像大小。 | 参数名 | 描述 | 默认值 | |---------------------------| ------------------------------------------------------------ | ---------- | | `Target_sizes (list[int] \| list[list\|tuple] \| tuple[list \| tuple])` | 多个目标大小,每个目标大小应该是`int`、`list`或`tuple` | | | `interp (str,可选)` | 调整图像大小的插值方法。{`'NEAREST'`, `'LINEAR'`, `'CUBIC'`, `'AREA'`, `'LANCZOS4'`, `'RANDOM'`}之一 | `'LINEAR'` | ## `RandomResizeByShort` 随机调整输入影像大小,保持纵横比不变(根据短边计算缩放系数)。 | 参数名 | 描述 | 默认值 | |---------------------------|-----------|-------| | `short_sizes (list[int])` | 图像较短一侧的目标大小| | | `max_size (int,可选)` |图像长边的上界。如果`'max_size'`为`-1`,则不应用上限 | `-1` | | `interp (str,可选)` | 调整图像大小的插值方法。{`'NEAREST'`, `'LINEAR'`, `'CUBIC'`, `'AREA'`, `'LANCZOS4'`, `'RANDOM'`}之一 | `'LINEAR'` | ## `RandomScaleAspect` 裁剪输入影像并重新缩放到原始尺寸。 | 参数名 | 描述 | 默认值 | |-------------------------------------------------------------------|-----------|--------| | `min_scale (float)`| 裁剪区域与原始图像之间的最小比例。如果为`0`,图像将不会被裁剪| `0` | | `aspect_ratio (float)` |裁剪区域的纵横比 | `.33` | ## `RandomSwap` 随机交换两个时相的输入影像。 | 参数名 | 描述 | 默认值 | |-------------------------------------------------------------------|-----------|-----| |`prob (float,可选)`| 交换输入图像的概率 | `0.2` | ## `RandomVerticalFlip` 随机竖直翻转输入影像。 | 参数名 | 描述 | 默认值 | |------------------------------------------------------------------|-----------|-----| |`prob (float,可选)`| 翻转输入的概率| `.5` | ## `ReduceDim` 对输入图像进行波段降维。 | 参数名 | 描述 | 默认值 | |-------------------------------------------------------------------|----------------|------| |`joblib_path (str)`| *.joblib 文件的路径 | | |`apply_to_tar (bool,可选)` | 是否对目标图像应用数据变换算子 | `True` | ## `Resize` 调整输入影像大小。 -如果' target_size '是int,将图像大小调整为(' target_size ', ' target_size ')`。 -如果' target_size '是一个列表或元组,将图像大小调整为' target_size '。 注意:如果' interp '为'RANDOM',则插值方法将随机选择。 | 参数名 | 描述 | 默认值 | |--------------------|------------|----------| | `target_size (int \| list[int] \| tuple[int])` |目标大小。如果它是一个整数,目标高度和宽度都将被设置为`'target_size'`。否则,`'target_size'`表示[目标高度,目标宽度]| | | `interp (str,可选)` | 调整图像大小的插值方法。{`'NEAREST'`, `'LINEAR'`, `'CUBIC'`, `'AREA'`, `'LANCZOS4'`, `'RANDOM'`}之一 | `'LINEAR'` | | `keep_ratio (bool,可选)` | 如果为`True`,宽度和高度的比例因子将被设置为相同的值,调整图像的高度/宽度将不大于目标宽度/高度 | `False` | ## `ResizeByLong` 调整输入影像大小,保持纵横比不变(根据长边计算缩放系数)。 | 参数名 | 描述 | 默认值 | |--------------------------------------------|-----------|----------| | `long_size (int)`|图像较长一侧的目标大小| | | `interp (str,可选)` | 调整图像大小的插值方法。{`'NEAREST'`, `'LINEAR'`, `'CUBIC'`, `'AREA'`, `'LANCZOS4'`, `'RANDOM'`}之一 | `'LINEAR'` | ## `ResizeByShort` 调整输入影像大小,保持纵横比不变(根据短边计算缩放系数)。 | 参数名 | 描述 | 默认值 | |-----------------------|-----------|----------| | `short_size (int)` |图像较短一侧的目标大小| | | `mamax_size (int,可选)` | 图像长边的上界。如果`'max_size'`为`-1`,则不应用上限 | `-1` | | `interp (str,可选)` | 调整图像大小的插值方法。{`'NEAREST'`, `'LINEAR'`, `'CUBIC'`, `'AREA'`, `'LANCZOS4'`, `'RANDOM'`}之一 | `'LINEAR'` | ## `SelectBand` 对输入影像进行波段选择。 | 参数名 | 描述 | 默认值 | |------------------|------------------|----------| | `band_list (list,可选)` | 要选择的波段(波段索引从1开始) | `[1,2,3]` | | `apply_to_tar (bool,可选)`| 是否将转换应用到目标图像 | `True` |