示例#1
0
#     mask, class_ids = dataset.load_mask(image_id)
#     mr_utils.display_top_masks(image, mask, class_ids, dataset.class_names)

# image_id = random.choice(dataset.image_ids)
# image = dataset.load_image(image_id)
# mask, class_ids = dataset.load_mask(image_id)
# bbox = mr_utils.extract_bboxes(mask)
# print("image_id ", image_id, dataset.image_reference(image_id))
# mr_utils.log("image", image)
# mr_utils.log("mask", mask)
# mr_utils.log("class_ids", class_ids)
# mr_utils.log("bbox", bbox)
# # Display image and instances
# mr_utils.display_instances(image, bbox, mask, class_ids, dataset.class_names)

model = mr_net.MaskRCNN(mode="training", config=config, model_dir="logs/")

init_with = "coco"  # imagenet, coco, or last

if init_with == "imagenet":
    model.load_weights(model.get_imagenet_weights(), by_name=True)
elif init_with == "coco":
    model.load_weights("utils/mask_rcnn_coco.h5",
                       by_name=True,
                       exclude=[
                           "mrcnn_class_logits", "mrcnn_bbox_fc", "mrcnn_bbox",
                           "mrcnn_mask"
                       ])
elif init_with == "last":
    model.load_weights(model.find_last(), by_name=True)
示例#2
0
    gray = skimage.color.gray2rgb(skimage.color.rgb2gray(image)) * 255
    # Copy color pixels from the original color image where mask is set
    if mask.shape[-1] > 0:
        # We're treating all instances as one, so collapse the mask into one layer
        mask = (np.sum(mask, -1, keepdims=True) >= 1)
        splash = np.where(mask, image, gray).astype(np.uint8)
    else:
        splash = gray.astype(np.uint8)
    return splash


inference_config = InferenceConfig()

# Recreate the model in inference mode
model = mr_net.MaskRCNN(mode="inference",
                        config=inference_config,
                        model_dir="logs/")

# Get path to saved weights
# Either set a specific path or find last trained weights
# model_path = os.path.join(ROOT_DIR, ".h5 file name here")
model_path = "utils/mask_rcnn_balloon.h5"  #model.find_last()

# Load trained weights
print("Loading weights from ", model_path)
model.load_weights(model_path, by_name=True)

# Read image
image = skimage.io.imread("../testImages/12.jpg")
# Detect objects
r = model.detect([image], verbose=1)[0]