如何计算骰子系数以测量python中图像分割的准确性

Rac*_*ain 5 gis image-segmentation python-2.7 scikit-learn

我有一张土地覆盖的图像,并使用K均值聚类对其进行了细分。现在,我要计算分割算法的准确性。我在某处读到,骰子系数是实质性评估指标。但我不确定如何计算。我使用Python 2.7还有其他有效的评估方法吗?请提供摘要或到源的链接。谢谢!

编辑:我使用以下代码来测量原始图像和分割图像的骰子相似度,但似乎需要几个小时才能计算出:

for i in xrange(0,7672320):
  for j in xrange(0,3):
    dice = np.sum([seg==gt])*2.0/(np.sum(seg)+np.sum(gt)) #seg is the segmented image and gt is the original image. Both are of same size
Run Code Online (Sandbox Code Playgroud)

pya*_*yan 7

请参阅Wiki上的骰子相似系数

示例代码段供您参考。请注意,由于您正在使用k-means,因此需要用所需的簇替换k。

import numpy as np

k=1

# segmentation
seg = np.zeros((100,100), dtype='int')
seg[30:70, 30:70] = k

# ground truth
gt = np.zeros((100,100), dtype='int')
gt[30:70, 40:80] = k

dice = np.sum(seg[gt==k])*2.0 / (np.sum(seg) + np.sum(gt))

print 'Dice similarity score is {}'.format(dice)
Run Code Online (Sandbox Code Playgroud)