项目场景:计算二维图像的Dice系数

问题描述:
通常我们用目标分割网络,预测结果后。为了得知网络的准确度,可以计算其Dice系数,通过比较其系数,可以得知网络的准确性。
import numpy as np
import cv2
from PIL import Image
if __name__ == '__main__':
y_true_path = 'E:/AI-challenge/2021/results/label_show/'(这个是标签的文件地址)
y_pred_path = 'E:/AI-challenge/2021/results/predict/'(这个是预测后的图像输出地址)
dice_list = []
for i in range(398):
y_true = np.array(Image.open(y_true_path+str(i+1)+'.jpg'))
y_pred = cv2.imread(y_pred_path+str(i+1)+'.jpg',cv2.IMREAD_GRAYSCALE)
y_true = y_true/255
y_pred = y_pred/255
union = y_true * y_pred
dice = 2*np.sum(union)/(np.sum(y_true)+np.sum(y_pred))
dice_list.append(dice)
print(i+1, ' ', dice, '\n')
print(dice_list)
print(np.mean(np.array(dice_list)))
}
运行结果:

这样就可以求出每张图片对应的Dice系数。
该博客介绍了一种计算二维图像分割任务中网络预测准确性的方法——Dice系数。通过比较预测结果与标签之间的重叠部分,计算每个图像的Dice系数,并最终求平均值以评估整体性能。
2379

被折叠的 条评论
为什么被折叠?



