Github上的代码,作用是求语义分割结果的IoU,和IoU计算公式对比着看了实在不懂,请逐行解释开始结束注释之间的语句,谢谢
def intersectionAndUnion(imPred, imLab, numClass):
imPred = np.asarray(imPred).copy()
imLab = np.asarray(imLab).copy()
# 开始
imPred = imPred * (imLab > 0)
intersection = imPred * (imPred == imLab)
(area_intersection, _) = np.histogram(intersection, bins=numClass, range=(1, numClass))
(area_pred, _) = np.histogram(imPred, bins=numClass, range=(1, numClass))
(area_lab, _) = np.histogram(imLab, bins=numClass, range=(1, numClass))
# 结束
area_union = area_pred + area_lab - area_intersection
return (area_intersection, area_union)