目标检测中具体求解AP(average precision)的代码详解

本文深入解析目标检测模型中平均精度(AP)的计算过程,基于yolov3的代码实例进行详细阐述,并推荐了相关的目标检测评价指标资源。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目标检测中具体求解AP(average precision)的代码详解

之前笔记记录过分类模型常用模型评价指标详解的文章https://blog.csdn.net/qq_40728805/article/details/103829881

本篇文章是基于yolov3中的具体代码求解AP的过程,推荐看看目标检测评价指标https://github.com/rafaelpadilla/Object-Detection-Metrics

import tqdm
import torch
import numpy as np


def ap_per_class(tp, conf, pred_cls, target_cls):
    """ Compute the average precision, given the recall and precision curves.
    Source: https://github.com/rafaelpadilla/Object-Detection-Metrics.
    # Arguments
        tp:    True positives (list). 若元素为0表示索引对应的样本框是负样本框,为1表示索引对应的样本框是正样本框
        conf:  Objectness value from 0-1 (list). 网络预测输出的置信度,理解为概率
        pred_cls: Predicted object classes (list). 预测的类别
        target_cls: True object classes (list).  gt 类别
    # Returns
        The average precision as computed in py-faster-rcnn.
    """

    # Sort by objectness, 降序排列返回数据对应的索引
    i = np.argsort(-conf)
    tp, conf, pred_cls = tp[i], conf[i], pred_cls[i]

    # Find unique classes 对类别去重,因为计算ap是对每类进行
    unique_classes = np.unique(target_cls)

    # Create Precision-Recall curve and compute AP for each class
    ap, p, r = [], [], []
    for c in tqdm.tqdm(unique_classes, desc="Computing AP"):
        i = pred_cls &
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值