真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何進行mAP計算的思考

這篇文章主要為大家分析了如何進行mAP計算的思考的相關(guān)知識點,內(nèi)容詳細易懂,操作細節(jié)合理,具有一定參考價值。如果感興趣的話,不妨跟著跟隨小編一起來看看,下面跟著小編一起深入學(xué)習(xí)“如何進行mAP計算的思考”的知識吧。

成都創(chuàng)新互聯(lián)主營遷安網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營網(wǎng)站建設(shè)方案,重慶APP軟件開發(fā),遷安h5小程序開發(fā)搭建,遷安網(wǎng)站營銷推廣歡迎遷安等地區(qū)企業(yè)咨詢

1. 基本要求

從直觀理解,一個目標檢測網(wǎng)絡(luò)性能好,主要有以下表現(xiàn):

  • 把畫面中的目標都檢測到——漏檢少

  • 背景不被檢測為目標——誤檢少

  • 目標類別符合實際——分類準

  • 目標框與物體的邊緣貼合度高—— 定位準

  • 滿足運行效率的要求——算得快

下圖是從 Tensorflow Object Detection API 的 Model Zoo 中截取的部分模型列表。

如何進行mAP計算的思考

算得快這一點通過 Speed來體現(xiàn)。而其他因素,使用了mAP(mean average Precision) 這一個指標來綜合體現(xiàn)。

mean 和 average 都有平均的意思,因此從字面理解,mAP 指標至少從兩個方面進行了平均。

2. mAP指標計算

mAP的計算大致可以分解為以下幾步:

階段輸出關(guān)鍵變量
針對單個目標TP、FP、FNIOU(交并比)
針對單個類別PR-Curve、APConfidence(置信度)
針對測試集全集mAP

2.1 輸出檢測結(jié)果

針對不同類型的目標檢測網(wǎng)絡(luò),模型推理的原始輸出可能的形式多種多樣。

首先需要完成目標解碼,生成標準化的目標列表,至少包含每個目標的:

  • 類別

  • 2DBBox

  • 置信度

這里的置信度與推理使用時的置信度閾值有差別,沒有固定的閾值,只要在該通道有響應(yīng),都輸出為目標。

不同類型的網(wǎng)絡(luò),置信度數(shù)值的含義也不同,因此也無法設(shè)定一個統(tǒng)一的閾值。

2.2 針對單個目標

針對單個目標,問題簡化為分類結(jié)果的判定。

首先將 GT(Ground Truth) 和 Predictions分別按照各自的類別分組。

在每一個類別內(nèi),對 GTPredictions兩組數(shù)據(jù)進行匹配,匹配的依據(jù)是 IOU。

匹配結(jié)果可能有如下幾種:

  • TP(True Positive):一個正確的檢測,IOU ≥ threshold。即預(yù)測的目標分類正確,且邊框與 GT 重合度夠高。

  • FP(False Positive):一個錯誤的檢測,沒有匹配上 GT 的目標,或IOU < threshold。即預(yù)測的目標分類不正確,或邊框與 GT 重合度不夠高。

  • FN(False Negative):漏檢的 GT。即沒有被匹配上目標的 Ground Truth。

2.3 針對單個類別

完成對整個測試集上每個目標的判斷后,分類別統(tǒng)計 PrecisionRecall

  • Precision:準確率(查準率),模型只找正確目標的能力。

    Precision = TP / (TP + FP),其中 TP+FP 即模型找到的所有目標。

  • Recall:召回率(查全率),模型找到所有目標的能力。

    Recall = TP / (TP + FN),其中 TP+FN 即所有的 GT。

在單個目標的處理步驟中,只需要記錄TP。則對于所有檢測目標,非TP即為FP,對于所有 GT,非TP即為FN。

當設(shè)定不同的 Confidence 閾值時,輸出的檢測目標數(shù)量不同,由此計算得到的 PrecisionRecall也不同。

根據(jù)不同的閾值,可以得到一系列 PrecisionRecall的值,連起來即可得到PR曲線。

