Skip to content

CV 常用指标

注意:同名指标跨任务不一定同义,尤其是 AP / mAP / AUC。看论文时,一定先看 benchmark 和 evaluation protocol。

同名指标不一定同义

mAP 在目标检测、实例分割、检索 / ReID、3D 检测里都常见,但具体定义和统计对象并不一样。
最典型的是:

  • 检测里的 AP / mAP 通常基于 Precision-Recall 曲线,还会和 IoU 阈值绑定。
  • 检索 / ReID 里的 mAP 是对每个 query 的 AP 做平均,关注的是 相关项在排序列表中的位置
  • 3D 检测里的 mAP 又会和 3D IoU / BEV IoU / 类别 / 难度等级 绑定。

不同任务里 TP / FP / FN 的含义会变

  • 分类:TP / FP / FN 通常按“样本是否被判成某类”统计。
  • 分割:可以按 像素 统计,也可以按 实例 统计。
  • 检测:通常先用 IoU 做匹配,再统计 TP / FP / FN。
  • 跟踪:除了 TP / FP / FN,还会额外关心 ID Switchassociation

有些指标有闭式公式,有些只有“官方评测协议”

Precision / Recall / F1 / Dice / IoU / PSNR / FID 这类指标,通常有清楚的数学表达。
但像 COCO 的 AP、MOT 的 HOTA、VQA 的 Accuracy,最后跑出来的分数往往还依赖 官方评测脚本,所以写公式时最好同时写一句“最终数值以 benchmark protocol 为准”。


1. 分类 / 多标签分类

1.1 Accuracy / Top-1 / Top-5 Accuracy

意义
衡量模型预测类别是否命中。Top-1 就是预测概率最高的类别是否正确;Top-5 则是 GT 是否出现在前 5 个预测里。

公式

Accuracy=1Ni=1N1(y^i=yi)

Top-k 版本常写成:

Top-k Accuracy=1Ni=1N1(yiTopK(p^i))

其中 p^i 是第 i 个样本的类别概率向量。

说明
Top-1 / Top-5 主要用于 单标签多分类
多标签任务一般不写 Top-5 Accuracy,而更常看 macro/micro F1AUCmAP

1.2 Precision / Recall / F1

意义
这是类别不平衡时最重要的一组指标。
Precision 看“你报出来的正样本有多少是真的”;Recall 看“所有真正的正样本里你找回了多少”;F1 则平衡两者。

公式

Precision=TPTP+FPRecall=TPTP+FNF1=2PrecisionRecallPrecision+Recall=2TP2TP+FP+FN

说明
多分类里通常会再区分:

  • macro-F1:先按类算 F1,再平均;
  • micro-F1:先汇总全局 TP / FP / FN,再算 F1;
  • weighted-F1:按类别样本数加权平均。

1.3 ROC-AUC

意义
衡量模型对正负样本的整体排序能力
它不依赖固定阈值,而是看阈值从低到高变化时,TPR-FPR 曲线下面积。

公式

ROC 曲线的横轴是 FPR,纵轴是 TPR

TPR=TPTP+FN,FPR=FPFP+TN

AUC 定义为 ROC 曲线下的面积:

ROC-AUC=01TPR(u)dFPR(u)

说明
当正负样本极不平衡时,ROC-AUC 可能显得“过于乐观”,因为大量 TN 会让 FPR 变化看起来不明显。

1.4 PR-AUC

意义
衡量不同阈值下 Precision-Recall 曲线下面积。
在正样本稀少时,通常比 ROC-AUC 更有参考价值。

公式

PR-AUC=01Precision(r)dr

其中 r 表示 Recall

说明
如果任务里“真正关心的是把少量正样本尽量找出来”,PR-AUC 往往比 ROC-AUC 更贴近实际需求。

1.5 Balanced Accuracy

意义
解决 Accuracy 被大类“抬高”的问题。
它本质上是 各类 recall 的平均

公式

对于 C 类任务:

Balanced Accuracy=1Cc=1CTPcTPc+FNc

说明
二分类时,它就是正类 recall 和负类 recall 的平均。

1.6 Mean Class Accuracy / mAcc

意义
按类别分别统计准确性,再做平均,减少大类主导。

常见写法

mAcc=1Cc=1CAccc

说明
mAcc 的具体定义依 benchmark / codebase 而变。
在很多单标签分类或分割场景里,它和“每类 recall 的平均”非常接近;但不同工具包里 Acc_c 的定义细节可能略有区别,所以最好看官方实现。

