目标检测评估指标 mAP, FPS

这篇具有很好参考价值的文章主要介绍了目标检测评估指标 mAP, FPS。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mAP

参考1 mAP (mean Average Precision) might confuse you!
参考2 Breaking Down Mean Average Precision (mAP)

计算 AP(Traditional IoU = 0.5)

根据 IoU 的取值,可以将预测得到 bbox 判断为 TP, FP 或者 FN。 TN 不考虑。

考虑下面这幅图,只查看 person 的预测 bbox。
目标检测评估指标 mAP, FPS
TP 为 IoU > 0.5 的bbox.
目标检测评估指标 mAP, FPS
FP: 有两种情况会被考虑为 FP

  • IoU< 0.5
  • 其他大于0.5 但是小于最大 IoU 值的 bbox
    目标检测评估指标 mAP, FPS
    FN: 有两种情况会被考虑为 FN
  • 没有匹配任何预测
  • IoU > 0.5 但是分类错误的 bbox
    目标检测评估指标 mAP, FPS目标检测评估指标 mAP, FPS

有了TP、FP和FN的正式定义,我们现在可以计算出我们在测试集上对一个给定类别的检测的精度和召回率。每个 bbox 都有它的置信度,通常由它的softmax层给出,并将用于对输出进行排序。

目标检测评估指标 mAP, FPS
AP 本身的计算就是要取AR 在11个点取值对应的 Precision插值的均值。插值的方法就是对应每个 AR,取Precision最大值。

计算案例
假设是有一个 3 TP 和 4 FP 的数据,下图是按照置信度水平排序的结果。
目标检测评估指标 mAP, FPS

mAP 计算

mAP 则在此基础上看情况是对 不同IoU还是不同的类别等取平均。

AP50,AP60,AP70……等等指的是取detector的IoU阈值大于0.5,大于0.6,大于0.7……等等。数值越高,即阈值越大,精度越低。

mAP@.5:.95(mAP@[.5:.95])
表示在不同IoU阈值(从0.5到0.95,步长0.05)(0.5、0.55、0.6、0.65、0.7、0.75、0.8、0.85、0.9、0.95)上的平均mAP。

mAP,a.k.a mean average precision.
第一个 mean, 表达的是针对不同任务,可能是all categories 的平均,也可能是 all IoU threshold 的平均。
而 AP 中的average,指的是不同 recall 对应的最大精度。
recall 被划分为11 parts: {0,0.1,0.2,…,0.9,1}

A P = 1 11 ∑ r e c a l l i P r e c i s i o n ( R e c a l l i ) AP = \frac{1}{11}\sum_{recall_{i}}Precision(Recall_{i}) AP=111recalliPrecision(Recalli)

还有通常看到的指标 AP_small, AP_medium, AP_large 指的是不同大小的目标的检测评估。
目标检测评估指标 mAP, FPS

代码计算

调用 torchmetrics 包
torchmetrics.detection.mean_ap.MeanAveragePrecision

FPS

参考链接

FPS(每秒传输帧数-Frames Per Second)

FPS就是目标网络每秒可以处理(检测)多少帧(多少张图片),FPS简单来理解就是图像的刷新频率,也就是每秒多少帧,假设目标检测网络处理1帧要0.02s,此时FPS就是1/0.02=50。

计算FPS代码实现

目标检测中的目标检测算法去检测视频或者调用电脑摄像头。

实现思路: 利用opencv调用摄像头,读取每一帧传入目标检测网络检测,将检测结果呈现,由于目标检测要求输入的图片格式一般为RGB格式,CV2读取的时候会使用BGR格式,因此在检测的时候要利用cv2.cvtColor进行图片格式转换。文章来源地址https://www.toymoban.com/news/detail-464900.html

# yolo = YOLO()  # 首先定义我们的检测模型类
 
 
# 调用摄像头
capture = cv2.VideoCapture(0)  #0代表调用电脑的默认摄像头
# # 检测视频
# capture = cv2.VideoCapture("1.mp4")  #对视频进行检测,则将0改为视频文件
 
 
# 定义起始fps
fps = 0.0
while(True):
   # 检测图片的起始时间
   t1 = time.time()
   # 读取某一帧
   ref,frame = capture.read()
   # 格式转变,BGRtoRGB
   frame = cv2.cvtColor(frame,cv2.COLOR_BGR2RGB)  # 利用OpenCV读取出来的图片的格式是BGR的,而目标检测中用到的图片格式是RGB
   # 转变成Image
   frame = Image.fromarray(np.uint8(frame))   # 平时进行目标检测的库PIL中的Image,因此图片转换成Image进行存储。将读取出来的以数组形式存储的图片转换成图片Image
 
 
   # 网络进行检测fps计算
   # 对传入的图片使用自己的目标检测算法进行检测
   frame = np.array(yolo.detect_image(frame)) 
   
   # RGBtoBGR满足opencv显示格式
   frame = cv2.cvtColor(frame, cv2.COLOR_RGB2BGR)  
   # 将我们检测好了的图片的格式从RGB转换成OpenCV可处理的BGR的格式进行图片的展示
 
 
   # fps的计算
   fps = (fps + (1. / (time.time() - t1))) / 2  #此处的time.time()就是检测完这张图片的结束时间,除以2是为了和之前的fps求一个平均
   print("fps= %.2f"%fps)  
   frame = cv2.putText(frame, "fps= %.2f"%(fps), (0, 40), cv2.FONT_HERSHEY_SIMPLEX, 1, (0, 255, 0), 2)
     
   # 检测完的图片的展示
   cv2.imshow("video", frame)  
   c = cv2.waitKey(30) & 0xff
   if c == 27:
       capture.release()
       break
 
 

