python图像分割iou计算

IoU (Intersection over Union)是用于评估图像分割算法的一个常用指标。它表示预测图像中目标对象占真实图像目标对象的比例。 IoU的公式为:IoU = (A∩B) / (A∪B),其中A表示真实图像目标对象,B表示预测图像目标对象。 在Python中,可以使用numpy库来计算IoU,代码如下:

import numpy as np

def iou(a, b, epsilon=1e-5):
    # 首先将a和b按照0/1的方式量化
    a = (a > 0).astype(int)
    b = (b > 0).astype(int)
    
    # 计算交集(intersection)
    intersection = np.logical_and(a, b)
    intersection = np.sum(intersection)
    
    # 计算并集(union)
    union = np.logical_or(a, b)
    union = np.sum(union)
    
    # 计算IoU
    iou = intersection / (union + epsilon)
    
    return iou
Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