计算机视觉常用指标(Metrics)速查与解释(持续更新)

计算机视觉常用指标(Metrics)速查与解释(持续更新)

适用范围:分类 / 检测 / 分割 / 跟踪 / 检索 / 图像复原 / 生成评估 / OCR

说明:不同论文/代码实现对细节(阈值、插值方式、忽略类、边界处理等)可能略有差异,使用前建议核对对应 benchmark 的官方实现。


0. 记号约定(Notation)

  • 样本集合大小:(N)
  • 真值标签:(y),预测标签:(y^\hat{y}y^)
  • TP / FP / TN / FN:真正例 / 假正例 / 真负例 / 假负例
  • 预测框 (BpB_pBp),真值框 (BgB_gBg),面积 (∣⋅∣|\cdot|∣⋅∣)
  • 均值:(1K∑k=1K⋅\frac{1}{K}\sum_{k=1}^{K}\cdotK1∑k=1K⋅)

1) 分类(Classification)

1.1 Accuracy(准确率)

Acc=#{i:y^i=yi}N \text{Acc}=\frac{\#\{i:\hat{y}_i=y_i\}}{N} Acc=N#{i:y^i=yi}

适用 :类别均衡时直观好用。
:类别极不均衡(如异常检测)时会虚高。

1.2 Precision / Recall / F1

Precision=TPTP+FP,Recall=TPTP+FN \mathrm{Precision}=\frac{TP}{TP+FP},\quad \mathrm{Recall}=\frac{TP}{TP+FN} Precision=TP+FPTP,Recall=TP+FNTP
F1=2⋅Precision⋅RecallPrecision+Recall F1=\frac{2\cdot \mathrm{Precision}\cdot \mathrm{Recall}}{\mathrm{Precision}+\mathrm{Recall}} F1=Precision+Recall2⋅Precision⋅Recall

适用 :不均衡数据、关注误报/漏报权衡。
补充 :多分类时常见 macro/micro/weighted 三种平均方式。

1.3 Top-(k) Accuracy

若真值标签出现在模型预测概率最大的前 (k) 个类别中,则计为正确:
Top-k=1N∑i=1N1(yi∈TopK(p^i)) \text{Top-}k=\frac{1}{N}\sum_{i=1}^{N}\mathbf{1}\big(y_i\in \text{TopK}(\hat{\mathbf{p}}_i)\big) Top-k=N1i=1∑N1(yi∈TopK(p^i))

适用:类别数很大、次优候选也有价值(如细粒度分类)。


2) 目标检测(Object Detection)

2.1 IoU(Intersection over Union)

IoU(Bp,Bg)=∣Bp∩Bg∣∣Bp∪Bg∣ \mathrm{IoU}(B_p,B_g)=\frac{|B_p\cap B_g|}{|B_p\cup B_g|} IoU(Bp,Bg)=∣Bp∪Bg∣∣Bp∩Bg∣

用途 :判断预测框与真值框是否"匹配"。
常见阈值:VOC 常用 (0.5);COCO 用多个阈值 (0.50:0.05:0.95)。

2.2 Precision-Recall 曲线 & AP(Average Precision)

对检测置信度从高到低排序,逐步加入预测框,得到一条 PR 曲线。

AP 通常是 PR 曲线下的面积(AUC):
AP=∫01p(r) dr \mathrm{AP}=\int_{0}^{1} p(r)\,dr AP=∫01p(r)dr

其中 (p®) 表示召回率为 ® 时的精度。

实现细节:VOC07 有 11-point 插值版本;现代检测一般用更密的插值/积分实现。

2.3 mAP(mean AP)

  • VOC 风格 :对每个类别算 AP,然后对类别平均:
    mAP=1C∑c=1CAPc \mathrm{mAP}=\frac{1}{C}\sum_{c=1}^{C}\mathrm{AP}_c mAP=C1c=1∑CAPc

  • COCO 风格 :对多个 IoU 阈值(0.50 到 0.95)求平均:
    AP=1T∑t=1TAP(IoU=t) \mathrm{AP}=\frac{1}{T}\sum_{t=1}^{T}\mathrm{AP}(\mathrm{IoU}=t) AP=T1t=1∑TAP(IoU=t)

