コード例 #1
0
ファイル: gfl_coco.py プロジェクト: sbl1996/hanser
def transform(example, output_size=(HEIGHT, WIDTH), training=True):
    image, objects, image_id = decode(example)

    # if training:
    #     image = random_resize(image, output_size, ratio_range=(0.8, 1.2))
    #     image, objects = random_crop(image, objects, output_size)
    #     image, objects = random_hflip(image, objects, 0.5)
    # else:
    image = resize(image, output_size)

    image = normalize(image, [123.68, 116.779, 103.939],
                      [58.393, 57.12, 57.375])
    image, objects = pad_to(image, objects, output_size)

    gt_bboxes, gt_labels = get(['gt_bbox', 'gt_label'], objects)
    gt_bboxes = coords_to_absolute(gt_bboxes, tf.shape(image)[:2])

    bbox_targets, labels = atss_match(gt_bboxes,
                                      gt_labels,
                                      anchors,
                                      num_level_bboxes,
                                      topk=9,
                                      centerness=False)

    return image, {
        'bbox_target': bbox_targets,
        'label': labels,
        'image_id': image_id
    }
コード例 #2
0
ファイル: test_atss.py プロジェクト: sbl1996/hanser
def preprocess(example, output_size=(HEIGHT, WIDTH), max_objects=50, training=True):
    image, objects, image_id = decode(example)

    if training:
        image = random_resize(image, output_size, ratio_range=(0.5, 2.0))
        image, objects = random_crop(image, objects, output_size)
        image, objects = random_hflip(image, objects, 0.5)
    else:
        image = resize(image, output_size)

    image = normalize(image, [123.68, 116.779, 103.939], [58.393, 57.12, 57.375])
    image, objects = pad_to(image, objects, output_size)

    gt_bboxes, gt_labels = get(['gt_bbox', 'gt_label'], objects)
    gt_bboxes = coords_to_absolute(gt_bboxes, tf.shape(image)[:2])
    objects = {**objects, 'gt_bbox': gt_bboxes}

    bbox_targets, labels, centerness = atss_match(
        gt_bboxes, gt_labels, anchors, num_level_bboxes, topk=9, centerness=True)

    objects = pad_objects(objects, max_objects)

    image = tf.cast(image, tf.bfloat16)
    return image, {'bbox_target': bbox_targets, 'label': labels, 'centerness': centerness,
                   **objects, 'image_id': image_id}
コード例 #3
0
ファイル: retinanet_voc.py プロジェクト: sbl1996/hanser
def preprocess(example,
               output_size=(HEIGHT, WIDTH),
               max_objects=50,
               training=True):
    image, objects, image_id = decode(example)

    # if training:
    #     image = random_resize(image, output_size, ratio_range=(0.8, 1.2))
    #     image, objects = random_crop(image, objects, output_size)
    #     image, objects = random_hflip(image, objects, 0.5)
    # else:
    image = resize(image, output_size)

    image = normalize(image, [123.68, 116.779, 103.939],
                      [58.393, 57.12, 57.375])
    image, objects = pad_to(image, objects, output_size)

    gt_bboxes, gt_labels = get(['gt_bbox', 'gt_label'], objects)
    gt_bboxes = coords_to_absolute(gt_bboxes, tf.shape(image)[:2])
    objects = {**objects, 'gt_bbox': gt_bboxes}

    bbox_targets, labels, ignore = max_iou_match(gt_bboxes,
                                                 gt_labels,
                                                 bbox_coder,
                                                 pos_iou_thr=0.5,
                                                 neg_iou_thr=0.4)

    objects = pad_objects(objects, max_objects)

    return image, {
        'bbox_target': bbox_targets,
        'label': labels,
        'ignore': ignore,
        **objects, 'image_id': image_id
    }
コード例 #4
0
    def transform(image, label, training):
        image = pad(image, 2)
        image, label = to_tensor(image, label)
        image = normalize(image, [0.1307], [0.3081])

        label = tf.one_hot(label, 10)

        return image, label
コード例 #5
0
ファイル: PyramidNet-200-a240.py プロジェクト: sbl1996/hanser
def transform(image, label, training):

    if training:
        image = random_crop(image, (32, 32), (4, 4))
        image = tf.image.random_flip_left_right(image)

    image, label = to_tensor(image, label)
    image = normalize(image, [0.491, 0.482, 0.447], [0.247, 0.243, 0.262])

    label = tf.one_hot(label, 100)

    return image, label
コード例 #6
0
def transform(image, label, training):

    if training:
        image = random_crop(image, (32, 32), (4, 4))
        image = tf.image.random_flip_left_right(image)
        image = autoaugment(image, "CIFAR10")

    image, label = to_tensor(image, label)
    image = normalize(image, [0.491, 0.482, 0.447], [0.247, 0.243, 0.262])

    if training:
        image = random_apply(cutout(length=16), params['cutout_prob'], image)

    label = tf.one_hot(label, 100)

    return image, label
コード例 #7
0
ファイル: gdas.py プロジェクト: sbl1996/tfnas
def transform(image, label, training):

    if training:
        image = random_crop(image, (32, 32), (4, 4))
        image = tf.image.random_flip_left_right(image)
        # image = autoaugment(image, "CIFAR10")

    image, label = to_tensor(image, label)
    image = normalize(image, [0.491, 0.482, 0.447], [0.247, 0.243, 0.262])

    # if training:
    #     image = cutout(image, 16)

    label = tf.one_hot(label, 10)

    return image, label
