【CV】目标检测:常用名词与mAP评价指标的引出
計算機視覺|機器視覺|機器學習|深度學習
編者薦語
?mAP(mean average precision)是目標檢測中衡量識別精度的一種重要的人為設計的評價指標。文章首先給大家介紹幾種常見的目標檢測領域名詞,然后逐步引出今天的主角mAP。
本文主要是為了引出mAP,其他過于淺顯的地方大家可以在公眾中搜索詳細的文章(基本都會有的。。。如果沒有我后期補上)了解。
IOU(Intersection over Union,交并比)
預測框(Prediction)與原標記框(Ground truth)之間的交集面積除以他們之間的并集面積。
Confidence Score
Confidence Score 置信度分數是一個分類器(Classifier)預測一個錨框(Anchor Box)中包含某個對象的概率(Probability)。通過設置Confidence Threshold置信度閾值可以過濾掉(不顯示)小于threshold的預測對象。
Confidence Score和IoU共同決定一個檢測結果(detection)是Ture Positive還是False Positive。
在目標檢測中當一個檢測結果(detection)被認為是True Positive時,需要同時滿足下面三個條件:
1.Confidence Score > Confidence Threshold;
2.預測類別匹配(match)真實值(Ground truth)的類別;
3.預測邊界框(Bounding box)的IoU大于設定閾值。
不滿足條件2或條件3,則認為是False Positive。
當對應同一個真值有多個預測結果時(In case multiple predictions correspond to the same ground-truth),只有最高置信度分數的預測結果被認為是True Positive,其余被認為是False Positive。
正樣本&負樣本
對于分類問題:正樣本是我們想要正確分類出的類別樣本,而負樣本原則上是可以選擇任意非正樣本的樣本,但應考慮實際應用場景加以選擇;
對于檢測問題:常見的兩階段檢測框架,一般會按照一定規則生成一些預測框Anchor boxes,從中選擇一部分作為正樣本,一部分作為負樣本,其余部分則進行舍棄處理,雖然在不同的框架里有不同的選擇策略,但大多都是根據IOU來決定的(通常情況下正樣本只有一個,負樣本則有許多。CNN一般0.5以上則認為是正樣本);一階段檢測框架同上。
TP、FP、FN與TN(混淆矩陣(confusion matrix)中得到的分類指標)
TP(True Positives):預測框與Ground truth(“數據真實值”,物體的類別及其真實邊界框)之間的IOU大于閾值(一般取0.5)的個數(同一Ground Truth只計算一次);
FP(False Positives):預測框與Ground truth之間的IOU小于等于閾值的個數;
FN(False Negatives):應該有Ground truth,但未被檢測出的個數。
理論上剩余部分則為TN(True Negative)。
P.S.因為在一般的目標檢測中,沒有真正的負例之說。自然也不存在TN。
Accuracy(ACC,正確率)、Precision(P,)與Recall (R,查全率)
正確率表示:實際為正樣本被預測為正樣本個數占所有樣本個數的比例,公式為:
Accuracy=TP/(TP+FP+TN+FN);
查準率表示:實際為正樣本被預測為正樣本個數占所有被預測為正樣本個數的比例,公式為:
Precision = TP/(TP+FP);
查全率表示:實際為正樣本被預測為正樣本個數占所有正樣本個數的比例,公式為:
Recall = TP/(TP+FN)。
從上面的公式中可以看出,理想情況下我們希望P(Precision)與R(Recall)的值越高越好,但某些情況下P與R的值卻是矛盾的。不同的情況下對P與R的偏重不同,可以引入F1-Measure或者繪制P-R曲線來進行綜合考慮。
F-Measure(F-Score)評價指標
F-Measure:
其中:β是參數,P是準確率,R是召回率。
F-Measure是精準率(查準率,Precision)和召回率(查全率,Recall)的加權調和平均,是IR(信息檢索)領域的常用的一個評價標準,常用于評價分類模型的好壞。
當參數β=1時,變成F1-Measure:
在不同的情況下,對精準率和召回率的偏重是不一樣的,可以通過調節參數β的值使F-Measure滿足我們的偏重要求。
下面分析一下參數β(取值范圍0-正無窮)對F-Measure的影響。
當參數β=0,F=P,退化為精準率;
當參數β>1時,召回率有更大影響,可以考慮為,β無窮大時,分母中的R和分子中的1都可忽略不計,則F=R,只有召回率起作用;
當參數0<β<1時,精準率有更大影響,可以考慮為,β無限接近0時,分母中的β2P和分子中的β2都可忽略不計,則F=P,只有精準率起作用。
P-R曲線
縱坐標為Precision,橫坐標為Recall。Precision-Recall曲線可以衡量目標檢測模型的好壞,但不便于模型和模型之間比較,所以我們引入了P-R曲線以解決此類問題。
改變不同的置信度閾值,可以獲得多對Precision和Recall值,Recall值放X軸,Precision值放Y軸,可以畫出一個Precision-Recall曲線,簡稱P-R曲線。
AP(Average precision)
根據2010年后的新標準,在Precision-Recall曲線基礎上,通過計算每一個recall值對應的Precision值的平均值,可以獲得一個數值形式(numerical metric)的評估指標:AP(Average Precision),用于衡量的是訓練出來的模型在感興趣的類別上的檢測能力的好壞。
在計算AP前,為了平滑P-R曲線,減少曲線抖動的影響,首先對P-R曲線進行插值(interpolation)。
給定某個recall值r,用于插值的P_interp為下一個recall值r’,與當前r值之間的最大的Precision值。
插值效果動圖如下圖所示:
根據新標準,AP計算也可以定義為經過插值的precision-recall曲線、X軸與Y軸圍成的多邊形的面積。這種方式稱為:AUC (Area under curve)
r1,r2,…,rn是按升序排列的Precision插值段第一個插值處對應的recall值。
mAP(Mean Average Precision)
多個類別的目標檢測中,每一個類別都可以繪制一條P-R曲線,各類別AP的均值(即所有類別的AP和/類別數目)即是mAP,mAP衡量的是訓練出來的模型在所有類別上的檢測能力的好壞。
假設有K種類別,K>1,那么mAP的計算公式為:
總結
mAP曾主要針對COCO數據集,AP曾主要針對VOC數據集,二者都屬于人為定義的評價指標,初學者不必深究為何如此設計,先大致了解他們的主要作用,隨著嚴重的深入,認識自然會逐漸清晰。
—THE END—
總結
以上是生活随笔為你收集整理的【CV】目标检测:常用名词与mAP评价指标的引出的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 腾讯视频网页下载_腾讯视频怎么下载视频
- 下一篇: C++11新特性探究:显式overrid