解释:COCO 的 AP@0.50:0.95 更严格、更能反映定位质量。

2.4 AR(Average Recall)

类似 AP,但以召回为核心,常在限制检测数量(如每图最多 1/10/100 个)下统计平均召回。


3) 语义/实例/全景分割(Segmentation)

3.1 Pixel Accuracy(像素准确率)

PixAcc=∑i1(y^i=yi)#pixels \mathrm{PixAcc}=\frac{\sum_i \mathbf{1}(\hat{y}_i=y_i)}{\#\text{pixels}} PixAcc=#pixels∑i1(y^i=yi)
:背景像素占比大时会虚高。

3.2 IoU / mIoU(最常用)

对类别 (c):
IoUc=TPcTPc+FPc+FNc \mathrm{IoU}_c=\frac{TP_c}{TP_c+FP_c+FN_c} IoUc=TPc+FPc+FNcTPc

对所有类别平均:
mIoU=1C∑c=1CIoUc \text{mIoU}=\frac{1}{C}\sum_{c=1}^{C}\mathrm{IoU}_c mIoU=C1c=1∑CIoUc

适用:语义分割主流指标。

3.3 Dice / F1(重叠度)

二值分割常用:
Dice=2∣P∩G∣∣P∣+∣G∣ \text{Dice}=\frac{2|P\cap G|}{|P|+|G|} Dice=∣P∣+∣G∣2∣P∩G∣

与二分类 F1 在像素层面等价(在某些定义下)。
适用:医学分割、前景很小的场景。

3.4 PQ(Panoptic Quality,全景分割)

将"可匹配的实例"集合记为 TP,未匹配的预测为 FP,未匹配的真值为 FN:
PQ=∑(p,g)∈TPIoU(p,g)∣TP∣⏟SQ(Segmentation Quality)⋅∣TP∣∣TP∣+12∣FP∣+12∣FN∣⏟RQ(Recognition Quality) \text{PQ}=\underbrace{\frac{\sum_{(p,g)\in TP}\mathrm{IoU}(p,g)}{|TP|}}{\text{SQ(Segmentation Quality)}} \cdot \underbrace{\frac{|TP|}{|TP|+\frac{1}{2}|FP|+\frac{1}{2}|FN|}}{\text{RQ(Recognition Quality)}} PQ=SQ(Segmentation Quality) ∣TP∣∑(p,g)∈TPIoU(p,g)⋅RQ(Recognition Quality) ∣TP∣+21∣FP∣+21∣FN∣∣TP∣

直觉:既看分割质量(SQ),也看实例识别/计数(RQ)。


4) 多目标跟踪(MOT, Tracking)

跟踪指标很多、细节差异也大。下面列最常见的一组。

4.1 MOTA(Multi-Object Tracking Accuracy)

MOTA=1−∑t(FNt+FPt+IDSWt)∑tGTt \text{MOTA}=1-\frac{\sum_t (FN_t+FP_t+IDSW_t)}{\sum_t GT_t} MOTA=1−∑tGTt∑t(FNt+FPt+IDSWt)

其中 (IDSW) 表示 ID switch 次数,(GT) 是真值目标数。
:MOTA 可能在某些错误分布下"不够直观"。

4.2 IDF1(ID 一致性 F1)

基于身份匹配的 Precision/Recall 再算 F1:
IDF1=2⋅IDTP2⋅IDTP+IDFP+IDFN \text{IDF1}=\frac{2\cdot \text{IDTP}}{2\cdot \text{IDTP}+\text{IDFP}+\text{IDFN}} IDF1=2⋅IDTP+IDFP+IDFN2⋅IDTP

适用:更强调身份保持。


