【必備】目標(biāo)檢測中的評(píng)價(jià)指標(biāo)有哪些?
在人工智能領(lǐng)域,機(jī)器學(xué)習(xí)的效果需要用各種指標(biāo)來評(píng)價(jià)。當(dāng)一個(gè)目標(biāo)檢測模型建立好了之后,即模型訓(xùn)練已經(jīng)完成,我們就可以利用這個(gè)模型進(jìn)行分類識(shí)別。那么該如何去評(píng)價(jià)這個(gè)模型的性能呢?
上期我們一起學(xué)習(xí)了全卷積神經(jīng)網(wǎng)絡(luò)FCN,今天我們看下目標(biāo)檢測中的評(píng)價(jià)指標(biāo)都有哪些?
今天我們從交并比,準(zhǔn)確率,精度,召回率,FPR, F1-Score, PR曲線,ROC曲線,AP的值,AUC的值以及很重要的mAP指標(biāo),模型的檢測速度和非極大值抑制的相關(guān)方面來學(xué)習(xí)下目標(biāo)檢測中的評(píng)價(jià)指標(biāo)。
1. 交并比 — IoU
交并比IoU是英文intersection over union的簡寫,意思是檢測結(jié)果的矩形框與樣本標(biāo)注的矩形框的交集與并集的比值。如下圖:
上圖中假設(shè)A為模型的檢測結(jié)果,B為Ground Truth即樣本的標(biāo)注結(jié)果,那么A與B相交的區(qū)域即為A∩B,而A與B的并集即為AB共有的區(qū)域A∪B,那么IoU的計(jì)算公式即為:??IoU = (A∩B) / (A∪B)?
這個(gè)還是很簡單就能理解的,反應(yīng)到樣本圖上就如下圖:
其中上圖藍(lán)色框框?yàn)闄z測結(jié)果,紅色框框?yàn)檎鎸?shí)標(biāo)注。
一般情況下對于檢測框的判定都會(huì)存在一個(gè)閾值,也就是IoU的閾值,一般可以設(shè)置當(dāng)IoU的值大于0.5的時(shí)候,則可認(rèn)為檢測到目標(biāo)物體。
2. 準(zhǔn)確率/精度/召回率/FPR/F1指標(biāo)
不管是看論文,博客啥的,都會(huì)經(jīng)常看到一堆簡寫,TP,TN,FP,FN,這些簡寫經(jīng)常見到,怎么能夠很好的記住呢?其實(shí)是這樣的:
預(yù)測值為正例,記為P(Positive)
預(yù)測值為反例,記為N(Negative)
預(yù)測值與真實(shí)值相同,記為T(True)
預(yù)測值與真實(shí)值相反,記為F(False)那么從上面可以知道:
TP -- 預(yù)測值和真實(shí)值一樣,預(yù)測值為正樣本(真實(shí)值為正樣本)
TN -- 預(yù)測值和真實(shí)值一樣,預(yù)測值為負(fù)樣本(真實(shí)值為負(fù)樣本)
FP -- 預(yù)測值和真實(shí)值不一樣,預(yù)測值為正樣本(真實(shí)值為負(fù)樣本)
FN -- 預(yù)測值和真實(shí)值不一樣,預(yù)測值為負(fù)樣本(真實(shí)值為正樣本)這樣記起來是不是就好記了呢?知道了這幾個(gè)定義,下面就好理解了。
2.1 準(zhǔn)確率
準(zhǔn)確率accuracy是我們最常見的評(píng)價(jià)指標(biāo),這個(gè)很容易理解,就是被分對的樣本數(shù)除以所有的樣本數(shù),通常來說,正確率越高,分類器越好,如下:
accuracy = (TP+TN)/(TP+TN+FP+FN)上公式中的TP+TN即為所有的正確預(yù)測為正樣本的數(shù)據(jù)與正確預(yù)測為負(fù)樣本的數(shù)據(jù)的總和,TP+TN+FP+FN即為總樣本的個(gè)數(shù)。
2.2 精度
精度precision是從預(yù)測結(jié)果的角度來統(tǒng)計(jì)的,是說預(yù)測為正樣本的數(shù)據(jù)中,有多少個(gè)是真正的正樣本,即“找的對”的比例,如下:
precision = TP/( TP+FP)上公式中的TP+FP即為所有的預(yù)測為正樣本的數(shù)據(jù),TP即為預(yù)測正確的正樣本個(gè)數(shù)。
2.3 召回率/TPR
召回率recall和TPR(靈敏度(true positive rate))是一個(gè)概念,都是從真實(shí)的樣本集來統(tǒng)計(jì)的,是說在總的正樣本中,模型找回了多少個(gè)正樣本,即“找的全”的比例,如下:
recall/TPR = TP/(TP+FN)上公式中的TP+FN即為所有真正為正樣本的數(shù)據(jù),而TP為預(yù)測正確的正樣本個(gè)數(shù)。
2.4 FPR
FPR(false positive rate),它是指實(shí)際負(fù)例中,錯(cuò)誤的判斷為正例的比例,這個(gè)值往往越小越好,如下:
FPR = FP/(FP+TN)其中,FP+TN即為實(shí)際樣本中所有負(fù)樣本的總和,而FP則是指判斷為正樣本的負(fù)樣本。
2.5 F1-Score
F1分?jǐn)?shù)(F1-score)是分類問題的一個(gè)衡量指標(biāo)。F1分?jǐn)?shù)認(rèn)為召回率和精度同等重要, 一些多分類問題的機(jī)器學(xué)習(xí)競賽,常常將F1-score作為最終測評(píng)的方法。它是精確率和召回率的調(diào)和平均數(shù),最大為1,最小為0。計(jì)算公式如下:
F1 = 2TP/(2TP+FP+FN)此外還有F2分?jǐn)?shù)和F0.5分?jǐn)?shù)。F2分?jǐn)?shù)認(rèn)為召回率的重要程度是精度的2倍,而F0.5分?jǐn)?shù)認(rèn)為召回率的重要程度是精度的一半。計(jì)算公式為:
更一般地,我們可以定義Fβ(precision和recall權(quán)重可調(diào)的F1 score):
Fβ = ((1+β*β)*precision*recall) / (β*β*precision + recall)常用的如F2和F0.5。
3. PR曲線—AP值/ROC曲線-AUC值
上面學(xué)習(xí)了關(guān)于精度,召回率,FPR,和F1-Score的知識(shí),但是通常,只有那些往往不能夠直觀的反應(yīng)模型性能,所以就有了PR曲線,ROC曲線,AUC值。
3.1 PR曲線和AP的值
PR曲線,就是precision和recall的曲線,PR曲線中precision為縱坐標(biāo),recall為橫坐標(biāo),如下圖:
評(píng)估能力
那么PR曲線如何評(píng)估模型的性能呢?從圖上理解,如果模型的精度越高,召回率越高,那么模型的性能越好。也就是說PR曲線下面的面積越大,模型的性能越好。繪制的時(shí)候也是設(shè)定不同的分類閾值來獲得對應(yīng)的坐標(biāo),從而畫出曲線。
優(yōu)缺點(diǎn)
PR曲線反映了分類器對正例的識(shí)別準(zhǔn)確程度和對正例的覆蓋能力之間的權(quán)衡。
PR曲線有一個(gè)缺點(diǎn)就是會(huì)受到正負(fù)樣本比例的影響。比如當(dāng)負(fù)樣本增加10倍后,在racall不變的情況下,必然召回了更多的負(fù)樣本,所以精度就會(huì)大幅下降,所以PR曲線對正負(fù)樣本分布比較敏感。對于不同正負(fù)樣本比例的測試集,PR曲線的變化就會(huì)非常大。
平均準(zhǔn)確率AP
AP即Average Precision,稱為平均準(zhǔn)確率,是對不同召回率點(diǎn)上的準(zhǔn)確率進(jìn)行平均,在PR曲線圖上表現(xiàn)為PR曲線下面的面積。AP的值越大,則說明模型的平均準(zhǔn)確率越高。
3.2 ROC曲線和AUC值
ROC的全稱是Receiver Operating Characteristic Curve,中文名字叫“受試者工作特征曲線”,對于ROC來說,橫坐標(biāo)就是FPR,而縱坐標(biāo)就是TPR,因此可以想見,當(dāng)TPR越大,而FPR越小時(shí),說明分類結(jié)果是較好的。如下圖:
優(yōu)缺點(diǎn)
ROC曲線有個(gè)很好的特性,當(dāng)測試集中的正負(fù)樣本的分布變換的時(shí)候,ROC曲線能夠保持不變。ROC曲線可以反映二分類器的總體分類性能,但是無法直接從圖中識(shí)別出分類最好的閾值,事實(shí)上最好的閾值也是視具體的場景所定。ROC曲線一定在y=x之上,否則就是一個(gè)不好的分類器。
AUC
AUC是Area under curve的首字母縮寫,即ROC曲線下的面積,介于0和1之間。計(jì)算方式即為ROC曲線的微積分值,其物理意義可以表示為:隨機(jī)給定一正一負(fù)兩個(gè)樣本,將正樣本排在負(fù)樣本之前的概率,因此AUC越大,說明正樣本越有可能被排在負(fù)樣本之前,即正樣本分類結(jié)果越好。
4. 平均精度均值 — mAP
mAP是英文mean average precision的縮寫,意思是平均精度均值,這個(gè)詞聽起來有些拗口,我們來仔細(xì)捋一捋。上面我們知道了什么是AP,AP就是PR曲線下面的面積(如下圖),是指不同召回率下的精度的平均值。
然而,在目標(biāo)檢測中,一個(gè)模型通常會(huì)檢測很多種物體,那么每一類都能繪制一個(gè)PR曲線,進(jìn)而計(jì)算出一個(gè)AP值。那么多個(gè)類別的AP值的平均就是mAP.
mAP衡量的是學(xué)出的模型在所有類別上的好壞,是目標(biāo)檢測中一個(gè)最為重要的指標(biāo),一般看論文或者評(píng)估一個(gè)目標(biāo)檢測模型,都會(huì)看這個(gè)值,這個(gè)值是在0-1直接,越大越好。
一般來說mAP針對整個(gè)數(shù)據(jù)集而言的,AP針對數(shù)據(jù)集中某一個(gè)類別而言的,而percision和recall針對單張圖片某一類別的。
5. 模型的檢測速度
檢測速度,這個(gè)很好理解,簡單的說就是一秒鐘能夠檢測多少張圖片。不同的目標(biāo)檢測技術(shù)往往會(huì)有不同的mAP和檢測速度,如下圖(后面我們將逐一學(xué)習(xí)):
目標(biāo)檢測技術(shù)的很多實(shí)際應(yīng)用在準(zhǔn)確度和速度上都有很高的要求,如果不計(jì)速度性能指標(biāo),只注重準(zhǔn)確度表現(xiàn)的突破,但其代價(jià)是更高的計(jì)算復(fù)雜度和更多內(nèi)存需求,對于全面行業(yè)部署而言,可擴(kuò)展性仍是一個(gè)懸而未決的問題。
在實(shí)際問題中,通常需要綜合考慮mAP和檢測速度等因素。
6. 非極大值抑制(NMS)
非極大值抑制雖然一般不作評(píng)價(jià)指標(biāo),但是也是目標(biāo)檢測中一個(gè)很重要的步驟,因?yàn)橄缕诰鸵饺虢?jīng)典模型的介紹了,所以這里隨著評(píng)價(jià)指標(biāo)簡單介紹下。
單個(gè)預(yù)測目標(biāo)
NMS的英文為Non-Maximum Suppression,就是在預(yù)測的結(jié)果框和相應(yīng)的置信度中找到置信度比較高的bounding box。對于有重疊在一起的預(yù)測框,如果和當(dāng)前最高分的候選框重疊面積IoU大于一定的閾值的時(shí)候,就將其刪除,而只保留得分最高的那個(gè)。如下圖:
計(jì)算步驟:
1). NMS計(jì)算出每一個(gè)bounding box的面積,然后根據(jù)置信度進(jìn)行排序,把置信度最大的bounding box作為隊(duì)列中首個(gè)要比較的對象;
2). 計(jì)算其余bounding box與當(dāng)前最大score的IoU,去除IoU大于設(shè)定的閾值的bounding box,保留小的IoU預(yù)測框;
3). 然后重復(fù)上面的過程,直至候選bounding box為空。
多個(gè)預(yù)測目標(biāo)
當(dāng)存在多目標(biāo)預(yù)測時(shí),如下圖,先選取置信度最大的候選框B1,然后根據(jù)IoU閾值來去除B1候選框周圍的框。然后再選取置信度第二大的候選框B2,再根據(jù)IoU閾值去掉B2候選框周圍的框。
至此,我們已經(jīng)學(xué)習(xí)了交并比,準(zhǔn)確率,精度,召回率,FPR, F1-Score, PR曲線,ROC曲線,AP的值,AUC的值以及很重要的mAP指標(biāo),模型的檢測速度和非極大值抑制的相關(guān)知識(shí),希望大家有所收獲。
下期我們將開始介紹比較經(jīng)典的目標(biāo)檢測模型。
