图像语义分割。一个基于python语言的深度学习模型,我使用自制的带标签文件的手掌图像数据集(既有原始图像,还有对应的蒙板图像)训练出来的模型,能够得到较好的miou等指标。现在想要让它在公开数据集(公开数据集和自制数据集都只是含有手掌图像)上跑一下,看看miou效果咋样,但是这个公开数据集只有原始图像文件,没有蒙板文件。具体应该怎么操作?或者应该怎么调整程序代码?下面是get_miou的代码
name_classes = ["_background_","palm"]
VOCdevkit_path = 'VOCdevkit'
image_ids = open(os.path.join(VOCdevkit_path, "VOC2007/ImageSets/Segmentation/val.txt"),'r').read().splitlines()
gt_dir = os.path.join(VOCdevkit_path, "VOC2007/SegmentationClass/")
miou_out_path = "miou_out"
pred_dir = os.path.join(miou_out_path, 'detection-results')
if miou_mode == 0 or miou_mode == 1:
if not os.path.exists(pred_dir):
os.makedirs(pred_dir)
print("Load model.")
deeplab = DeeplabV3()
print("Load model done.")
print("Get predict result.")
for image_id in tqdm(image_ids):
image_path = os.path.join(VOCdevkit_path, "VOC2007/JPEGImages/"+image_id+".jpg")
image = Image.open(image_path)
image = deeplab.get_miou_png(image)
image.save(os.path.join(pred_dir, image_id + ".png"))
print("Get predict result done.")
if miou_mode == 0 or miou_mode == 2:
print("Get miou.")
hist, IoUs, PA_Recall, Precision = compute_mIoU(gt_dir, pred_dir, image_ids, num_classes, name_classes) # 执行计算mIoU的函数
print("Get miou done.")
show_results(miou_out_path, hist, IoUs, PA_Recall, Precision, name_classes)
不知道你这个问题是否已经解决, 如果还没有解决的话: