mmagic.datasets.transforms.trimap
¶
Augmentation on trimaps.
Module Contents¶
Classes¶
Convert trimap (tensor) to one-hot representation. |
|
Using random erode/dilate to generate trimap from alpha matte. |
|
Generate trimap with distance transform function. |
|
Transform trimap into two-channel and six-channel. |
- class mmagic.datasets.transforms.trimap.FormatTrimap(to_onehot=False)[source]¶
Bases:
mmcv.transforms.BaseTransform
Convert trimap (tensor) to one-hot representation.
It transforms the trimap label from (0, 128, 255) to (0, 1, 2). If
to_onehot
is set to True, the trimap will convert to one-hot tensor of shape (3, H, W). Required key is “trimap”, added or modified key are “trimap” and “format_trimap_to_onehot”.- Parameters
to_onehot (bool) – whether convert trimap to one-hot tensor. Default:
False
.
- class mmagic.datasets.transforms.trimap.GenerateTrimap(kernel_size, iterations=1, random=True)[source]¶
Bases:
mmcv.transforms.BaseTransform
Using random erode/dilate to generate trimap from alpha matte.
Required key is “alpha”, added key is “trimap”.
- Parameters
kernel_size (int | tuple[int]) – The range of random kernel_size of erode/dilate; int indicates a fixed kernel_size. If random is set to False and kernel_size is a tuple of length 2, then it will be interpreted as (erode kernel_size, dilate kernel_size). It should be noted that the kernel of the erosion and dilation has the same height and width.
iterations (int | tuple[int], optional) – The range of random iterations of erode/dilate; int indicates a fixed iterations. If random is set to False and iterations is a tuple of length 2, then it will be interpreted as (erode iterations, dilate iterations). Default to 1.
random (bool, optional) – Whether use random kernel_size and iterations when generating trimap. See kernel_size and iterations for more information. Default to True.
- class mmagic.datasets.transforms.trimap.GenerateTrimapWithDistTransform(dist_thr=20, random=True)[source]¶
Bases:
mmcv.transforms.BaseTransform
Generate trimap with distance transform function.
- Parameters
dist_thr (int, optional) – Distance threshold. Area with alpha value between (0, 255) will be considered as initial unknown area. Then area with distance to unknown area smaller than the distance threshold will also be consider as unknown area. Defaults to 20.
random (bool, optional) – If True, use random distance threshold from [1, dist_thr). If False, use dist_thr as the distance threshold directly. Defaults to True.
- class mmagic.datasets.transforms.trimap.TransformTrimap[source]¶
Bases:
mmcv.transforms.BaseTransform
Transform trimap into two-channel and six-channel.
This class will generate a two-channel trimap composed of definite foreground and background masks and encode it into a six-channel trimap using Gaussian blurs of the generated two-channel trimap at three different scales. The transformed trimap has 6 channels.
Required key is “trimap”, added key is “transformed_trimap” and “two_channel_trimap”.
Adopted from the following repository: https://github.com/MarcoForte/FBA_Matting/blob/master/networks/transforms.py.