最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

如何計(jì)算單目標(biāo)檢測模型的平均精度(Average Precision)?

2022-05-05 14:36 作者:夢(mèng)醒南天  | 我要投稿

AP(Average Precision)即平均精度,是用于對(duì)目標(biāo)檢測算法進(jìn)行性能評(píng)估的常用指標(biāo)之一。

眾所周知,AP 的值就是 PR 曲線與 x 軸和 y 軸所圍成圖形的面積。mAP(mean Average Precision)是針對(duì)多個(gè)類別的目標(biāo)檢測來說的,直接將每個(gè)類別目標(biāo)對(duì)應(yīng)的 AP 進(jìn)行相加然后再求平均即可。那么,在現(xiàn)實(shí)項(xiàng)目中,在訓(xùn)練出來單目標(biāo)檢測模型(即該模型的檢測目標(biāo)只有一個(gè)類別)之后,我們?cè)撊绾蝸碛?jì)算該模型的 AP 值呢?在本文中,我們將分以下幾步來進(jìn)行介紹:

1.在測試集上對(duì)模型進(jìn)行評(píng)估,計(jì)算出每一個(gè)預(yù)測目標(biāo)框?qū)?yīng)的 Precision 和 Recall

簡單地說就是將測試數(shù)據(jù)集中的每一張圖片逐一送入目標(biāo)檢測模型,分別得到其對(duì)應(yīng)的預(yù)測結(jié)果。然后在預(yù)測結(jié)果中,對(duì)每一個(gè)預(yù)測目標(biāo)進(jìn)行遍歷,根據(jù)時(shí)間先后順序,每得到一個(gè)預(yù)測目標(biāo)框,就計(jì)算一次當(dāng)前的精確度(Precision)和召回率(Recall)。Precision 和 Recall 的計(jì)算公式如下:

Precision%20%3D%20%5Cfrac%7BTP%7D%7BTP%2BFP%7D%20

Recall%20%3D%20%5Cfrac%7BTP%7D%7BTP%2BFN%7D%3D%5Cfrac%7BTP%7D%7BGP%7D%20%20

其中,TP 表示預(yù)測準(zhǔn)確的目標(biāo)數(shù)量,F(xiàn)P 表示預(yù)測錯(cuò)誤的目標(biāo)數(shù)量,F(xiàn)N 表示沒有被檢測到的目標(biāo)數(shù)量,GP 表示所有的實(shí)際目標(biāo)的數(shù)量。

計(jì)算出來每一個(gè)預(yù)測目標(biāo)對(duì)應(yīng)的 Precision 和 Recall 之后,將其按照一定格式逐行寫入 log 文件中,方便后續(xù)處理。如:

將每一個(gè)預(yù)測目標(biāo)對(duì)應(yīng)的 Precision 和 Recall 寫入文件

最終得到的 log 文件,其內(nèi)容如下圖所示:


2.根據(jù) Precision 和 Recall 繪制 PR 曲線

上一步我們得到了模型在測試集上的 Precision 和 Recall 數(shù)據(jù),并且存在了一個(gè) log 文件中。那么在這一步,我們需要將文件中的內(nèi)容讀取出來,并據(jù)此繪制 PR 曲線。

首先,我們通過下面的 Python 代碼,將 log 文件讀取出來并進(jìn)行部分展示。

代碼運(yùn)行結(jié)果如下圖所示:

讀取 Precision 和 Recall 的 log 文件

接著,借助 Python 的?matplotlib.pyplot 模塊功能繪制 PR 曲線:

代碼運(yùn)行結(jié)果如下:

PR 曲線效果圖


3.對(duì) PR 曲線進(jìn)行積分求解,計(jì)算其所圍成圖形的面積

上一步我們完成了PR曲線的繪制,這里我們將借助 Python 的?trapz 模塊進(jìn)行積分求解,最終得到其與橫縱坐標(biāo)軸所圍成圖形的面積,即 AP(Average Precision) 的值。

通過積分求的 AP 的值

至此,該單目標(biāo)檢測模型的平均精度就計(jì)算出來了。

如何計(jì)算單目標(biāo)檢測模型的平均精度(Average Precision)?的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
马山县| 托克逊县| 阿拉善右旗| 沁阳市| 敦煌市| 兴义市| 达孜县| 七台河市| 翁牛特旗| 商丘市| 沂源县| 博湖县| 青田县| 济宁市| 剑河县| 莱州市| 濉溪县| 昌图县| 阳新县| 聂拉木县| 民权县| 永丰县| 新沂市| 永嘉县| 三明市| 台前县| 上饶县| 东乌| 昂仁县| 登封市| 建昌县| 湄潭县| 靖江市| 郯城县| 布尔津县| 博罗县| 勃利县| 颍上县| 普洱| 鄂伦春自治旗| 县级市|