学习日记:像素级评估指标

这篇学习日记详细探讨了像素级评估指标,包括accuracy准确率、precision精确度、recall召回率和F1-score,并提供了相关代码实现。文章强调在计算时保持矩阵的一致性,建议使用[0,1]区间进行处理,以避免错误结果。" 110313691,8187053,SLAM基础知识详解:从理论到实践,"['机器人技术', '计算机视觉', 'SLAM', '数学模型', '图像处理']
PyTorch 2.8

PyTorch 2.8

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

在介绍评价指标之前,先介绍下面几个概念

TP:Truth预测对了,原来是正确的预测为正确1-1
TN:Truth预测对了,原来是错误的预测为错误0-0
FP:False预测错了,原来是正确的预测为错误1-0
FN:False预测错了,原来是错误的预测为正确0-1

1.accuracy准确率

accuracy=\frac{TP+TN}{TP+TN+FP+FN}

pixel_accuracy=正确分类的总像素/总像素

2.precision精确度

precision=\frac{TP}{TP+FP}

pixel_precison表示被检测到的篡改像素数量占图像中被预测为篡改的像素数量的比例

3.recall召回率

recall=\frac{TP}{TP+FN}

pixel_recall表示被检测到的篡改数量占图像中全部的篡改像素数量的比例

4.F1-score

F1是精确度和召回率的调和平均值

F1-score=\frac{2}{\frac{1}{precision}+\frac{1}{recall}}=\frac{2*precision*recall}{precision+recall}

相关代码实现:

#a表示y_true,b表示y_pred,皆为矩阵形式
gp = np.sum(a)#y_true中标记为篡改的像素数
tp = np.sum(a*b)#y_true和y_pred中标记不一致的像素数
pp = np.sum(b)#y_pred中标记为篡改的像素数
precision = tp/(pp)
recall = tp/(gp)
f1 = (2 * precision * recall) / (precision + recall )

注意!!!矩阵的形式要保持一致!

要么都是[0,1]形式,要么都是[0-255]形式,不然会产生错误的结果!!!

这里建议都改变成[0,1]矩阵形式,计算像素点的时候比较容易!

#a表示[0-255]的矩阵形式
a=a/255.0#将a转变为[0,1]的矩阵形式

您可能感兴趣的与本文相关的镜像

PyTorch 2.8

PyTorch 2.8

PyTorch
Cuda

PyTorch 是一个开源的 Python 机器学习库,基于 Torch 库,底层由 C++ 实现,应用于人工智能领域,如计算机视觉和自然语言处理

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值