[目标检测][目标识别]模型性能测试
在目标检测和目标识别任务中,常用以下几种评价标准:
- 参数数目
FLOPs
FPS
Accuracy/Error Rate
mAP
结合PyTorch
完成了相关评价标准的实现:zjZSTU/Evaluation-Metrics
相关实现文档:Evaluation-Metrics
参数数目
计算参数数目有助于衡量模型所需内存。为了更直观的理解模型大小,通常利用参数数目进一步计算模型大小(单位为MB
)
\[ Size = \frac {Num \times 4.0}{1024 \times 1024} \]
- 通常使用
32
位浮点数,所以需要乘以4
字节
FLOPs
FLOPS ? FLOPs !
FLOPS:Floating-Point Operations Per Second
,每秒所执行的浮点运算次数。常被用于估算电脑的执行能力FLOPs:Floating Point Of Operations
,浮点运算次数。常被用来衡量算法/模型复杂度
常用GFLOPs
衡量算法性能,其表示十亿(=10^9
)次的浮点运算
计算
关于FLOPs
的计算公式,参考深度学习中FLOPs的计算公式具体在哪篇论文里有提到?
FPS
FPS
指的是模型每秒运行帧数。它和FLOPs
都是关于模型计算速度的评价标准,不过由于FLOPs
是一个估算值,同时其计算同样依赖于具体的硬件设备,所以相对而言,FPS
更能够体现模型计算速度
Accuracy/Error Rate
Accuracy
指的是Top-1 Correct Rate
,即标注类别等于分类概率最大的预测类别的样本数除以样本总数Error Rate
和正确率相反,其计算标注类别不在前\(k\)个分类概率最大的预测类别的样本数除以样本总数。在论文中最常使用的就是Top-1/Top-5
错误率(个人直觉是因为看起来更加收敛)
mAP
mAP(mean average precision)
是目标检测任务中最常使用的评价标准,通过计算PR
曲线面积来评估算法性能
不同的数据集提供了不同的mAP
计算公式,其中最常使用的PASCAL VOC
数据集提供的mAP
计算。其实现参考:[目标检测][PASCAL VOC]mAP