JitteredResize
类keras_cv.layers.JitteredResize(
target_size,
scale_factor,
crop_size=None,
bounding_box_format=None,
interpolation="bilinear",
seed=None,
**kwargs
)
JitteredResize 实现带有尺度失真的缩放。
JitteredResize 采用三步法来实现基于尺度失真的图像增强。这种技术专门针对目标检测管道进行调整。该层接受图像和边界框的输入,两者都可能是参差不齐的。它输出一个密集的图像张量,可以立即馈送到模型以进行训练。因此,该层通常将是增强管道中的最后一步。
增强过程如下
图像首先根据随机采样的尺度因子进行缩放。然后根据采样的尺度调整图像的宽度和高度。这样做是为了在图像中特征的局部尺度中引入噪声。然后根据 crop_size
随机裁剪图像的子集。然后对该裁剪进行填充以成为 target_size
。边界框根据随机缩放和随机裁剪进行平移和缩放。
参数
keras_cv.FactorSampler
。对于每个增强图像,从提供的范围中采样一个值。该因子用于缩放输入图像。要复制 MaskRCNN 论文的结果,请传递 (0.8, 1.25)
。target_size
。"bilinear"
。支持 "bilinear"
、"nearest"
、"bicubic"
、"area"
、"lanczos3"
、"lanczos5"
、"gaussian"
、"mitchellcubic"
。示例
train_ds = load_object_detection_dataset()
jittered_resize = layers.JitteredResize(
target_size=(640, 640),
scale_factor=(0.8, 1.25),
bounding_box_format="xywh",
)
train_ds = train_ds.map(
jittered_resize, num_parallel_calls=tf.data.AUTOTUNE
)
# images now are (640, 640, 3)
# an example using crop size
train_ds = load_object_detection_dataset()
jittered_resize = layers.JitteredResize(
target_size=(640, 640),
crop_size=(250, 250),
scale_factor=(0.8, 1.25),
bounding_box_format="xywh",
)
train_ds = train_ds.map(
jittered_resize, num_parallel_calls=tf.data.AUTOTUNE
)
# images now are (640, 640, 3), but they were resized from a 250x250 crop.