1.7 mAP(multi-label)

意义
多标签分类里,经常把每个标签当成一个独立二分类任务,分别计算 AP,再平均。

公式

mAP=1L=1LAP

其中 L 是标签数。

说明
这里的 mAP 和检测里的 mAP 不是一回事
这里按“标签”建 PR 曲线;检测里则按“类别 + IoU 匹配规则”建 PR 曲线。


2. 目标检测

2.1 IoU

意义
IoU(Intersection over Union)是检测和分割里最基础的重叠度量,用来衡量预测框 / mask 和 GT 的重合程度。

公式

IoU(A,B)=|AB||AB|

说明
在检测里,IoU 常被用来:

  1. 判断一个预测框能否和 GT 成功匹配;
  2. 作为 AP 统计时的阈值条件,比如 AP50AP75
  3. 作为回归 loss 的基础。

参考
GIoU paper

2.2 GIoU / DIoU / CIoU

GIoU

意义
普通 IoU 在两个框完全不相交时恒为 0,无法区分“离得很近”和“离得很远”。
GIoU 在 IoU 上额外考虑最小包围框 C 的空白区域。

公式

GIoU=IoU|C(AB)||C|

其中 C 是同时包住预测框和 GT 框的最小 enclosing box。

DIoU

意义
DIoU 除了看重叠面积,还直接惩罚中心点距离。

公式

DIoU=IoUρ2(b,bgt)c2

其中 ρ 是两个框中心点的欧氏距离,c 是最小外接框对角线长度。

CIoU

意义
CIoU 在 DIoU 基础上再考虑长宽比一致性。

公式

CIoU=IoU(ρ2(b,bgt)c2+αv)

其中 v 描述宽高比差异,α 是对应权重。

说明
这三者最常见的用途其实是 bounding box regression loss family,而不是主 leaderboard 指标。
不过论文表格里也经常会同时报告它们,说明框定位质量。

参考
GIoU
DIoU / CIoU

2.3 AP / AP50 / AP75 / mAP / AP@[.5:.95]

意义
AP(Average Precision)是目标检测最核心的指标。
它本质上是某个类别在某种匹配规则下的 Precision-Recall 曲线面积

基础公式

连续写法:

AP=01P(r)dr

离散写法常写成:

AP=n(RnRn1)Pn

其中 PnRn 分别是第 n 个阈值点对应的 precision 和 recall。

几种常见名字的含义

  • AP50:只在 IoU = 0.50 的匹配条件下算 AP。
  • AP75:只在 IoU = 0.75 的匹配条件下算 AP,更严格。
  • mAP:通常表示多个类别 AP 的平均。
  • AP@[.5:.95]:COCO 主指标,会在 [ 0.50, 0.55, 0.60, \dots, 0.95 ] 这 10 个 IoU 阈值上分别计算 AP,再做平均。

说明
这一段最容易误解。

  1. 通用定义 里,AP 是单个类别、单套匹配规则下的 PR 面积;
  2. 但在 COCO 论文和很多检测论文 里,表格直接写 AP 时,常常默认指的就是 COCO 风格的 AP@[.5:.95]
  3. 所以读论文时不要机械理解“AP = 单阈值,mAP = 多类别平均”,一定要看 benchmark protocol。

参考
COCO dataset paper
COCO detection evaluation overview

2.4 AR / AR@1 / AR@10 / AR@100

意义
AR(Average Recall)衡量在给定候选框数量限制下,模型最多能把多少目标找回来。

常见理解

AR=1Tt=1TRecall@IoUt

其中 IoUt 是一组不同的 IoU 阈值。

AR@K 表示每张图最多保留 K 个候选框时的 AR。

说明
检测器如果 AR 很高、AP 一般,往往说明“找得到,但排序或定位还不够好”。


3. 实例分割 / 全景分割

3.1 Mask AP

意义
实例分割里的 Mask AP 和检测里的 AP 思想一样,只是匹配质量从 box IoU 换成了 mask IoU

说明
COCO 实例分割里最常报告的是:

  • Mask AP
  • Mask AP50
  • Mask AP75
  • Mask AP@[.5:.95]

读法和 box AP 一致。

参考
COCO detection / segmentation evaluation overview

3.2 PQ / SQ / RQ

意义
这是全景分割的核心指标。
PQ 同时考虑“分对类 / 实例了没有”和“分得准不准”。

