Exemple #1
0
def visualize_mask_samples(dataset_train):
    image_ids = [0, 1, 2, 3]
    for image_id in image_ids:
        image = dataset_train.load_image(image_id)
        mask, class_ids = dataset_train.load_mask(image_id)
        visualize.display_top_masks(image, mask, class_ids,
                                    dataset_train.class_names)
Exemple #2
0
 def visualize_dataset(self, dataset, nbImages):
     try:
         image_ids = np.random.choice(dataset.image_ids, nbImages)
         for image_id in image_ids:
             image = dataset.load_image(image_id, 0)[:, :, :3]
             mask, class_ids = dataset.load_mask(image_id)
             visualize.display_top_masks(image, mask, class_ids,
                                         dataset.class_names)
     except Exception as e:
         print('Error-Could not visualize dataset: ' + str(e))
def visualize_data(data):
    image_ids = data.image_ids[:10]
    for image_id in image_ids:
        image = data.load_image(image_id)
        mask, class_ids = data.load_mask(image_id)
        #print(class_ids)

        make_save("debug/%s" % image_id)
        visualize.display_top_masks(image,
                                    mask,
                                    class_ids,
                                    data.class_names,
                                    limit=1)
Exemple #4
0
dataset_train.load_shapes(500, config.IMAGE_SHAPE[0], config.IMAGE_SHAPE[1])
dataset_train.prepare()

# Validation dataset
dataset_val = ShapesDataset()
dataset_val.load_shapes(50, config.IMAGE_SHAPE[0], config.IMAGE_SHAPE[1])
dataset_val.prepare()

# In[6]:

# Load and display random samples
image_ids = np.random.choice(dataset_train.image_ids, 4)
for image_id in image_ids:
    image = dataset_train.load_image(image_id)
    mask, class_ids = dataset_train.load_mask(image_id)
    visualize.display_top_masks(image, mask, class_ids,
                                dataset_train.class_names)

# ## Ceate Model

# In[ ]:

# Create model in training mode
model = modellib.MaskRCNN(mode="training", config=config, model_dir=MODEL_DIR)

# In[7]:

# Which weights to start with?
init_with = "coco"  # imagenet, coco, or last

if init_with == "imagenet":
    model.load_weights(model.get_imagenet_weights(), by_name=True)
dataset_train = ShapesDataset()
dataset_train.load_shapes(500, config.IMAGE_SHAPE[0], config.IMAGE_SHAPE[1])
dataset_train.prepare()

# Validation dataset
dataset_val = ShapesDataset()
dataset_val.load_shapes(50, config.IMAGE_SHAPE[0], config.IMAGE_SHAPE[1])
dataset_val.prepare()


# Load and display random samples
image_ids = np.random.choice(dataset_train.image_ids, 4)
for image_id in image_ids:
    image = dataset_train.load_image(image_id)
    mask, class_ids = dataset_train.load_mask(image_id)
    visualize.display_top_masks(image, mask, class_ids, dataset_train.class_names, target=VIS_DIR+"rnd_smpl_" + str(image_id) + ".jpg" )


##########################################
######         CREATE MODEL         ######
##########################################

# Create model in training mode
model = modellib.MaskRCNN(mode="training", config=config,
                          model_dir=MODEL_DIR)


# Which weights to start with?
init_with = "coco"  # imagenet, coco, or last

if init_with == "imagenet":
dataset_train = NucleiDataset()
dataset_train.load_nuclei()
dataset_train.prepare()

dataset_val = NucleiDataset()
dataset_val.load_nuclei()
dataset_val.prepare()

# Load and display a test
for i in range(0,10):
        TRAIN_PATH = '../stage1_train/'
        image = dataset_train.load_image(i)
        mask, class_ids = dataset_train.load_mask(i)
        print(class_ids)
        visualize.display_top_masks(image, mask, class_ids,['background','nuclei'])
        
# Create model in training mode
model = modellib.MaskRCNN(mode="training", config=config,
                          model_dir=MODEL_DIR)

# Which weights to start with?
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":
            # Load weights trained on MS COCO, but skip layers that
            # are different due to the different number of classes
            # See README for instructions to download the COCO weights
            model.load_weights(COCO_MODEL_PATH, by_name=True,
    data = MujocoData(None)
    data.load(name)
    data.load_mujoco(-1)
    data.prepare()
    return data
    #just makes a basic mujoco dataset


if __name__ == '__main__':

    fn = 'dataset.pickle'
    if not os.path.exists(fn):
        data = make_dataset(count=256)
        data.save(fn)
    else:
        data = load_dataset(fn)

    print('loaded dataset')

    image_ids = data.image_ids[:10]
    for image_id in image_ids:
        image = data.load_image(image_id)
        mask, class_ids = data.load_mask(image_id)

        make_save("%s" % image_id)
        visualize.display_top_masks(image,
                                    mask,
                                    class_ids,
                                    data.class_names,
                                    limit=2)
Exemple #8
0
                          Validate,
                          learning_rate=config.LEARNING_RATE / 10,
                          epochs=100,
                          layers="all")

    if 0:
        image_ids = np.random.choice([
            tid for tid in Train.image_ids if Train.load_mask(tid)[1][0] == 2
        ], 4)
        for image_id in image_ids:
            image = Train.load_image(image_id)
            mask, class_ids = Train.load_mask(image_id)
            print(mask.shape, class_ids, image.shape)
            visualize.display_top_masks(image,
                                        mask,
                                        class_ids,
                                        Train.class_names,
                                        limit=len(class_ids))

    class InferenceConfig(RSNAConfig):
        GPU_COUNT = 1
        IMAGES_PER_GPU = 1

    inference_config = InferenceConfig()

    if 0:
        # Load trained weights
        # Recreate the model in inference mode
        model = modellib.MaskRCNN(mode="inference",
                                  config=inference_config,
                                  model_dir="./model")