在實際操作中,將所有目標按照置信度從高到低排序,每一步都只累加一個目標,統(tǒng)計當前的P-R值。

如何進行mAP計算的思考

PR曲線示例如上圖所示。

PR曲線會有折線的原因。每累加一步,如果:

  • 當前累加的目標是FP,則 Recall 值不變, Precision 值變小,對應(yīng)圖中豎直向下的線段;

  • 當前累加的目標是TP,則 Recall 和 Precision 都變大,對應(yīng)圖中斜向右上方的線段。

2.4 針對全集

至此,針對每一個類別,都計算得到一條PR曲線。

PR曲線與x軸所圍成的面積,即為當前類別的AP值。

Average 是指對不同 Confidence 閾值下的結(jié)果進行平均。

所有類別AP值的均值,即為 mAP。

mean 是指對不同類別之間結(jié)果進行平均。

3. 存在問題及改進思路

3.1 問題

(1)誤檢/漏檢少、分類準、定位準,這些要求并沒有在 mAP 的整個計算過程中一直傳導(dǎo)到最終結(jié)果。

首先按照目標類別進行分類處理。

在對單個目標的處理中,將IOU作為匹配的指標,將檢測到的目標二分類為TP/FP。在選定IOU閾值后,TP/FP的分配也就確定了。在后續(xù)的步驟中,目標被抽象為正確/錯誤兩類,但正確或錯誤的程度被忽略了。

下圖為 IOU=0.5 時的極限情況示意:

如何進行mAP計算的思考

類似的IOU值實際可能代表的不同情況:

如何進行mAP計算的思考

在對所有目標的處理中,主要考察不同的 Confidence 閾值下,檢測出正確目標的能力。

因此,誤檢/漏檢少、分類準、定位準這幾個要求是按照一種串行的方式,分階段組織起來的。

(2)問題是多樣化的,只用一個指標,沒法知道目前的性能瓶頸在哪里。

根據(jù) mAP 的高低,我們只能較為概括地知道網(wǎng)絡(luò)整體性能的好壞,但比較難分析問題具體在哪。

舉幾個例子:

  • 如果網(wǎng)絡(luò)輸出的框很貼合,選擇合適的 Confidence 閾值時,檢出和召回也較均衡,但是目標的類別判斷錯誤較多。由于首先根據(jù)類別結(jié)果分類處理,只要類別錯了,定位、檢出和召回都很好,mAP 指標也不會高。但從結(jié)果觀察,并不能很明確知道,問題出在類別判斷上。

    比如 Faster-RCNN 系列網(wǎng)絡(luò),如果 RPN 部分效果很好,但是 RCNN 部分效果很差,只根據(jù) mAP, 是無法判斷出來的。

  • 如果兩個網(wǎng)絡(luò)的其他性能表現(xiàn)都類似,但是輸出框的定位精度不同。對于大部分判定為 TP 的目標,一個網(wǎng)絡(luò)的目標 IOU 值很高,框非常貼合 GT;另一個網(wǎng)絡(luò)的目標 IOU 值剛剛超過閾值。理論上這樣兩個網(wǎng)絡(luò)計算出來的 mAP 值是類似的,但實際使用的表現(xiàn)是有差別的。

(3)mAP 指標關(guān)注的點,與實際應(yīng)用時關(guān)注的點,并不完全吻合

mAP 會統(tǒng)計所有 Confidence 值下的 PR值,而實際使用時,會設(shè)定一個 Confidence 閾值,低于該閾值的目標會被丟棄,這部分目標在統(tǒng)計 mAP 時也會有一定的貢獻。部分針對比賽刷榜的漲點技巧,會關(guān)注這部分檢測結(jié)果對 mAP 的影響。

此外,在 ADAS 應(yīng)用(特別是車輛檢測)中一些比較關(guān)心的點,mAP 指標并沒有很好地體現(xiàn)。比如:

  • 最關(guān)心正前方近處的目標,對遠處側(cè)面的目標關(guān)注度相對低

  • 關(guān)注目標框的下沿和寬度,而對上沿的要求不高

  • 關(guān)注連續(xù)幀中,同一個目標檢測結(jié)果的穩(wěn)定性和連續(xù)性

  • 不同的類別錯判,嚴重程度不同(比如卡車誤判為客車問題不大,行人誤判為車輛問題就比較大)

