【发布时间】:2019-06-25 01:49:25
【问题描述】:
所以这个想法是为分割任务编写一个精度和召回指标。分割任务的常用指标通过逐像素比较地面实况和预测掩码来计算此指标。我想要计算的方式是,即使预测了地面实况中的对象的某些部分,那么整个对象 os 也被认为是真阳性。
我目前处理问题的方式是计算逻辑和基本事实以及预测的掩码。然后使用skimage.measure.label 为每个blob 分配一个唯一的ID。然后我通过使用两者中的 blob 数来计算 True Positives、False Negatives 等
and_mask = np.logical_and(gt, pred)
labels1 = measure.label(gt, neighbors=8, background=0)
labels2 = measure.label(and_mask, neighbors=8, background=0)
这适用于大多数情况,但在我预测的 blob 掩码被预测为两部分的情况下,然后对其执行logical_and 会给我一个额外的对象。这搞砸了我的指标计算。
有没有办法防止这种情况发生,还有更简单的方法吗?
【问题讨论】:
标签: deep-learning computer-vision image-segmentation scikit-image image-morphology