一、目標(biāo)檢測(cè)的評(píng)價(jià)指標(biāo)
在目標(biāo)檢測(cè)中,有幾個(gè)常用的評(píng)價(jià)指標(biāo)用于衡量算法的性能。以下是其中幾個(gè)重要的評(píng)價(jià)指標(biāo):
1.1 Precision
Precision(精確率):Precision 衡量了在所有被檢測(cè)為正樣本的樣本中,有多少是真正的正樣本。
Precision 的計(jì)算公式為:Precision = TP / (TP + FP),其中 TP 是真正的正樣本數(shù)量,F(xiàn)P 是將負(fù)樣本錯(cuò)誤地標(biāo)記為正樣本的數(shù)量。較高的 Precision 表示算法在正樣本的判定上更準(zhǔn)確。
1.2 Recall
Recall(召回率):Recall 衡量了在所有真正的正樣本中,有多少被算法正確地檢測(cè)出來(lái)了。
Recall 的計(jì)算公式為:Recall = TP / (TP + FN),其中 TP 是真正的正樣本數(shù)量,F(xiàn)N 是錯(cuò)誤地未能檢測(cè)到的正樣本數(shù)量。較高的 Recall 表示算法能夠更好地檢測(cè)出真實(shí)目標(biāo)。
1.3 Average Precision(AP)
AP 是根據(jù) Precision-Recall 曲線計(jì)算的面積。它對(duì)不同召回率下的 Precision 進(jìn)行插值,并計(jì)算插值曲線下的面積。AP 是評(píng)估目標(biāo)檢測(cè)算法在不同召回率下的綜合性能指標(biāo)。
1.4 mean Average Precision(mAP)
mAP 是所有類(lèi)別的 AP 值的平均值。它是評(píng)估多類(lèi)別目標(biāo)檢測(cè)算法整體性能的重要指標(biāo)。
1.5 Intersection over Union(IoU)
IoU 是用于衡量預(yù)測(cè)邊界框與真實(shí)邊界框之間重疊程度的指標(biāo)。IoU 計(jì)算為預(yù)測(cè)框與真實(shí)框的交集面積除以它們的并集面積。IoU 通常用于確定預(yù)測(cè)框是否與真實(shí)框匹配。
1.6 F1-score
F1-score 是 Precision 和 Recall 的調(diào)和平均值,用于綜合考慮算法的準(zhǔn)確性和召回能力。
F1-score 計(jì)算公式為:F1-score = 2 * (Precision * Recall) / (Precision + Recall)。
需要注意的是,評(píng)價(jià)指標(biāo)的選擇和解釋?xiě)?yīng)該結(jié)合具體的任務(wù)和應(yīng)用場(chǎng)景,綜合考慮多個(gè)指標(biāo)可以更全面地評(píng)估目標(biāo)檢測(cè)算法的性能。
二、基礎(chǔ)知識(shí)
當(dāng)評(píng)估分類(lèi)或目標(biāo)檢測(cè)算法性能時(shí),Precision(精確率)和 Recall(召回率)是兩個(gè)重要的指標(biāo)。它們用于衡量算法在識(shí)別目標(biāo)時(shí)的準(zhǔn)確性和召回能力。
2.1 Precision
- 定義:Precision 衡量了在所有被分類(lèi)為正樣本或檢測(cè)為目標(biāo)的樣本中,有多少是真正的正樣本或真實(shí)目標(biāo)。
- 計(jì)算公式:Precision = TP / (TP + FP),其中 TP 是真正的正樣本或目標(biāo)數(shù)量,F(xiàn)P 是將負(fù)樣本或非目標(biāo)錯(cuò)誤地標(biāo)記為正樣本或目標(biāo)的數(shù)量。
- 解釋?zhuān)篜recision 告訴我們,當(dāng)算法判斷某個(gè)樣本為正樣本或目標(biāo)時(shí),有多大概率它是正確的。較高的 Precision 表示算法在正樣本或目標(biāo)的判定上更準(zhǔn)確。
2.2 Recall
- 定義:Recall 衡量了在所有真正的正樣本或目標(biāo)中,有多少被算法正確地檢測(cè)出來(lái)了。
- 計(jì)算公式:Recall = TP / (TP + FN),其中 TP 是真正的正樣本或目標(biāo)數(shù)量,F(xiàn)N 是錯(cuò)誤地未能檢測(cè)到的正樣本或目標(biāo)數(shù)量。
- 解釋?zhuān)篟ecall 告訴我們算法在找出真實(shí)目標(biāo)方面的能力。較高的 Recall 表示算法能夠更好地檢測(cè)出真實(shí)目標(biāo)。
精確率和召回率之間存在一種權(quán)衡關(guān)系。增加閾值可以提高精確率,但可能會(huì)導(dǎo)致召回率降低,因?yàn)楦俚臉颖颈环诸?lèi)為正樣本或目標(biāo)。降低閾值可以提高召回率,但可能會(huì)導(dǎo)致精確率降低,因?yàn)楦嗟臉颖颈环诸?lèi)為正樣本或目標(biāo)。
精確率和召回率經(jīng)常一起使用,以綜合評(píng)估算法的性能。同時(shí)考慮這兩個(gè)指標(biāo)可以幫助我們了解算法的分類(lèi)或檢測(cè)能力,并找到適合特定任務(wù)需求的平衡點(diǎn)。
在某些情況下,比如類(lèi)別不平衡的數(shù)據(jù)集中,僅使用精確率或召回率可能會(huì)導(dǎo)致評(píng)估結(jié)果不準(zhǔn)確。因此,使用其他指標(biāo)如 F1-score(精確率和召回率的調(diào)和平均值)、AP(平均精確率)等能夠提供更全面的性能評(píng)估。
2.3 IoU
在目標(biāo)檢測(cè)中即計(jì)算預(yù)測(cè)邊界框與 GT 邊界框的重疊程度。
IoU(Intersection over Union)是目標(biāo)檢測(cè)中常用的評(píng)價(jià)指標(biāo),用于衡量預(yù)測(cè)邊界框與真實(shí)邊界框之間的重疊程度。它是通過(guò)計(jì)算兩個(gè)邊界框的交集面積除以它們的并集面積得到的。
具體而言,IoU 的計(jì)算公式如下:
IoU = Intersection Area / Union Area
其中,Intersection Area 是預(yù)測(cè)邊界框與真實(shí)邊界框的交集面積,而 Union Area 是它們的并集面積。
IoU 的取值范圍是0到1,其中0表示沒(méi)有重疊,1表示完全重疊。
IoU 在目標(biāo)檢測(cè)中具有重要的應(yīng)用,常用于以下幾個(gè)方面:
- 用于判斷目標(biāo)檢測(cè)算法的預(yù)測(cè)結(jié)果是否正確,通常通過(guò)設(shè)置 IoU 閾值來(lái)決定預(yù)測(cè)框是否與真實(shí)框匹配。
- 在訓(xùn)練目標(biāo)檢測(cè)算法時(shí),用于計(jì)算正樣本與預(yù)測(cè)框之間的 IoU,以確定哪些預(yù)測(cè)框是與真實(shí)目標(biāo)重疊較好的正樣本。
- 在評(píng)估目標(biāo)檢測(cè)算法性能時(shí),常用 IoU 作為指標(biāo)之一,用于衡量算法的準(zhǔn)確性和召回能力。
需要注意的是,IoU 只關(guān)注邊界框之間的重疊程度,不考慮其它因素,如類(lèi)別信息。因此,對(duì)于多類(lèi)別目標(biāo)檢測(cè)任務(wù),通常會(huì)結(jié)合 IoU 與類(lèi)別預(yù)測(cè)的準(zhǔn)確性來(lái)綜合評(píng)估算法性能。
三、mAP 的計(jì)算
參考文獻(xiàn):
https://blog.csdn.net/NooahH/article/details/90140912
首先要計(jì)算每一類(lèi)的 AP(Average Precision)。比如我們計(jì)算 person 這一類(lèi)的 AP。
這里有一組測(cè)試集圖片,每張圖片都事先標(biāo)記或未標(biāo)記出 person,這樣我們就有了 person 的 GT(Ground Truth)邊界框。
在每張測(cè)試圖片輸入模型后會(huì)得到一系列 person 類(lèi)的預(yù)測(cè)邊界框,每個(gè)邊界框都附帶有一個(gè)置信度。(注意當(dāng)我們計(jì)算 person 的 AP 時(shí)就只關(guān)注這一類(lèi)的邊界框,不考慮其他類(lèi)的,即使該圖片中存在如 dog 類(lèi)的 GT 邊界框。)
將每張測(cè)試集中的圖片進(jìn)行檢測(cè)后會(huì)得到一系列預(yù)測(cè)邊界框集合,之后將該預(yù)測(cè)邊界框集合按照置信度降序排序。
然后對(duì)于某一張測(cè)試集圖片,我們計(jì)算在該圖片上 person 類(lèi)的預(yù)測(cè)邊界框與 GT 邊界框重疊程度(即 IoU),如果 IoU 大于設(shè)定閾值(IoU 閾值的典型值為0.5)則將該邊界框標(biāo)記為 TP,否則標(biāo)記為 FP。
對(duì)測(cè)試集中每張圖片的預(yù)測(cè)邊界框均進(jìn)行如上操作(注意:在計(jì)算某一張圖片的預(yù)測(cè)框時(shí)會(huì)從預(yù)測(cè)框集合中選取該圖片的預(yù)測(cè)框)。由此會(huì)判定預(yù)測(cè)邊界框集合中每個(gè)預(yù)測(cè)邊界框?qū)儆?TP 或者 FP。
如下面3張圖,我們要檢測(cè)人臉,藍(lán)色框表示 GT,綠色框表示預(yù)測(cè)邊界框,旁邊的紅色數(shù)字為置信度:
可以得出有3個(gè) GT(GT1,GT2,GT3),3個(gè)預(yù)測(cè)框(BBox1,BBox2, BBox3)。
- 我們按照置信度降序排序預(yù)測(cè)框,這里的預(yù)測(cè)框正好是降序排序的。
- 對(duì)每張圖片中的預(yù)測(cè)框計(jì)算 IoU,可以看出 BBox1 標(biāo)記為 TP,BBox2 標(biāo)記為 FP,BBox3 標(biāo)記為 TP。
- 之后計(jì)算不同recall情況下 precision 值。前1個(gè)框,即 BBox1,計(jì)算precision = TP / (TP + FP) = 1 / (1 + 0) = 1,recall = TP / # GT = 1 / 3。(#GT 指的是測(cè)試集中所有 GT 數(shù)目,這里即為3)同理前2個(gè)框,即 BBox1,BBox2,計(jì)算 precision = 1 / (1 + 1) = 0.5,recall = 1 / 3。前3個(gè)框,即 BBox1,BBox2,BBox3,計(jì)算 precision = 2 / (2 + 1) = 2 / 3,recall = 2 / 3。我們就有了一組recall、precision值[(1 / 3, 1), (1 / 3, 0.5), (2 / 3, 2 / 3)]
- 繪制 PR 曲線如下圖,然后每個(gè)“峰值點(diǎn)”往左畫(huà)一條線段直到與上一個(gè)峰值點(diǎn)的垂直線相交。這樣畫(huà)出來(lái)的紅色線段與坐標(biāo)軸圍起來(lái)的面積就是 AP 值。這里:
按照如上方法計(jì)算其他所有類(lèi)的 AP,最后取平均值即為 mAP(mean Average Precision):
其中
C
C
C 表示總類(lèi)別數(shù)目,
A
P
i
AP_i
APi? 表示第
i
i
i 類(lèi)的 AP 值。
四、AP 計(jì)算的例子
比如說(shuō)我們的測(cè)試集中類(lèi) A 的 GT 有 7 個(gè),經(jīng)過(guò)目標(biāo)檢測(cè)模型預(yù)測(cè)到了 10 個(gè)邊界框,經(jīng)過(guò)上次排序及判斷操作,有如下結(jié)果:
按照 confidence 降序排序。從上表 TP 可以看出我們預(yù)測(cè)正確 5 個(gè)(TP = 5),從 FP 看出預(yù)測(cè)錯(cuò)誤 5 個(gè)(FP = 5)。除了表中已預(yù)測(cè)到的 5 個(gè) GT,還有 2 個(gè) GT 并未被預(yù)測(cè)出來(lái)(FN = 2)。
接下來(lái)計(jì)算 AP,計(jì)算前 * 個(gè) BBox 得到的 precision 和 recall :
在計(jì)算 precision 和 Recall 時(shí) Rank * 指的是前 * 個(gè)預(yù)測(cè)邊界框的 TP 和 FP 之和。
同樣可以通過(guò)繪制 PR 曲線計(jì)算線下面積,如下圖所示:
AP值即淺藍(lán)色圖形的面積,藍(lán)色折線為recall、precision點(diǎn)。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-805979.html
文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-805979.html
到了這里,關(guān)于【計(jì)算機(jī)視覺(jué) | 目標(biāo)檢測(cè)】目標(biāo)檢測(cè)中的評(píng)價(jià)指標(biāo) mAP 理解及計(jì)算(含示例)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!