I have some questions about the iou function in train.py.
According to literature, for segmentation tasks it is computed as the intersection over union and it should be the mean over the number of classes for multiclass segmentation.
- Why do you compute union as
tot_class_preds + tot_class_labels - intersection? I think it's wrong because the union should be just tot_class_preds + tot_class_labels...
- Why do you exclude the background class in the iou computation?
Plus, I suggest to add sorted in the dataloader to ensure that images and masks are loaded in correct order (otherwise the pairing may not be right):
self.imgs_files = sorted(glob.glob(os.path.join(folder_path,'Images','*.*')))
self.masks_files = sorted(glob.glob(os.path.join(folder_path,'Masks','*.*')))
I have some questions about the
ioufunction intrain.py.According to literature, for segmentation tasks it is computed as the intersection over union and it should be the mean over the number of classes for multiclass segmentation.
tot_class_preds + tot_class_labels - intersection? I think it's wrong because the union should be justtot_class_preds + tot_class_labels...Plus, I suggest to add
sortedin the dataloader to ensure that images and masks are loaded in correct order (otherwise the pairing may not be right):