Using detectron2 to train Mask RCNN custom instance segmentation to find confusion matrix, f1 score, IOU

52 views Asked by At

I am using detectron2 and pytorch for doing a custom object detection (Mask RCNN). Evaluation result So, above image is the evaluation result for my training. How to code for the accuracy, precision, F1 score and confusion matrix? The training code I take from https://github.com/ahmad12hamdan99/Rovers_vs_Cars/blob/main/detectron2.ipynb

Below I show example code of training, also get from above link

trainer = DefaultTrainer(cfg) 
trainer.resume_or_load(resume=False)
trainer.train()

# Look at training curves in tensorboard:
%reload_ext tensorboard
%tensorboard --logdir $OUTPUT_DIR_PATH

cfg.MODEL.WEIGHTS = os.path.join(cfg.OUTPUT_DIR, 
"model_final.pth")
cfg.MODEL.ROI_HEADS.SCORE_THRESH_TEST = 0.7
predictor = DefaultPredictor(cfg)

dataset_valid = DatasetCatalog.get(VALID_DATA_SET_NAME)

for d in dataset_valid: 
    img = cv2.imread(d["file_name"])
    outputs = predictor(img)
    
    visualizer = Visualizer(
        img[:, :, ::-1],
        metadata=metadata, 
        scale=0.8, 
        instance_mode=ColorMode.IMAGE_BW
    )
    out = 





  visualizer.draw_instance_predictions(outputs["instances"].
       to("cpu"))cv2_imshow(out.get_image()[:, :, ::-1])

from detectron2.evaluation import COCOEvaluator, 
 inference_on_dataset
from detectron2.data import build_detection_test_loader
evaluator = COCOEvaluator("Segmentation-test", 
output_dir=cfg.OUTPUT_DIR)
val_loader = build_detection_test_loader(cfg, "Segmentation-test")
print(inference_on_dataset(predictor.model, val_loader, evaluator))
0

There are 0 answers