5) 图像检索 / 视觉-语言检索(Retrieval)

5.1 Recall@K(R@K)

对每个 query,看 Top-(K) 结果里是否包含真值匹配:
R@K=1N∑i=1N1(rank(i)≤K) \mathrm{R@K}=\frac{1}{N}\sum_{i=1}^N \mathbf{1}(\text{rank}(i)\le K) R@K=N1i=1∑N1(rank(i)≤K)

适用:image→text 或 text→image 检索非常常见。

5.2 mAP(检索版本)

对每个 query 计算 AP(把相关样本当作"正例"),再对 query 平均:
mAP=1N∑i=1NAPi \mathrm{mAP}=\frac{1}{N}\sum_{i=1}^{N}\mathrm{AP}_i mAP=N1i=1∑NAPi

其中 (\mathrm{AP}_i) 是第 (i) 个 query 的精度-召回积分(或离散加和)。

5.3 nDCG@K(排序质量)

若相关性(relevance)可取多级(0/1/2/3...),常用 nDCG:
DCG@K=∑j=1K2relj−1log⁡2(j+1) \text{DCG@K}=\sum_{j=1}^{K}\frac{2^{rel_j}-1}{\log_2(j+1)} DCG@K=j=1∑Klog2(j+1)2relj−1
nDCG@K=DCG@KIDCG@K \text{nDCG@K}=\frac{\text{DCG@K}}{\text{IDCG@K}} nDCG@K=IDCG@KDCG@K

其中 IDCG 是"理想排序"下的 DCG。


6) 图像复原(Denoise / SR / Deblur / Inpainting)

6.1 MSE(均方误差)

MSE=1HW∑x,y(I(x,y)−I^(x,y))2 \mathrm{MSE}=\frac{1}{HW}\sum_{x,y}\big(I(x,y)-\hat{I}(x,y)\big)^2 MSE=HW1x,y∑(I(x,y)−I^(x,y))2

6.2 PSNR(峰值信噪比)

PSNR=10log⁡10(MAX2MSE) \mathrm{PSNR}=10\log_{10}\left(\frac{\text{MAX}^2}{\mathrm{MSE}}\right) PSNR=10log10(MSEMAX2)

  • (\text{MAX}) 通常为 255(8-bit)或 1.0(归一化)。
  • PSNR 越大越好。

:PSNR 偏向像素级一致,可能不等价于"感知更好"。

6.3 SSIM(结构相似度)

对局部窗口,令均值 (\mu)、方差 (\sigma^2)、协方差 (\sigma_{xy}):
SSIM(x,y)=(2μxμy+C1)(2σxy+C2)(μx2+μy2+C1)(σx2+σy2+C2) \mathrm{SSIM}(x,y)=\frac{(2\mu_x\mu_y+C_1)(2\sigma_{xy}+C_2)}{(\mu_x^2+\mu_y^2+C_1)(\sigma_x^2+\sigma_y^2+C_2)} SSIM(x,y)=(μx2+μy2+C1)(σx2+σy2+C2)(2μxμy+C1)(2σxy+C2)

对整图取平均得到最终 SSIM。
直觉:比 PSNR 更关注结构与对比度。

6.4 LPIPS(感知相似度)

用预训练网络的多层特征差异衡量距离:
LPIPS(I,I^)=∑lwl⋅∥ϕl(I)−ϕl(I^)∥2 \text{LPIPS}(I,\hat{I})=\sum_{l} w_l \cdot \| \phi_l(I)-\phi_l(\hat{I}) \|_2 LPIPS(I,I^)=l∑wl⋅∥ϕl(I)−ϕl(I^)∥2
说明 :(ϕl\phi_lϕl) 为第 (l) 层特征,权重 (wlw_lwl) 由标定得到。
趋势:LPIPS 越小越好(越接近人类感知)。


7) 生成模型评估(GAN / Diffusion / 生成式视觉)

7.1 FID(Fréchet Inception Distance)