公式

PQ=(p,g)TPIoU(p,g)|TP|+12|FP|+12|FN|

其中 pg 表示成功匹配的预测 segment 与 GT segment。

它还可以拆成:

SQ=(p,g)TPIoU(p,g)|TP|RQ=|TP||TP|+12|FP|+12|FN|

并且满足:

PQ=SQ×RQ

解释

  • SQ(Segmentation Quality):匹配上的 segment 分得准不准;
  • RQ(Recognition Quality):能不能正确识别 / 匹配到 segment;
  • PQ:两者一起看。

参考
Panoptic Segmentation


4. 语义分割 / 医学分割

4.1 mIoU

意义
mIoU 是语义分割最常见主指标。
它先对每个类别分别算 IoU,再对类别做平均。

公式

单类 IoU:

IoUc=TPcTPc+FPc+FNc

多类平均:

mIoU=1Cc=1CIoUc

说明
mIoUPixel Accuracy 更稳,因为它不会被“大背景类”轻易拉高。

4.2 Dice / Dice Coefficient / DSC

意义
Dice 在医学分割里尤其常见。
它和 IoU 非常接近,但对前景重叠更敏感。

公式

集合写法:

Dice(X,Y)=2|XY||X|+|Y|

TP/FP/FN 写法:

Dice=2TP2TP+FP+FN

说明
在二值分割里,DiceF1 是同一家族指标。

4.3 Pixel Accuracy / Mean Pixel Accuracy

意义
Pixel Accuracy 看有多少像素被分对;Mean Pixel Accuracy 则按类别平均。

公式

nii 表示第 i 类被正确预测的像素数,ti 表示第 i 类 GT 像素总数,则:

Pixel Accuracy=iniiitiMean Pixel Accuracy=1Ciniiti

说明
Pixel Accuracy 很容易被背景类“抬高”,所以通常不能单独看。

4.4 Boundary IoU

意义
标准 IoU 更看整体区域重合,边界错一点有时不够敏感。
Boundary IoU 专门比较预测边界带和 GT 边界带的重合度。

公式

GdPd 分别表示 GT 和预测 mask 的边界带,则

Boundary IoU=|GdPd||GdPd|

说明
特别适合 边界质量很重要 的任务,比如抠图、医学器官边缘、精细分割。

参考
Boundary IoU

4.5 BFScore / Boundary F-score

意义
它本质上是边界版本的 F1
先在一个容忍距离内判断预测边界点和 GT 边界点是否匹配,再算边界 precision / recall / F-score。

公式

Pb=#matched predicted boundary pixels#predicted boundary pixelsRb=#matched GT boundary pixels#GT boundary pixelsBFScore=2PbRbPb+Rb

说明
它和 Boundary IoU 都关注边界,但思想不同:一个像 IoU,一个像 F1。

4.6 HD / HD95

意义
Hausdorff Distance 衡量两条边界“最坏情况下差了多远”。
在医学分割里很常见,因为临床上往往很关心最坏边界偏差。

公式

H(X,Y)=max{supxXinfyYd(x,y),supyYinfxXd(x,y)}

HD95 则把“最大值”换成 95 分位数,降低极端离群点影响。

说明
HD 对 outlier 极敏感;HD95 更稳。


5. 关键点检测 / 姿态估计

5.1 PCK / PCKh

意义
PCK(Percentage of Correct Keypoints)衡量关键点预测是否落在“允许误差范围”内。
PCKh 用 head size 做归一化,因此在人体姿态里很常见。

公式

PCK@α=1Ni=1N1(p^ipi2siα)

其中 si 是归一化尺度:

  • PCK 里常用 torso size、bbox size 等;
  • PCKh 里常用 head segment length。

说明
它本质上是“阈值内算对”的准确率。

参考
MPII Human Pose

5.2 OKS

意义
OKS(Object Keypoint Similarity)在关键点任务里的地位很像检测中的 IoU
它会考虑关键点位置误差、目标尺度、以及不同关键点类型的标注容忍度。

公式

COCO 中常写为:

OKS=iexp(di22s2ki2)δ(vi>0)iδ(vi>0)

其中:

  • di:第 i 个关键点预测误差;
  • s:目标尺度;
  • ki:不同关键点类型的容忍系数;
  • vi:关键点可见性标志。

说明
误差越小、尺度越大、关键点越“宽容”,OKS 越高。

