语义分割评估指标mIOU

### 语义分割评估指标解释 #### 平均像素准确率 (aAcc) 平均像素准确率表示所有类别的总预测正确的像素数占全部像素的比例。该度量反映了模型整体分类的准确性。 \[ \text{aAcc} = \frac{\sum_{i=1}^{N}\sum_{j=1}^{W*H} T(i,j)}{\sum_{i=1}^{N}\sum_{j=1}^{W*H} P(j)} \] 其中 \(T(i, j)\) 表示第 \(i\) 类图像中位置 \(j\) 处的真实标签与预测一致的情况;\(P(j)\) 是所有类别在位置 \(j\) 上的预测总数[^1]。 #### 平均交并比 (mIoU) 平均交并比衡量的是不同类别之间预测区域和真实标注区域之间的重叠程度,定义如下: 对于每一个类别 \(c\): \[ \text{IoU}(c)=\frac{|X_c ∩ Y_c|}{|X_c∪Y_c|}=\frac{T(c)}{F(c)+B(c)-T(c)} \] 这里 \(X_c\) 和 \(Y_c\) 分别代表类别 \(c\) 的真值集合以及预测结果集合;而 \(T(c), F(c), B(c)\) 则分别对应正确检测到的目标数量、错误标记为其他类的数量和其他被误认为此类目标的数量。最终 mIoU 就是对各个类别的 IoU 取平均值得来: \[ \text{mIoU}= \frac{1}{C}\sum_{c=1}^{C}\text{IoU}(c) \] 这种评价方式能够更公平地反映模型性能,尤其是当各类样本分布不均衡时更为重要[^2]。 #### 平均精度 (mAcc) 平均精度指的是每种类别下预测正确的像素比例相对于该类别实际存在的像素总量之比,即: \[ \text{Acc}(c)=\frac{T(c)}{G(c)} \] 这里的 \(G(c)\) 表达了属于类别 \(c\) 的地面实况像素数目。最后通过取各单个 Acc 的算术平均获得整个数据集上的 mAcc : \[ \text{mAcc}= \frac{1}{C}\sum_{c=1}^{C}\text{Acc}(c) \] 这有助于理解模型针对特定对象识别的能力,特别是在某些场景中有较多背景或其他干扰物的情况下。 ```python def calculate_metrics(confusion_matrix): """ 计算混淆矩阵中的各项评价指标 参数: confusion_matrix -- numpy数组形式的混淆矩阵 返回: metrics_dict -- 字典类型的评价指标结果 """ # 初始化变量存储计算后的统计信息 total_pixels = np.sum(confusion_matrix) # 计算全局准确率(PA) correct_predictions = sum([confusion_matrix[i][i] for i in range(len(confusion_matrix))]) pa = correct_predictions / float(total_pixels) # 准备用于后续运算的数据结构 true_positives = [] false_negatives = [] false_positives = [] for idx_class in range(len(confusion_matrix)): tp = confusion_matrix[idx_class,idx_class] fn = sum(confusion_matrix[idx_class,:]) - tp fp = sum(confusion_matrix[:,idx_class]) - tp true_positives.append(tp) false_negatives.append(fn) false_positives.append(fp) # 计算每个类别的IOU ious = [(tp/(tp+fn+fp)) if ((tp+fn+fp)>0) else 0 \ for tp,fn,fp in zip(true_positives,false_negatives,false_positives)] miou = np.mean(ious) # 计算每个类别的ACC accs = [((true_positives[c]/np.sum(confusion_matrix[c]))\ if(np.sum(confusion_matrix[c])>0)\ else 0)for c in range(len(confusion_matrix))] macc = np.mean(accs) return {"pa": pa,"miou": miou,"macc": macc} ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Tech沉思录

点赞加投币,感谢您的资瓷~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值