Exemplo n.º 1
0
annotations_dir = os.path.join('competition_data', 'val_annotations')
annotations_files = sorted(os.listdir(annotations_dir))

annotation = []
for file in annotations_files:
    with open(os.path.join(annotations_dir,file)) as f:
        data = json.load(f)
        annotation.append(data)

#SSDインポート
from ssd import SSD

ssd = SSD("ssd_7")
models_dir = os.path.join(".", "trained_models")
model_path = os.path.join(models_dir, "ssd7.h5")
ssd.load_weights(model_path)

def plot_bbox(img, gt, out):
    # グラフサイズの指定
    plt.figure(figsize=(11,11))

    # 衛星データを表示(BGR->RGB)
    plt.imshow(img[:,:,::-1])

    # 今操作したいaxis(画像)を選択
    current_axis = plt.gca()

    # 正解となるbboxを可視化(赤色で表示)
    for label in gt["labels"]:
        # バウンディングボックスの座標から始点と幅、高さを算出し、四角形を生成
        xmin = label["box2d"]["x1"]
Exemplo n.º 2
0
        raise ValueError(
            "Wrong or unsupported dataset. Available 'COCO' or 'VOC'")
    print("\n\Testing on %s dataset" % (DATASET_NAME + TESTSET_YEAR))
    dataset.show_info()
    _ = input("Press Enter to continue...")

    ## 2. Dataloader initialization
    print("\t2. Dataloader initialization...")
    dataloader = Dataloader(dataset, TEST_SIZE)
    test_generator = dataloader.generate_batch("test")

    ## 3. Network initialization
    print("\t3. Network initialization...")
    ssd = SSD(num_classes=len(dataset.label_ids) + 1, input_shape=INPUT_SHAPE)
    latest = tf.train.latest_checkpoint(CHECKPOINT_DIR)
    ssd.load_weights(latest)
    ssd.summary()
    _ = input("Press Enter to continue...")

    ## 4. Generate default boxes
    print("\t4. Default boxes generation...")
    fm_shapes = ssd.output_shape
    aspect_ratios = ASPECT_RATIOS
    scales = SCALES
    default_boxes = Image.generate_default_boxes(fm_shapes, aspect_ratios,
                                                 scales)
    # ---------------------------------------------------------------- #

    print("Initialization completed!")
    print("Start Testing...")