Beispiel #1
0
ignores = ignore_categories(train_data)

ds = COCODoomDataset(JSON, ROOT, batch_size=1, ignored_class_ids=ignores)
net = fcnn.build(ds.num_classes)
net.load_weights("checkpoint_best.h5")

vis = Visualizer(ds.num_classes)
writer = imageio.get_writer("COCODoomOutput_{}FPS_LVL{}.mp4".format(FPS, LVL), fps=FPS)

for i, (X, [y]) in enumerate(ds.stream(shuffle=False, level=LVL, sparse_y=False)):
    image_restored = np.clip(X[0] * 255 + 50, 0, 255).astype("uint8")

    pred = net.predict(X)[0]
    delta = sparse_categorical_crossentropy(pred, y, ds.num_classes)

    gt = vis.colorify_mask(y)
    dt = vis.colorify_mask(pred)

    gt = set_title(gt, "Label")
    overlayed = overlay(image_restored.copy(), dt)
    overlayed = set_title(overlayed, "Detection overlayed")
    delta = set_title((delta*255).astype("uint8"), "Detection error")
    image_restored = set_title(image_restored, "Image")

    top = np.concatenate([image_restored, gt], axis=1)
    bot = np.concatenate([overlayed, delta], axis=1)
    display = np.concatenate([top, bot], axis=0)
    display = cv2.resize(display, (0, 0), fx=1.5, fy=1.5, interpolation=cv2.INTER_CUBIC)

    writer.append_data(cv2.cvtColor(display, cv2.COLOR_BGR2RGB))