参考
COCO keypoints evaluation overview

5.3 AP (keypoints)

意义
COCO 人体关键点的主指标。
它和检测 AP 的思路相同,但匹配标准从 IoU 换成了 OKS

说明
常见写法有:

  • AP
  • AP50
  • AP75

这里只不过 50 / 75 指的是 OKS 阈值,不是 box IoU 阈值。

5.4 NME

意义
NME(Normalized Mean Error)常见于人脸关键点、手部关键点等任务。
它统计平均点位误差,再除以一个参考尺度。

公式

NME=1Ni=1Np^ipi2d

其中 d 常取:

  • 两眼中心距离(inter-ocular distance);
  • 外眼角距离;
  • bbox size;
  • 或其它 benchmark 规定尺度。

说明
NME 越小越好。

5.5 AUC(keypoint error curve)

意义
一些关键点任务会把误差阈值从小到大扫一遍,画出 “PCK-Threshold” 曲线,然后对曲线求面积。

说明
它反映的是“在不同容忍误差下的整体性能”,比只看单个阈值更稳一些。

5.6 MPJPE / PA-MPJPE

MPJPE

意义
3D 姿态估计里最常见的指标之一,表示每个关节平均位置误差。

公式

MPJPE=1Jj=1JX^jXj2

PA-MPJPE

意义
先对预测和 GT 做 Procrustes Alignment,再算 MPJPE。
因此它更关注“相对姿态形状”是否对,而不那么强调绝对尺度 / 旋转 / 平移。

说明
同样一个模型:

  • MPJPE 更严格;
  • PA-MPJPE 更偏“pose shape correctness”。

参考
Human3.6M


6. 多目标跟踪 / 单目标跟踪

6.1 MOTA

意义
MOTA(Multiple Object Tracking Accuracy)是 MOT 里最经典的老指标之一。
它综合考虑漏检、误检和 ID Switch。

公式

MOTA=1t(FNt+FPt+IDSWt)tGTt

解释

  • FNt:第 t 帧漏检数;
  • FPt:第 t 帧误检数;
  • IDSWt:第 t 帧 ID 切换数;
  • GTt:第 t 帧 GT 目标数。

说明
MOTA 很有名,但也常被批评:它对 detection 错误比较敏感,对 association quality 关注不够细。

6.2 MOTP

意义
MOTP(Multiple Object Tracking Precision)更关注匹配成功后的定位误差。

经典公式

MOTP=t,idt,itct

其中 dt,i 是匹配成功目标的距离误差,ct 是第 t 帧成功匹配数。

说明
这里的“距离”可以是中心点距离,也可以是 1IoU 之类的定义,所以 MOTP 的具体数值含义依评测协议而变。

6.3 IDF1

意义
IDF1 更关注“身份保持”是否正确。
它把所有帧上的 identity matching 看成整体,再算 identification precision / recall / F1。

公式

IDP=IDTPIDTP+IDFPIDR=IDTPIDTP+IDFNIDF1=2IDTP2IDTP+IDFP+IDFN

说明
相较 MOTAIDF1 往往更能反映 tracker 有没有把一个人持续跟住。

参考
Performance Measures and a Data Set for Multi-Target, Multi-Camera Tracking

6.4 HOTA / DetA / AssA

意义
HOTA(Higher Order Tracking Accuracy)是近几年很常见的 MOT 指标,目的就是更平衡地衡量 detection 和 association。

核心公式

HOTAα=DetAαAssAα

最终 HOTA 往往还会在一组匹配阈值 α 上做平均。

其中:

  • DetA:检测准确性;
  • AssA:关联准确性。

一个常见直观写法是:

DetA=TPTP+FP+FN

AssA 会进一步看 TP 轨迹之间的关联一致性。

说明
可以粗略理解成:

  • MOTA 偏 detection;
  • IDF1 偏 identity consistency;
  • HOTA 试图把两者更平衡地统一起来。

参考
HOTA

6.5 ID Switch

意义
跟踪过程中同一真实目标被赋予不同 ID 的次数。

说明
越少越好。
但它通常不单独作为主指标,而是作为错误分析项和 MOTA / IDF1 / HOTA 配合看。

6.6 Success / Precision / Normalized Precision / AUC(SOT)

单目标跟踪里,常见的是 OTB / TrackingNet / LaSOT 这类协议。

Precision

意义
看预测框中心点和 GT 中心点的距离误差是否足够小。

公式

