【问题标题】:How to check if the labelled regions are the same in two images?如何检查两个图像中的标记区域是否相同?
【发布时间】: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


    【解决方案1】:

    分割的评估是一个有效的研究领域,但已经存在了一些指标。我最喜欢的是信息的变化。一个关键特征是它不依赖于每个图像中的标签数或图像之间标签的分配。这还尚未在Scikit-Image中,但我们有一个拉开请求将其包含在内:

    https://github.com/scikit-image/scikit-image/pull/3354

    您可以查看该分支或从那里复制实现,或者只是等待一点,希望它将在下一个版本中!

    【讨论】:

    • 谢谢,信息的变化看起来很有趣,但我需要在我开始使用它之前了解它所代表的内容。 span>
    • 当然!如果它有所帮助,我将在我的纸纸中写下VI的简要介绍,这可能会有所帮助。查看“结果:1。评估”在这里:journals.plos.org/plosone/article?id=10.1371/… 987654322 @ Marina Meil​​a的原始VI文件也非常可访问,但有点数学。 span>
    • 太好了!我去看看
    【解决方案2】:

    我设法解决了。我使用 measure.label 来获取各个掩码,然后使用 gt 掩码计算 iou。这就是我想要的

        labels1 = measure.label(gt, neighbors=8, background=0)
            # loop over the unique components
            for label in np.unique(labels1):
                # if this is the background label, ignore it
                if label == 0:
                    continue
                # otherwise, construct the label mask 
                labelMask1 = np.zeros(pred.shape, dtype="uint8")
                labelMask1[labels1 == label] = 255
                c, counts1 = np.unique(np.logical_and(labelMask1, pred, 
                 where=255), return_counts=True)
                inter = np.sum(np.logical_and(labelMask1, pred, where=255)) / 
                np.sum(np.logical_or(labelMask1, pred, where=255))
    

    如果有人感兴趣,这里是粗略的算法。

    【讨论】:

    • 这样不会误报。
    • 我知道这个仅用于召回、精确度和误报,算法非常相似,只是我得到了预测标签和基本事实中各个掩码的逻辑与。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-25
    • 2014-03-22
    • 1970-01-01
    • 2013-04-02
    • 1970-01-01
    相关资源
    最近更新 更多