RandomElasticTransform
classkeras.layers.RandomElasticTransform(
factor=1.0,
scale=1.0,
interpolation="bilinear",
fill_mode="reflect",
fill_value=0.0,
value_range=(0, 255),
seed=None,
data_format=None,
**kwargs
)
A preprocessing layer that applies random elastic transformations.
This layer distorts input images by applying elastic deformations,
simulating a physically realistic transformation. The magnitude of the
distortion is controlled by the scale
parameter, while the factor
determines the probability of applying the transformation.
Arguments
factor
controls the probability of applying the transformation.factor=0.0
ensures no erasing is applied.factor=1.0
means erasing is always applied.(min, max)
is provided, a probability value
is sampled between min
and max
for each image.0.0
and the given float.
Default is 1.0.(min, max)
is provided, a random scale value is
sampled within this range.0.0
and the given float.
Default is 1.0."nearest"
,
"bilinear"
."constant"
,
"nearest"
, "wrap"
and "reflect"
. Defaults to "constant"
."reflect"
: (d c b a | a b c d | d c b a)
The input is extended by reflecting about the edge of the last
pixel."constant"
: (k k k k | a b c d | k k k k)
The input is extended by filling all values beyond
the edge with the same constant value k specified by
fill_value
."wrap"
: (a b c d | a b c d | a b c d)
The input is extended by wrapping around to the opposite edge."nearest"
: (a a a a | a b c d | d d d d)
The input is extended by the nearest pixel.
Note that when using torch backend, "reflect"
is redirected to
"mirror"
(c d c b | a b c d | c b a b)
because torch does not
support "reflect"
.
Note that torch backend does not support "wrap"
.fill_mode="constant"
.[low, high]
. This is
typically either [0, 1]
or [0, 255]
depending on how your
preprocessing pipeline is set up.