2

我用自己的数据训练了我的 Mask R-CNN 网络,我将其转换为 COCO Style 用于我的论文,现在我想评估我的结果。我找到了两种方法来做到这一点。一种方法是来自 COCO 本身的评估。Mask R-CNN 本身在他们的 coco.py 文件中展示了如何使用 COCO Metric 进行评估: https ://github.com/matterport/Mask_RCNN/blob/master/samples/coco/coco.py

我基本上使用第evaluate_coco(...)342 行中的函数。结果,我从 COCO 指标中获得了不同指标的平均精度和平均召回率的结果,请参见下图。对于参数 eval_type 我使用eval_type="segm".

对我来说,mAP 很有趣。我知道 mAP50 使用 0.5 作为 IuO(联合交叉点),它们的标准 mAP 是从 IuO = 0.5 到 0.95,步长为 0.05。

第二种方法来自 Mask R-CNN 本身在他们的 utils.py 中: https ://github.com/matterport/Mask_RCNN/blob/master/mrcnn/utils.py

函数的名称compute_ap(...)在第 715 行,上面写着 IoU 是 0.5。该函数返回一个 mAP 值。

这就提出了compute_ap()评估什么类型的问题。使用 COCO,您可以在“bbox”和“segm”之间进行选择。

我还想知道compute_ap(...)函数的 mAP 值和 COCO 的 mAP50 之间的区别,因为使用相同的数据我得到不同的结果。不幸的是我现在不能上传更好的图片,因为我只能在周一到周五去我的大学,周五我很匆忙,没有检查就拍照,但是所有 AP 的平均值compute_ap()是 0.91,我我很确定 COCO 的 AP50 是 0.81。

有人知道区别还是没有区别? 在顶部,来自 compute_ap() 的所有 AP 的 mAP 为 0.9108,来自 COCO 的 AP50 为 0.810 这是另一个 COCO Metric 结果

是不是因为maxDets=100这个参数?: 了解COCO评价“最大检测数” 我的图片只有4个类别,每张图片最多4个实例。

还是计算mAP的方式不同?

编辑:现在我对“Segm”类型和“BBox”类型的整个 COCO 度量有一个更好的图像,并将它与来自的结果进行compute_ap()比较,即“mAP:0,41416 ...”顺便说一句,如果有COCO 结果中的“-1”,这是否意味着该类型没有?

COCO Metric 和 compute_ap() 结果比较

4

0 回答 0