P=CtrCgt2

实际 leaderboard 常用固定阈值(如 20 px)统计“距离不超过阈值的帧比例”。

Normalized Precision

意义
把中心误差再按目标大小做归一化,避免不同尺度目标之间不公平。

一种常见写法

Pnorm=W(CtrCgt)2

其中 W 是由 GT bbox 宽高构成的归一化矩阵。

Success

意义
看跟踪框和 GT 框的重叠度是否足够高,本质上基于 IoU。

公式

S=|BBtrBBgt||BBtrBBgt|

AUC of Success Plot

意义
把 Success 阈值从 0 扫到 1,画曲线并求面积。
这是 SOT 里非常常见的综合指标。

说明
很多 benchmark 直接把 Success AUC 当成主排名指标。

参考
TrackingNet
LaSOT


7. 图像检索 / ReID / 特征匹配

7.1 Recall@K

意义
看前 K 个检索结果里有没有至少一个正确目标。

公式

Recall@K=1Qq=1Q1(query q 的正确结果出现在前 K 名)

7.2 AP / mAP(retrieval / ReID)

意义
这里的 AP 看的是单个 query 的相关结果在排序列表中出现得是否靠前。
mAP 则是对所有 query 的 AP 取平均。

公式

对单个 query:

AP=1Mk=1nP(k)rel(k)

其中:

  • M:该 query 的相关样本总数;
  • P(k):前 k 个结果的 precision;
  • rel(k){0,1}:第 k 个结果是否相关。

多 query 平均:

mAP=1Qq=1QAPq

说明
它和检测里的 mAP 同名,但语义不同。
这里没有 IoU 匹配,核心是排序质量。

7.3 CMC

意义
CMC(Cumulative Matching Characteristic)常见于 ReID。
它看“第一个正确匹配”出现在第几名。

公式

CMC@K=1Qq=1Q1(rankqK)

其中 rankq 表示 query q 的第一个正确匹配位置。

7.4 MRR

意义
MRR(Mean Reciprocal Rank)更强调“第一个正确结果越靠前越好”。

公式

MRR=1Qq=1Q1rankq

7.5 NDCG

意义
当检索结果不是简单的“相关 / 不相关”二值,而是有多级相关性时,NDCG 很常用。

公式

DCG@K=i=1K2reli1log2(i+1)NDCG@K=DCG@KIDCG@K

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


8. 图像重建 / 超分 / 去噪 / 去模糊 / IQA

8.1 MSE / RMSE / MAE

MSE

意义
最基础的像素误差平方平均。

公式

MSE=1Ni=1N(xix^i)2

RMSE

意义
把 MSE 开根号,量纲和原始像素一致。

公式

RMSE=1Ni=1N(xix^i)2

MAE

意义
绝对误差平均,对异常值没平方误差那么敏感。

公式

MAE=1Ni=1N|xix^i|

8.2 PSNR

意义
PSNR(Peak Signal-to-Noise Ratio)是最经典的保真度指标之一。
它本质上是 MSE 的对数形式:误差越小,PSNR 越大。

公式

PSNR=10log10(MAX2MSE)=20log10(MAXRMSE)

其中 MAX 是像素最大可能值,比如 255 或 1。

说明
它很适合衡量“像素级忠实度”,但和人类主观感知未必总一致。

8.3 SSIM

意义
SSIM(Structural Similarity)强调亮度、对比度和结构的一致性,比 PSNR 更贴近“看起来像不像”。

公式

SSIM(x,y)=(2μxμy+C1)(2σxy+C2)(μx2+μy2+C1)(σx2+σy2+C2)

其中:

  • μx,μy:均值;
  • σx2,σy2:方差;
  • σxy:协方差;
  • C1,C2:稳定常数。

说明
SSIM 一般在局部窗口上计算,再对整张图取平均。

参考
SSIM

8.4 MS-SSIM

意义
MS-SSIM 是多尺度版 SSIM。
它不仅看单一分辨率下的结构相似性,还在多尺度上综合考虑亮度 / 对比度 / 结构。

一种常见形式

MS-SSIM(x,y)=[lM(x,y)]αMj=1M[cj(x,y)]βj[sj(x,y)]γj

其中 l,c,s 分别对应亮度、对比度、结构项。

说明
比单尺度 SSIM 更稳,也更常用于感知优化。

参考
MS-SSIM

8.5 LPIPS

