错误类型、混淆矩阵及目标检测常用评价指标
目標檢測常用評價指標
本文主要參考陳愷大佬在B站商湯賬號的介紹mmdetection的視頻。
檢測結果的正確/錯誤類型
真陽性(Ture Positive):算法檢測到了某類物體(Positive),而實際圖中也確實有這個物體,檢測結果正確(True)。
假陽性(False Positive):算法檢測到了某類物體(Postive),但是圖中沒有這個物體,檢測結果錯誤(False)。 又稱為誤檢
假陰性(False Negtive):算法沒有檢測到某類物體(Negtive),但是圖中有這個物體,檢測結果錯誤(False)。 又稱為漏檢
左下實線框中確實有只貓,也檢測到了,即TP。
右下實線框內沒有物體,但是檢測到了,即FP。
右上虛線框內有屏幕,但是沒有檢測到,即FN。
實際上,二元的混淆矩陣是這樣的:
一定要注意:初次面對這些概念時,兩個字母表示四種可能性,可能會自然而然地認為前后字母分別代表真實值和預測值的真假,但實際上不是這樣的。
P/N確實是表示預測值是真或假,而T/F可不是表示真實值的真或假。T/P 和 F/N 的真正含義是:
- T/F:表示預測的對不對,代表的是預測值與真實值之間的關系
- P/N:表示預測值是真還是假,代表模型對某個樣本的預測結果
這個一定要弄清楚,別被混淆矩陣把自己搞“混淆”了。
準確率Precision與召回率Recall
召回率=正確結果總數真值框總數,即Recall=TPTP+FN召回率=\frac{正確結果總數}{真值框總數}, \ \ 即\ \ \ Recall=\frac{TP}{TP+FN} 召回率=真值框總數正確結果總數?,??即???Recall=TP+FNTP?
準確率=正確結果總數檢測框總數,即Precision=TPTP+FP準確率=\frac{正確結果總數}{檢測框總數}, \ \ 即\ \ \ Precision=\frac{TP}{TP+FP} 準確率=檢測框總數正確結果總數?,??即???Precision=TP+FPTP?
真值框總數與檢測算法無關,因此只需將檢測結果區(qū)分為正確(TP)和誤檢(FP)即可計算recall和precision。
兩種極端的情況:
最理想的情況當然是召回率和準確率都為 100%,但在算法能力有限的現實情況下,我們應當盡可能地平衡二者。
通常做法是將檢測框按照置信度排序,并設置一個置信度閾值,僅輸出置信度大于該閾值的若干個框。
PR曲線和AP值
以上的做法無疑會受到閾值的選取的影響,為了得到和閾值無關的評分,我們可以遍歷閾值,并對召回率和準確率求平均。
具體做法:
檢測框按照置信度排序,取前 KKK 個框計算Precision和Recall。
遍歷 KKK 從1到全部檢測框,將得到的Precision和Recall繪制在坐標系上,得到PR曲線。
AP=∫01P(R)dRAP = \int_0^1P(R)dR AP=∫01?P(R)dR
Mean AP
分類別統計AP,并按類別平均得到Mean AP。
Mean AP的完整計算流程:
- 按置信度將該類別所有檢測框排序
- 逐一與真值框比較,判定TP或FP,并繪制PR曲線
- 對PR曲線插值,計算AP
mAP=1C∑i=1C∫01P(R)dRmAP=\frac{1}{C}\sum_{i=1}^C\int_0^1P(R)dR mAP=C1?i=1∑C?∫01?P(R)dR CCC 是全部類別數。
部分數據集(如COCO),還需要在不同的IOU閾值下計算Mean AP并平均,作為最終評分,這可以衡量檢測器在不同定位精度要求下的性能。
AP、AP50、AP75
以上我們討論的是在固定 IOU 下的 mAP 結果,我們也提到,有時會對不同的 IOU 也做測試,并記錄性能。我們經常在論文中見到 AP、AP50、AP75 這樣的指標就是指的在不同的 IOU 下的 mAP 結果。
具體來說:
- AP50、AP75:這樣在 AP 后面帶數字的,很好理解,即分別是在 IOU 為 50、75 下的 mAP 值。
- AP:這樣不帶數字的 AP 指標通常指的是 AP@50:5:95,表示 IOU 從 50 ,取到95,步長為5(即50, 55, 60, 65, …, 90, 95),分別計算這些 IOU 值下的 mAP,再求平均。
?
總結
以上是生活随笔為你收集整理的错误类型、混淆矩阵及目标检测常用评价指标的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基金净值高了好还是低了好 了解不同基金
- 下一篇: 光伏类股票有哪些 大家可以多多的了解