3.2 改進

(1)考察不同 IOU 閾值下的性能表現(xiàn)

在 VOC 標準的 mAP 計算中,只取 IOU=0.5 一個閾值。

MS-COCO 標準對此進行了改進,取0.5:0.05:0.95等間隔的11個閾值,分別統(tǒng)計:

  • AP:在所有11個 IOU 閾值上計算出來的 mAP 的均值(最主要的度量指標)

  • AP@.5IOU:閾值取0.5時的 mAP 值(等價于 VOC mAP)

  • AP@.75IOU:閾值取0.75時的 mAP 值

此外還針對目標大小分別進行了統(tǒng)計:

  • AP(small):像素面積小于32^2的目標,在所有11個 IOU 閾值上的AP

  • AP(medium):像素面積介于32^2和96^2之間的目標,在所有11個 IOU 閾值上的AP

  • AP(large):像素面積大于96^2的目標,在所有11個 IOU 閾值上的AP

此外,還有 AR (Average Recall)相關(guān)的一系列指標。

可見, COCO mAP對檢測性能進行了更全面的評估,改進了單一 IOU 閾值的問題。

COCO mAP 的計算可以直接使用pycocotools,將檢測結(jié)果按照規(guī)定的格式提供,即可自動完成計算。

(2)統(tǒng)一訓(xùn)練和評測的指標

在網(wǎng)絡(luò)訓(xùn)練過程中,location 分支的輸出通常會用IOU Loss去進行優(yōu)化,目前已經(jīng)升級到DIOUCIOU。

那么在測試過程中,也可以將 IOU 指標替換為類似 DIOU 或 CIOU 的版本,實現(xiàn)更合理的評價,以及訓(xùn)練和評測的統(tǒng)一。

(3)設(shè)計更多自定義的指標

mAP是一個基準指標,屬于規(guī)定動作,可以用來比較不同網(wǎng)絡(luò),包括與開源模型、外部團隊開發(fā)的模型等進行比較。

此外,基于我們關(guān)心的模型性能表現(xiàn),可以設(shè)計一些額外的指標。包括:

  • mAP 計算過程中,可拆分出來的的一些中間指標

  • mAP 沒有涵蓋到的指標

(4)模型使用時的閾值選擇

使用模型進行推理時,在目標解碼過程中涉及 Confidence 閾值的選取。通常是采用一刀切的方式,選擇一個統(tǒng)一的閾值。

在 mAP 的計算過程中,會輸出每個類別的PR曲線。一個典型PR曲線的示意如下:

如何進行mAP計算的思考

根據(jù)PR曲線,既可以找到一個數(shù)學(xué)意義上的最優(yōu)點,也可以根據(jù)實際使用時,對于誤檢和漏檢的不同容忍程度,選定一個權(quán)衡值。

可以根據(jù)每個類別的不同情況,選取不同的 Confidence 閾值,來讓每一個類別的檢測結(jié)果達到最優(yōu)。

在實際操作中,可先根據(jù) class 通道的結(jié)果,判定類別,再根據(jù) conf 通道的結(jié)果和不同的閾值,篩選檢出的目標。

對于類別性質(zhì)差異較大,類別不均衡現(xiàn)象較為嚴重的案例,可以實現(xiàn)更理想的輸出。

比如,在ADAS應(yīng)用中,對于車輛目標、行人目標、交通標識目標的識別要求可能存在差異。根據(jù)各自的PR曲線去定制閾值,是一個更合理的選擇。

關(guān)于“如何進行mAP計算的思考”就介紹到這了,更多相關(guān)內(nèi)容可以搜索創(chuàng)新互聯(lián)以前的文章,希望能夠幫助大家答疑解惑,請多多支持創(chuàng)新互聯(lián)網(wǎng)站!


當前題目:如何進行mAP計算的思考
文章分享:http://weahome.cn/article/gsgohd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部