意义
LPIPS(Learned Perceptual Image Patch Similarity)用深度特征空间距离来评估图像感知差异。
通常比 PSNR / SSIM 更贴近“人看起来像不像”。

公式

若第 l 层特征为 y^lyl,则一种常见写法是:

LPIPS(x,x0)=l1HlWlh,wwl(y^hwlyhwl)22

说明
这里 wl 是学习到的层权重。
LPIPS 越小越好。

参考
LPIPS

8.6 NIQE

意义
NIQE(Natural Image Quality Evaluator)是无参考图像质量指标,不需要 GT。
它通过建模“自然图像统计特性”来判断一张图看起来是否自然。

常见写法
NIQE 常用特征高斯模型之间的距离表示,形式上可写成

NIQE=(μ1μ2)T(Σ1+Σ22)1(μ1μ2)

说明
这里的 (μ1,Σ1)(μ2,Σ2) 分别对应测试图像与自然图像模型的统计量。
NIQE 越小通常越好。

参考
NIQE

8.7 BRISQUE

意义
BRISQUE 也是无参考 IQA 指标,和 NIQE 一样基于自然场景统计,但它会结合人工主观分数训练回归器。

说明
经典 BRISQUE 的主流程是:

  1. 提取空间域的 NSS / MSCN 特征;
  2. 再用学习器(经典实现里常见 SVR)预测质量分数。

它没有一个像 PSNR 那样特别短的统一闭式公式,所以论文里更多是“特征 + 回归模型”的定义。

参考
BRISQUE

8.8 PI / Perceptual Index

意义
PI 在感知超分论文里很常见,用来把“自然感”和“感知质量”揉成一个分数。

公式(PIRM 2018 常见定义):

PI=12((10Ma)+NIQE)

其中 MaLearning a No-Reference Quality Metric for Single-Image Super-Resolution 中的无参考 SR 质量分数。

说明
PI 越小越好。
它在感知超分里出现频率很高,但并不是所有图像重建任务的通用主指标。

参考
PIRM 2018


9. 图像生成 / 文生图

9.1 FID

意义
FID(Fréchet Inception Distance)衡量生成图像分布和真实图像分布之间的差异。
它通常在 Inception 特征空间里,把两组特征近似成高斯分布,再计算 Fréchet distance。

公式

FID=μrμg22+Tr(Σr+Σg2(ΣrΣg)1/2)

其中:

  • (μr,Σr):真实图像特征分布;
  • (μg,Σg):生成图像特征分布。

说明
FID 越小越好。
它是生成模型里最常见指标之一,但很依赖特征提取器、样本数和预处理细节。

参考
FID / TTUR paper

9.2 KID

意义
KID(Kernel Inception Distance)和 FID 类似,也是比较真实 / 生成分布差异,但使用的是 MMD 思路。
它在小样本下通常比 FID 更稳一些。

公式

XY 分别是真实与生成的 Inception 特征,则

KID=1m(m1)ijk(xi,xj)+1n(n1)ijk(yi,yj)2mni,jk(xi,yj)

常见核函数是三次多项式核:

k(x,y)=(xyd+1)3

参考
KID / Demystifying MMD GANs

9.3 IS / Inception Score

意义
IS 试图同时衡量:

  1. 单张生成图像是不是“类别明确”;
  2. 整体生成样本是不是“多样”。

公式

IS=exp(Ex[DKL(p(y|x)p(y))])

解释

  • 如果单张图的 p(y|x) 很尖锐,说明样本“清晰可分”;
  • 如果整体边际 p(y) 很分散,说明类别多样性较好。

说明
IS 早期很常见,但现在很多人更愿意看 FID / KID
原始论文自己也提醒过,IS 应该只作为粗略参考。

参考
Inception Score

9.4 CLIPScore / CLIP-based Alignment Score

意义
在文生图里,这类指标主要看 图文语义一致性
最基本的思想就是:图像编码和文本编码在 CLIP 特征空间里越接近,说明语义越对齐。

常见写法

s(x,t)=cos(fimg(x),ftext(t))

原始 CLIPScore 论文里是图像描述评测场景,因此具体实现可能带有缩放、截断等细节;文生图论文里更常见的是泛称“CLIP-based score”。

说明
它能反映“是否符合 prompt”,但不等于图像一定美观、真实,也不保证文本以外的细节都正确。

参考
CLIPScore

9.5 Precision / Recall for Generative Models

