zoukankan      html  css  js  c++  java
  • AI大视觉(十三) | 评价指标mAP的解析与绘制

      本文来自公众号“每日一醒”

    在目标检测中,每张图片可能包含多个类别的多个目标。

    目标检测模型的评价需要同时评价模型的定位、分类效果。

    因此,在图像分类问题中常使用的 precision 指标不能直接用于目标检测。

    这时 mAP 进入了人们的视野。

    ​IOU

    IOU衡量预测框和真实框的重合程度。

    计算IOU的公式为:

    ​TP TN FP FN的概念

    对于二分类问题,可将样例根据其真实类别与学习器预测类别的组合划分为真正例(true positive)、假正例(false positive)、真反例(true negative)、假反例(false negative)四种情形,令TP、FP、TN、FN分别表示其对应的样例数,则显然有TP+FP+TN+FN=样例总数。

    分类结果的“混淆矩阵”(confusion matrix)如表所示:

    TP TN FP FN里面一共出现了4个字母,分别是T 、F 、P、 N。

    T是True,F是False,P是Positive,N是Negative。

    TP(True Positives):被分为了正样本,而且分对了。

    TN(True Negatives):被分为了负样本,而且分对了。

    FP(False Positives):被分为了正样本,但是分错了。

    FN(False Negatives):被分为了负样本,但是分错了。


    ​mAP

    precision(精确度):

    recall(召回率):

    如图所示:

    AP:

    AP事实上指的是,利用不同的Precision和Recall的点的组合,画出来的曲线下面的面积。

    AP: PR曲线下面积。

    取不同的置信度,可以获得不同的Precision和不同的Recall。

    当取得置信度够密集的时候,就可以获得非常多的Precision和Recall。

    此时Precision和Recall可以在图片上画出一条线,这条线下部分的面积就是某个类的AP值。

    mAP:

    mAP就是所有的类的AP值求平均。

    ​绘制mAP

    绘制mAP需要真实框、检测框和测试图片。

    其中真实框可用标注软件标注得到,检测框由yolo算法得到。

    (1)真实框(Ground Truth):

    labelImg软件标注的格式为.xml,需要转化为txt,且以左上角和右下角的格式保存。

    .xml:

    .txt:

    (类别,左上角x,左上角y,右下角x,右下角y)

    (2)检测框(detection-results):

    yolo detect出来的结果格式为(类别,中心x,中心y,框,高,置信度),且结果已归一化处理。

    需要转化为真实框的格式(类别,置信度,左上角x,左上角y,右下角x,右下角y)

    转化公式如下所示:

    转化结果:

    公式由来:

    根据:

    左上角+右下角->中心+宽高:

    中心+宽高->左上角+右下角:

    其中w=3069,h=2048,为图片的大小。

    (3)测试图片(images-optional):

    测试图片已经经过人工标注,且经过了yolo网络得出了结果。

    可进行可视化。


     

    mAP绘制结果:

    ​总结

    mAP(mean Average Precision):由多个类的AP值求平均得到,用以衡量多个类的检测好坏。mAP越大,模型越好。

    AP(Average Precision)。由PR曲线与X轴的面积得到,用以衡量一个类的检测好坏。AP越大,说明单个类检测的越好。

    P(Precision):代表检测器预测为正样本的样本中含有真正正样本的比例。

    R(Recall):代表标准答案中能找到真正正样本的比例。

     

       

     ——————

    浅谈则止,细致入微AI大道理

    扫描下方“每日一醒”,选择“关注”公众号

    —————————————————————

    ​ 

    —————————————————————

    投稿吧   | 留言吧


    萍水相逢逢萍水,浮萍之水水浮萍!
  • 相关阅读:
    readLine读取socket流的时候产生了阻塞
    Netty开发UDP协议
    Netty关闭客户端
    GIT 回退出错 Unlink of file 'xx' failed. Should I try again? (y/n) 解决办法
    linux 安全狗安装问题
    linux连接mysql命令
    CentOS7 64位下MySQL5.7安装与配置(YUM)
    nginx已经启动 无法访问页面
    Linux系统下我的/etc/sysconfig/路径下无iptables文件
    CentOS 7 下安装 Nginx
  • 原文地址:https://www.cnblogs.com/AIBigTruth/p/15045531.html
Copyright © 2011-2022 走看看