目標(biāo)檢測器性能評估工具包
點(diǎn)擊上方“AI算法與圖像處理”,選擇加"星標(biāo)"或“置頂”
重磅干貨,第一時間送達(dá)
來源:卡本特
目標(biāo)檢測和實例分割已經(jīng)是計算機(jī)視覺中一個基礎(chǔ)應(yīng)用了,隨著深度學(xué)習(xí)的發(fā)展,目標(biāo)檢測領(lǐng)域也是取得顯著的進(jìn)步。通常,衡量一個目標(biāo)檢測或者分割算法的精度那就是一個指標(biāo):mAP
mAP
首先計算Precision和Recall
對于不同的IoU,IoU > {0,0.1,0.2...0.9,1.0},分別計算True/False Positive/Negtive
Precision = True Positive/(True Positive + False Positive)
Recall = True Positive/(True Positive + False Negtive)
對于不同IoU閾值的時候
True Positive = IoU大于閾值的時候檢測出來的目標(biāo)數(shù)量


mAP指標(biāo)存在許多的缺點(diǎn),其中很重要的一點(diǎn)就是它的復(fù)雜性。它被定義為不同目標(biāo)PR曲線與坐標(biāo)軸包圍的面積的平均值,通過IoU閾值來判斷是否分類成功。不同的IoU閾值得到的指標(biāo)又是不同的,所以coco又提出一種新的方法,mAP0.5:0.95。這樣通過分別計算不同閾值下的mAP,再做平均,看起來就更科學(xué)一些了。
目標(biāo)檢測中的mAP含義[1]
盡管這種計算方法可以反映出檢測器的性能,但是當(dāng)我們要去分析誤檢情況的時候,mAP就給不了任何參考信息了。mAP很簡潔地概括了一個模型的性能,但是很難將誤檢的情況與mAP分開,誤檢可能是重復(fù)檢測,錯誤分類,錯誤定位等,所以僅憑mAP是很難診斷檢測器性能的
知乎上討論mAP是否科學(xué)的一個問題[2]
另外,mAP只能說通過一個通用的指標(biāo)來衡量檢測器性能好壞,但是在不同的應(yīng)用領(lǐng)域,其好壞不能一概而論。例如,目標(biāo)檢測在醫(yī)學(xué)領(lǐng)域中的應(yīng)用,醫(yī)生更傾向于檢測結(jié)果分類的準(zhǔn)確性,bbox稍微偏一些沒關(guān)系;在機(jī)器人或自動駕駛領(lǐng)域,更加傾向于bbox位置要準(zhǔn),以便于位置信號處理,例如機(jī)器手的抓取。
TIDE
TIDE[3],這篇文章中總結(jié)了,一個完整的目標(biāo)檢測性能評估工具包應(yīng)該包括以下幾個方面
?精簡總結(jié)錯誤類型,以便一眼就能進(jìn)行比較?每一種錯誤類型應(yīng)該被完全隔離,不具有耦合性?不依賴于數(shù)據(jù)集格式,可以跨數(shù)據(jù)集比較?可以根據(jù)需要進(jìn)行更精細(xì)的分析,從而隔離錯誤原因分析
TIDE其實就是一個工具包,目前已經(jīng)開源,github鏈接[4]
此工具包將誤檢情況分為了幾個類別,Classification Error,Localization Error,Both Cls and Loc Error,Duplicate Detection Error,Background Error,Missed GT Error

針對不同的算法,可以輸出詳細(xì)的對比數(shù)據(jù)圖標(biāo)

安裝
pip install tidecv
使用
from tidecv import TIDE, datasetstide = TIDE()tide.evaluate(datasets.COCO(), datasets.COCOResult('path/to/your/results/file'), mode=TIDE.BOX)tide.summarize()tide.plot()
運(yùn)行之后,就會在終端打印出信息和繪制出圖表


TIDE目前支持的數(shù)據(jù)集格式有COCO,LVIS,PascalVOC,Cityscapes
后面會提供處理自定義數(shù)據(jù)集格式的api
References
[1] 目標(biāo)檢測中的mAP含義: https://www.zhihu.com/question/53405779/answer/419532990[2] 知乎上討論mAP是否科學(xué)的一個問題: https://www.zhihu.com/question/337856533/answer/805122425[3] TIDE: https://dbolya.github.io/tide/paper.pdf[4] github鏈接: https://github.com/dbolya/tide
下載1:動手學(xué)深度學(xué)習(xí)
在「AI算法與圖像處理」公眾號后臺回復(fù):動手學(xué)深度學(xué)習(xí),即可下載547頁《動手學(xué)深度學(xué)習(xí)》電子書和源碼。該書是面向中文讀者的能運(yùn)行、可討論的深度學(xué)習(xí)教科書,它將文字、公式、圖像、代碼和運(yùn)行結(jié)果結(jié)合在一起。本書將全面介紹深度學(xué)習(xí)從模型構(gòu)造到模型訓(xùn)練,以及它們在計算機(jī)視覺和自然語言處理中的應(yīng)用。
個人微信(如果沒有備注不拉群!) 請注明:地區(qū)+學(xué)校/企業(yè)+研究方向+昵稱