意义
生成模型里这组指标试图把 “质量” 和 “覆盖度” 分开:

  • Precision:生成样本是否大多落在真实数据流形附近;
  • Recall:真实数据流形有多少被生成模型覆盖到了。

一种常见写法(kNN-manifold 思路):

Precision=1|Y|yY1[yΦ(X)]Recall=1|X|xX1[xΦ(Y)]

其中 Φ() 表示由样本构造出的近邻流形近似。

说明
这类指标的具体实现版本不少,读论文时要看它采用的是哪篇定义。

参考
Assessing Generative Models via Precision and Recall
Improved Precision and Recall Metric

9.6 Human Preference / User Study

意义
让人类直接比较:

  • 哪张更真实;
  • 哪张更符合 prompt;
  • 哪张更好看;
  • 或哪张编辑结果更符合要求。

说明
没有一套统一公式。
但在文生图、视频生成、图像编辑里,它经常比单一自动指标更有说服力。


10. 图像描述 / VQA / 多模态问答

10.1 BLEU

意义
BLEU 通过比较候选句和参考句的 n-gram 重合度来评估文本生成质量。
它最早用于机器翻译,但也被广泛用于图像描述。

公式

BLEU=BPexp(n=1Nwnlogpn)

其中:

  • pn:n-gram precision;
  • wn:各阶 n-gram 权重;
  • BP:brevity penalty,用于惩罚过短句子。

说明
它更关注表面词面重合,对同义改写不够友好。

参考
BLEU

10.2 METEOR

意义
METEOR 相比 BLEU 更关注词形变化、词干、同义匹配,并且显式结合 precision / recall。

公式

经典写法里,先定义加权 F-mean:

Fmean=10PRR+9P

再定义 fragmentation penalty:

Pen=0.5(chm)3

最后:

METEOR=(1Pen)Fmean

其中:

  • P:unigram precision;
  • R:unigram recall;
  • m:匹配到的 unigram 数;
  • ch:匹配块数。

参考
METEOR

10.3 ROUGE-L

意义
ROUGE-L 基于最长公共子序列(LCS),比纯 n-gram 更能反映句子结构一致性。

公式

若候选句长度为 n,参考句长度为 m,则:

RLCS=LCS(X,Y)mPLCS=LCS(X,Y)nFLCS=(1+β2)RLCSPLCSRLCS+β2PLCS

参考
ROUGE

10.4 CIDEr

意义
CIDEr 是图像描述里非常经典的指标,核心思想是:
TF-IDF 加权的 n-gram 相似度 来衡量候选句与多参考描述的一致性。

公式

n-gram,先把候选句 ci 和参考句 sij 表示成 TF-IDF 向量 gn(),则

CIDErn(ci,Si)=1mjgn(ci)gn(sij)gn(ci)gn(sij)

最终:

CIDEr(ci,Si)=n=1NwnCIDErn(ci,Si)

说明
COCO captioning 里经常会看到 CIDEr-D,它是在 CIDEr 基础上做了 clipping / length penalty 等修正。

参考
CIDEr

10.5 SPICE

意义
SPICE 不是简单比 n-gram,而是先把句子解析成 scene graph / semantic tuples,再比较语义命题层面是否一致。

公式

如果候选句和参考句对应的语义 tuple 集分别为 TcTr,则

P=|TcTr||Tc|R=|TcTr||Tr|SPICE=2PRP+R

说明
它通常比 BLEU / ROUGE 更语义化,也更适合分析“模型是不是理解了颜色、数量、关系”。

参考
SPICE

10.6 VQA Accuracy

意义
VQA 不是普通 exact match,因为同一个问题可能有多个合理答案,标注者之间也可能不完全一致。
官方评测会对答案做规范化,并按“有多少人给出相同答案”来给分。

常见简化写法