コード例 #8
0
ファイル: test_imagenet_input.py プロジェクト: sbl1996/hanser
def transform(image, label, training):
    if training:
        image = random_resized_crop(image,
                                    160,
                                    scale=(0.05, 1.0),
                                    ratio=(0.75, 1.33))
        image = tf.image.random_flip_left_right(image)
    else:
        image = resize(image, int(256 / 224 * 224))
        image = center_crop(image, 224)

    image, label = to_tensor(image, label, label_offset=1)
    image = normalize(image, [0.485, 0.456, 0.406], [0.229, 0.224, 0.225])

    label = tf.one_hot(label, 1000)
    return image, label
コード例 #9
0
def preprocess(example,
               output_size=(HEIGHT, WIDTH),
               max_objects=50,
               training=True):
    image, objects, image_id = decode(example)

    # if training:
    # image = random_resize(image, output_size, ratio_range=(0.8, 1.2))
    # image, objects = random_crop(image, objects, output_size)
    # image, objects = random_hflip(image, objects, 0.5)
    # else:
    image = resize(image, output_size)

    image = normalize(image, [123.68, 116.779, 103.939],
                      [58.393, 57.12, 57.375])
    image, objects = pad_to(image, objects, output_size)

    gt_bboxes, gt_labels, is_difficults = get(
        ['bbox', 'label', 'is_difficult'], objects)
    gt_bboxes = coords_to_absolute(gt_bboxes, tf.shape(image)[:2])

    assigned_gt_inds = atss_assign(anchors,
                                   num_level_bboxes,
                                   gt_bboxes,
                                   topk=9)
    bbox_targets, labels, centerness, ignore = encode_target(gt_bboxes,
                                                             gt_labels,
                                                             assigned_gt_inds,
                                                             bbox_coder,
                                                             encode_bbox=False,
                                                             centerness=True)

    gt_bboxes = pad_to_fixed_size(gt_bboxes, max_objects)
    gt_labels = pad_to_fixed_size(gt_labels, max_objects)
    is_difficults = pad_to_fixed_size(is_difficults, max_objects)

    # image = tf.cast(image, tf.bfloat16)
    return image, {
        'bbox_target': bbox_targets,
        'label': labels,
        'ignore': ignore,
        'centerness': centerness,
        'gt_bbox': gt_bboxes,
        'gt_label': gt_labels,
        'is_difficult': is_difficults,
        'image_id': image_id
    }
コード例 #10
0
ファイル: fcos_voc.py プロジェクト: sbl1996/hanser
def preprocess(example,
               output_size=(HEIGHT, WIDTH),
               max_objects=50,
               training=True):
    image, objects, image_id = decode(example)

    # if training:
    #     image = random_resize(image, output_size, ratio_range=(0.8, 1.2))
    #     image, objects = random_crop(image, objects, output_size)
    #     image, objects = random_hflip(image, objects, 0.5)
    # else:
    image = resize(image, output_size)

    image = normalize(image, [123.68, 116.779, 103.939],
                      [58.393, 57.12, 57.375])
    image, objects = pad_to(image, objects, output_size)

    gt_bboxes, gt_labels = get(['gt_bbox', 'gt_label'], objects)
    gt_bboxes = coords_to_absolute(gt_bboxes, tf.shape(image)[:2])
    objects = {**objects, 'gt_bbox': gt_bboxes}

    bbox_targets, labels, centerness = fcos_match(gt_bboxes,
                                                  gt_labels,
                                                  points,
                                                  num_level_points,
                                                  strides=strides,
                                                  radius=0.5)

    objects = pad_objects(objects, max_objects)

    return image, {
        'bbox_target': bbox_targets,
        'label': labels,
        'centerness': centerness,
        **objects, 'image_id': image_id
    }
コード例 #11
0
ファイル: test_gumbel.py プロジェクト: sbl1996/hanser
def transform(x, y, training):
    x, y = to_tensor(x, y, vmax=16)
    x = normalize(x, [4.8842], [6.0168])
    return x, y
コード例 #12
0
ファイル: test_preprocess.py プロジェクト: sbl1996/hanser
                                                 skip_prefetch=True))

it = iter(ds_train)

example = next(it)

image, objects, image_id = decode(example)

# if training:
#     image = random_resize(image, output_size, ratio_range=(0.8, 1.2))
#     image, objects = random_crop(image, objects, output_size)
#     image, objects = random_hflip(image, objects, 0.5)
# else:
image = resize(image, output_size)

image = normalize(image, [123.68, 116.779, 103.939], [58.393, 57.12, 57.375])
image, objects = pad_to(image, objects, output_size)

gt_bboxes, gt_labels = get(['gt_bbox', 'gt_label'], objects)
gt_bboxes = coords_to_absolute(gt_bboxes, tf.shape(image)[:2])
objects = {**objects, 'gt_bbox': gt_bboxes}

bbox_targets, labels, centerness = atss_match(gt_bboxes,
                                              gt_labels,
                                              anchors,
                                              num_level_bboxes,
                                              topk=9,
                                              centerness=True)

objects = pad_objects(objects, max_objects)