目標(biāo)檢測mAP的概念及公式詳解
學(xué)習(xí)前言
在Github上我們可以看到許多模型,他們都有mAP值的評價(jià)指標(biāo),如下圖所示:
這到底是個(gè)啥呢?我查了好久的資料…
什么是TP、TN、FP、FN
TP的英文全稱為True Positives,其指的是被分配為正樣本,而且分配對了的樣本,代表的是被正確分類的正樣本。
TN的英文全稱為,其指的是被分配為負(fù)樣本,而且分配對了的樣本,代表的是被正確分類的負(fù)樣本。
FP的英文全稱為False Positives,其指的是被分配為正樣本,但分配錯(cuò)了的樣本,代表的是被錯(cuò)誤分類的負(fù)樣本。
FP的英文全稱為False Negatives,其指的是被分配為負(fù)樣本,但分配錯(cuò)了的樣本,代表的是被錯(cuò)誤分類的正樣本。
什么是Precision和Recall
Precision
指的是精度
Recall
指的是召回率
兩個(gè)分別代表什么意思呢?
Precision的具體含義是:分類器認(rèn)為是正類并且確實(shí)是正類的部分占分類器認(rèn)為是正類的比例
Recall的具體含義是:分類器認(rèn)為是正類并且確實(shí)是正類的部分占所有確實(shí)是正類的比例。
什么是mAP
說到mAP,也要說到,AP是什么。
說到AP,就要聯(lián)系到上一部分所說的Precision和Recall。
對于目標(biāo)檢測而言任務(wù),每一個(gè)類都可以計(jì)算出其Precision和Recall,通過合理的計(jì)算,每個(gè)類都可以得到一條P-R曲線,曲線下的面積就是AP的值。
假設(shè)存在M張圖片,對于其中一張圖片而言,其具有N個(gè)檢測目標(biāo),其具有K個(gè)檢測類,使用檢測器得到了S個(gè)Bounding Box(BB),每個(gè)BB里包含BB所在的位置以及對于K個(gè)類的得分C。
利用BB所在的位置可以得到與其對應(yīng)的GroundTruth的IOU值。
1、步驟1:
對于每一個(gè)類I而言,我們執(zhí)行以下步驟:
對所有的BB,計(jì)算BB所在的位置與其最對應(yīng)的GroundTruth的IOU值,,記為MaxIOU,此時(shí)再設(shè)置一個(gè)門限threshold,一般設(shè)置為0.5。
當(dāng)MaxIOU<threshold,認(rèn)為該預(yù)測框無真實(shí)框與其對應(yīng),此時(shí)可以記錄其屬于False Positive,使其FPi = 1,并記錄其屬于類I的分?jǐn)?shù)C。
當(dāng)MaxIOU>threshold,認(rèn)為該預(yù)測框與該真實(shí)框最對應(yīng);
此時(shí)再分兩類:
當(dāng)該框的類別屬于類型I時(shí),此時(shí)可以記錄其屬于True Positive,使其TPi = 1,并記錄其屬于類I的分?jǐn)?shù)C。
當(dāng)該框的類別不屬于類型I時(shí),此時(shí)可以記錄其屬于False Positive,使其FPi = 1,并記錄其屬于類I的分?jǐn)?shù)C。
2、步驟2:
由步驟1我們可以得到K * S個(gè)分?jǐn)?shù)C 和 TP 和 FP的元祖,在python中,我們可以將其構(gòu)成形如(C,TP, FP)的元組,對這K * S個(gè)元祖按照得分C進(jìn)行排序。
3、步驟3:
將得分從大到小排序后進(jìn)行截取,截取得分最大的S個(gè),通過該步驟可以獲得每個(gè)框是否成功對應(yīng)了自己所屬的類,計(jì)算每次截取所獲得的recall和precision。
(此處Recall所用的TP+FN = N(一張圖片所具有的N的目標(biāo),所有確實(shí)是正類的數(shù)量))
這樣得到S個(gè)recall和precision點(diǎn),便畫出PR曲線了。
通過PR曲線便可以得到AP值。
而mAP就是對所有的AP值進(jìn)行求平均即可。
以上就是目標(biāo)檢測mAP的概念及公式詳解的詳細(xì)內(nèi)容,更多關(guān)于目標(biāo)檢測mAP公式的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
基于prompt?tuning?v2訓(xùn)練好一個(gè)垂直領(lǐng)域的chatglm-6b
這篇文章主要為大家介紹了基于prompt?tuning?v2訓(xùn)練好一個(gè)垂直領(lǐng)域的chatglm-6b的過程詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-04-04VSCode如何遠(yuǎn)程連接Linux教程(密鑰的使用)
本文主要介紹了VSCode如何遠(yuǎn)程連接Linux教程,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12