到了这里,关于目标检测评估指标 mAP, FPS的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 目标检测评估指标

    评估指标是评价目标检测算法方法好坏的重要依据,目标检测有:IoU(交并比)、Precision(精确度)、Recall(召回率)、AP(平均正确率)、mAP(平均类别AP)等多种评价指标。 1.IoU IoU:用来评价目标检测算法的对象定位精度,IoU是目标检测的预测框和标签框之间的重叠面积

    2024年02月06日
    浏览(47)
  • 如何快速水出人生中的第一篇SCI系列:深度学习目标检测算法常用评估指标——一文读懂!

    详细的改进教程以及源码,戳这!戳这!!戳这!!!B站:AI学术叫叫兽 源码在相簿的链接中,动态中也有链接,感谢支持!祝科研遥遥领先! 截止到发稿,B站YOLOv8最新改进系列的源码包已更新了22种! 排列组合2-4种后,约有6000-7000种! 部分改进教程视频在这:详细的改进

    2024年02月07日
    浏览(47)
  • 最新目标跟踪评估指标汇总

    前段时间接触了一些目标跟踪的场景,本文主要汇总目标跟踪的常用评估指标,主要包括下面几类: 容易理解的概念:FP、FN、TP、id switch、ML、MT 更加综合的概念:MOTA、IDF1、MOTP、HOTA 主要的介绍集中在HOTA ,因为这个评估指标比较新,我能看到的讲解都比较少一点,所以展开

    2024年02月04日
    浏览(35)
  • 损失函数与模型评估指标、目标函数的区别

    对于这样的简单的线性回归问题: x y_true 1 2 3 4 我们可以假设方程为 y = w x + b y= wx+b y = w x + b 当w =1,b=-1时 (即y=x-1,称为模型A) x y_true y_pred 1 2 0 3 4 2 当w =1,b=0时 (即y=x,称为模型B) x y_true y_pred 1 2 1 3 4 3 我们可以用SSE(残差平方和)来评估模型A和B哪个输出结果更好,当然对于回

    2024年01月20日
    浏览(48)
  • YOLO 模型的评估指标——IOU、Precision、Recall、F1-score、mAP

    YOLO是最先进的目标检测模型之一。目标检测问题相比分类问题要更加复杂,因为目标检测不仅要把类别预测正确,还要预测出这个类别具体在哪个位置。 我将目标识别的评估指标总结为两部分,一部分为预测框的预测指标,另一部分为分类预测指标。 预测框的准确率用IOU来

    2024年02月04日
    浏览(52)
  • 深度学习应用篇-计算机视觉-OCR光学字符识别[7]:OCR综述、常用CRNN识别方法、DBNet、CTPN检测方法等、评估指标、应用场景

    【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、序列模型、预训练模型、对抗神经网络等 专栏详细介绍:【深度学习入门到进阶】必看系列,含激活函数、优化策略、损失函数、模型调优、归一化算法、卷积模型、

    2024年02月09日
    浏览(56)
  • 聚类模型评估指标

    聚类模型评估指标-轮廓系数 计算样本i到同簇其它样本到平均距离ai,ai越小,说明样本i越应该被聚类到该簇(将ai称为样本i到簇内不相似度); 计算样本i到其它某簇Cj的所有样本的平均距离bij,称为样本i与簇Cj的不相似度。定义为样本i的簇间不相似度:bi=min(bi1,bi2,…,bik2

    2024年01月18日
    浏览(59)
  • 19 | 分类模型评估指标

    2024年02月14日
    浏览(82)
  • 机器学习——常见模型评估指标

    目录 一.模型评估综述 1.1 什么是模型评估 1.2 评估类型 1.3 模型泛化能力 1.4 过拟合与欠拟合 1.4.1 过拟合 1.4.2欠拟合 二.常见的分类模型评估方式 2.1 混淆矩阵 2.2 准确率(Accuracy) 2.3 精确率(Precision) 2.4 召回率(Recall) 2.5 F1-score 2.6 ROC曲线及AUC值 2.7 PR曲线 三. PR曲线和ROC曲线的

    2024年04月10日
    浏览(63)
  • Yolov5——评估指标

    IoU也称为交并比,评价边界框正确性的度量指标,表示detection box(检测框)与ground truth(真实标签)的交集和并集的比值。 计算公式 所有预测为正样本的结果中,预测正确的比率。 对于多目标检测任务,TP(true positive)表示预测出的正确的框,但问题是我们如何判断这个框

    2024年02月04日
    浏览(47)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包