首页 > 解决方案 > 计算 Mask R-cnn 中每个类的 IoU

问题描述

我正在尝试使用 matterport Mask R-cnn 实现为我的数据集中的每个类(总共 13 个)计算 IoU。现在,我设法使用以下代码计算所有类的平均 IoU:

def compute_batch_ap(image_ids):
    APs = []
    for image_id in image_ids:
        # Load image
        image, image_meta, gt_class_id, gt_bbox, gt_mask =\
            modellib.load_image_gt(dataset, config,
                                   image_id, use_mini_mask= False)
        # Run object detection
        results = model.detect([image], verbose=0)
        # Compute AP
        r = results[0]
        AP, precisions, recalls, overlaps =\
            utils.compute_ap(gt_bbox, gt_class_id, gt_mask,
                              r['rois'], r['class_ids'], r['scores'], r['masks'])
        APs.append(AP)
    return APs
 
image_ids = dataset.image_ids
APs = compute_batch_ap(image_ids)
print("mAP @ IoU=50: ", np.mean(APs))

我试图到处寻找解决方案,但我没有找到任何东西。我该如何解决这个问题?

标签: pythoncomputer-visionobject-detectionfaster-rcnn

解决方案


推荐阅读