Acc(a)=min(#humans said a3,1)

说明
更严格地说,官方实现会对 10 个标注答案的所有 (109) 子集做平均,所以最终以官方脚本为准。
但很多论文和开源代码会直接用上面这个等价的简化写法来解释。

参考
VQA official evaluation


11. 深度估计 / 光流 / 立体匹配

11.1 Abs Rel

意义
深度估计里最常见指标之一。
它看相对误差,而不是绝对误差。

公式

AbsRel=1Ni=1N|did^i|di

其中 di 是 GT 深度,d^i 是预测深度。

11.2 Sq Rel

意义
平方相对误差,会更重地惩罚大误差。

公式

SqRel=1Ni=1N(did^i)2di

11.3 RMSE / RMSE(log)

公式

RMSE=1Ni=1N(did^i)2RMSE(log)=1Ni=1N(logdilogd^i)2

说明
RMSE(log) 对尺度差异更鲁棒一些。

11.4 δ<1.25, δ<1.252, δ<1.253

意义
统计预测深度相对 GT 的倍率误差是否落在某个容忍范围内。

公式

δk=1Ni=1N1(max(d^idi,did^i)<1.25k)

其中 k=1,2,3

说明
这是“比例上有多接近”的统计。

参考
Depth Map Prediction from a Single Image

11.5 EPE

意义
EPE(End-Point Error)是光流 / 视差估计里最经典的指标之一。
它直接看向量终点之间的欧氏距离。

公式

若真实流场为 ui,预测为 u^i,则

EPE=1Ni=1Nuiu^i2

说明
越小越好。
光流 benchmark 里基本都会报它。

11.6 Bad Pixel Rate / D1

意义
统计“误差超过阈值”的坏点比例。
在立体匹配里非常常见。

通用写法

BadPixelRate=1Ni=1N1(|ei|>τ)

其中 τ 是误差阈值。

说明
像 KITTI 这类 benchmark 常见 D1,通常带有“绝对误差超过 3px 且相对误差超过 5%”这样的复合条件,具体以 benchmark protocol 为准。

参考
KITTI


12. 3D 视觉 / 点云 / 重建

12.1 Chamfer Distance

意义
点云重建和 3D 生成里最常见的距离之一。
它衡量两个点集是否彼此接近。

公式

若点集为 S1,S2,则常见写法为

CD(S1,S2)=1|S1|xS1minyS2xy22+1|S2|yS2minxS1yx22

说明
优点是好算;缺点是有时会对局部密度问题不够敏感。

12.2 Earth Mover's Distance (EMD)

意义
EMD 衡量把一个点集“搬运”成另一个点集需要多少代价,通常比 CD 更严格,但也更贵。

公式

当两个点集大小相同且一一匹配时,可写为

EMD(S1,S2)=minϕ:S1S21|S1|xS1xϕ(x)2

其中 ϕ 是一个双射匹配。

参考
Point Set Generation Network

12.3 3D IoU

意义
3D 检测里最基础的重叠指标,本质上就是 3D box 体积版 IoU。

公式

3D IoU(B1,B2)=Vol(B1B2)Vol(B1B2)

12.4 mAP(3D detection)

意义
3D 检测的核心指标之一。
思路和 2D 检测一样,但匹配条件换成 3D IoU 或 BEV IoU。

说明
不同 benchmark 的协议差异更大,比如:

  • 有的按 BEV AP / 3D AP 分开报;
  • 有的按类别和难度等级分组;
  • 有的 IoU 阈值对不同类别不同。

所以写 3D detection 论文时,一定要把 protocol 写清楚。

12.5 F-score(point cloud)

意义
点云重建里常用,把“预测点到 GT 足够近”和“GT 点被预测覆盖到了”结合起来。

公式

给定距离阈值 τ

Pτ=#{xS^:minySxy<τ}|S^|Rτ=#{yS:minxS^yx<τ}|S|Fτ=2PτRτPτ+Rτ

13. OCR / 场景文字识别

13.1 Accuracy

意义
最直观的正确率。
OCR 里可能是:

  • 字符级准确率;
  • 词级准确率;
  • 行级准确率。

说明
要看论文到底是按 character、word 还是 sequence 来算。

13.2 Edit Distance

意义
衡量预测文本和 GT 文本之间需要多少次编辑操作(插入、删除、替换)才能相同。

公式
经典 Levenshtein distance 记作 ED(y^,y)

说明
越小越好。
它比单纯 Accuracy 更能反映“差一点点”和“完全错掉”的区别。

13.3 CER / WER

CER

意义
字符错误率。

公式

CER=S+D+INchar

WER

意义
词错误率。

公式

WER=S+D+INword

其中:

  • S:substitution;
  • D:deletion;
  • I:insertion。

说明
二者都是越小越好。

13.4 Precision / Recall / F1(scene text detection)

意义
在场景文字检测里,这组指标和一般检测相同,只不过匹配对象变成文字框 / 文字区域。

说明
如果论文做的是“文本检测”,更常看这一组;
如果做的是“文本识别”,更常看 Accuracy / CER / WER / Edit Distance