用 Inception 特征分布的高斯近似:
FID=∥μr−μg∥22+Tr(Σr+Σg−2(ΣrΣg)1/2) \text{FID}=\|\mu_r-\mu_g\|_2^2+\mathrm{Tr}\left(\Sigma_r+\Sigma_g-2(\Sigma_r\Sigma_g)^{1/2}\right) FID=∥μr−μg∥22+Tr(Σr+Σg−2(ΣrΣg)1/2)

  • (r):真实图像特征分布;(g):生成图像特征分布。
  • FID 越小越好。

:受样本数量、预处理方式、特征提取网络等影响很大,跨论文对比要谨慎。

7.2 IS(Inception Score,较老但仍见)

IS=exp⁡(Ex[KL(p(y∣x) ∥ p(y))]) \text{IS}=\exp\Big(\mathbb{E}_{x}\big[\mathrm{KL}(p(y|x)\,\|\,p(y))\big]\Big) IS=exp(Ex[KL(p(y∣x)∥p(y))])
直觉 :既希望单图类别分布尖锐(可辨识),也希望整体类别丰富。
:不直接比较真实分布,容易"被刷分"。


8) OCR / 文档视觉

8.1 CER / WER(字符/词错误率)

编辑距离 (d(\cdot,\cdot)),真值长度为 (|g|):
CER=d(pred,gt)∣gt∣ \text{CER}=\frac{d(\text{pred},\text{gt})}{|\text{gt}|} CER=∣gt∣d(pred,gt)

WER 类似,只是以词为单位。

8.2 ANLS(常用于 TextVQA / 读图文本)

基于归一化编辑距离的相似度(常见定义之一):
NLS=1−d(pred,gt)max⁡(∣pred∣,∣gt∣) \text{NLS}=1-\frac{d(\text{pred},\text{gt})}{\max(|\text{pred}|,|\text{gt}|)} NLS=1−max(∣pred∣,∣gt∣)d(pred,gt)

若 (\text{NLS}<\tau)(例如 0.5)则记为 0,否则取 NLS;对样本平均为 ANLS。

不同比赛/实现的阈值与细节可能不同。


9) 选指标的快速建议

  • 分类:不均衡 → Precision/Recall/F1;大类数 → Top-k
  • 检测:报告 COCO AP@0.50:0.95 + AP50/75;对小目标最好分尺寸统计(APS/APM/APL)
  • 语义分割:mIoU 为主;前景极小 → Dice 更敏感
  • 检索:R@K(直观)+ nDCG(排序质量)
  • 复原:PSNR/SSIM(像素/结构)+ LPIPS(感知);论文中最好同时给
  • 生成:FID 为主,注意样本量与实现一致性

相关推荐
qq_337599462 小时前
vs+copilot安装教程
人工智能·copilot
沛沛老爹2 小时前
Web转AI架构篇:Agent Skills vs MCP-混合架构设计模式实战指南
java·前端·人工智能·架构·llm·rag
算法狗22 小时前
大模型面试题:有以下哪些方式可以在 prompt 中插入指令?
人工智能·深度学习·机器学习·语言模型·面试题
ShiMetaPi2 小时前
八核RISC-V + 双屏输出 + 全接口扩展:M-K1HSE 深度解析
人工智能·机器人·鸿蒙·开源鸿蒙
专业开发者2 小时前
NXP解析蓝牙 ® 声道探测技术将如何赋能汽车数字钥匙
人工智能·物联网·汽车
A小码哥2 小时前
跟着AI学习谷歌最新的通用商业协议(UCP)实操步骤
人工智能·学习
拓端研究室2 小时前
2026年全球医疗行业趋势研究报告:AI医疗、创新药与医疗器械|附240+份报告PDF、数据、可视化模板汇总下载
人工智能
小凡致心2 小时前
AI交互中的核心概念解析
人工智能
哪有时间简史2 小时前
Python程序设计基础
开发语言·python